48b24b4516
- "scripts/s06-acceptance-run.sh" - "docs/s06-acceptance-run.md" - ".gsd/KNOWLEDGE.md" - ".gsd/DECISIONS.md" - ".gsd/milestones/M001/slices/S06/tasks/T03-SUMMARY.md" GSD-Task: S06/T03
12 lines
3.1 KiB
Markdown
12 lines
3.1 KiB
Markdown
# Project Knowledge
|
||
|
||
- `dotnet test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --filter GmailControllerTests` still compiles the entire `JobTrackerApi.Tests` project before filtering execution. If unrelated controller tests drift from production signatures, the Gmail slice verification command will fail at compile time even when `GmailControllerTests` itself is correct.
|
||
- The correspondence workspace auto-refreshes linked Gmail threads once per `jobId + ExternalThreadId set` using `POST /api/gmail/refresh-linked-threads`; if you need another pull in the same UI session without changing linked threads, use the explicit "Refresh linked threads" action.
|
||
- The S02 package workspace persists the application-answer draft inside `JobApplication.Notes` using the marker block `<<<APPLICATION_ANSWER_DRAFT>>> ... <<<END_APPLICATION_ANSWER_DRAFT>>>`; downstream slices should replace or parse that block instead of appending free-form notes.
|
||
- `dotnet test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --filter JobApplicationsApplicationPackageTests` is now a trustworthy direct verification command in this worktree for package-generation and notes-replacement behavior; prefer it over older isolated-harness guidance when checking S02 regressions.
|
||
- `dotnet test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --filter JobApplicationsFollowUpDraftTests` is now trustworthy again in this worktree after restoring the missing ASP.NET Core / Identity / xUnit test-project references in `JobTrackerApi.Tests/JobTrackerApi.Tests.csproj`; older task notes that require an isolated Docker harness are stale.
|
||
- Running `npm --prefix job-tracker-ui start` alone is not enough for browser UAT in this worktree: the frontend calls `http://localhost:5202/api/...`, so without the backend (or a matching CORS/proxy setup) the UI loads but shows empty-state surfaces with `net::ERR_FAILED`/CORS errors instead of real job data.
|
||
- In this CRA frontend, `react-scripts` resolves the app directory from the current working directory. Run UI tests/builds from `job-tracker-ui/` (for example `cd job-tracker-ui && CI=true ./node_modules/.bin/react-scripts ...`) instead of invoking `npm --prefix job-tracker-ui ...` from the repo root, or `react-scripts` may fail looking for a root-level `package.json`.
|
||
- The S06 acceptance seed must backdate both `JobApplication.FollowUpAt` and the latest correspondence timestamp past the user’s `AppliedFollowUpDays` threshold; `RulesEngine` computes `Waiting` follow-up from the most recent activity (`DateApplied`, `ResponseDate`, `FollowUpAt`, `FeedbackRequestedAt`, or last correspondence), so a recent reminder date can suppress the intended `workflowSignal.actionKey = "follow-up"` fixture.
|
||
- In this M001 worktree, the local SQLite DB contains `admin@example.com` with the `Admin` role even when the placeholder `Auth:AdminPassword` from `appsettings.Development.json` no longer authenticates. For repeatable localhost acceptance reruns, `scripts/s06-acceptance-run.sh` can mint a dev-only local JWT from the checked-in JWT settings instead of depending on a manual bearer-token export.
|