e03f2e90a3
- "docs/s07-uat.md" - "job-tracker-ui/package-lock.json" - ".gsd/KNOWLEDGE.md" - ".gsd/milestones/M001/slices/S07/tasks/T03-SUMMARY.md" GSD-Task: S07/T03
3.8 KiB
3.8 KiB
Project Knowledge
dotnet test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --filter GmailControllerTestsstill compiles the entireJobTrackerApi.Testsproject before filtering execution. If unrelated controller tests drift from production signatures, the Gmail slice verification command will fail at compile time even whenGmailControllerTestsitself is correct.- The correspondence workspace auto-refreshes linked Gmail threads once per
jobId + ExternalThreadId setusingPOST /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.Notesusing 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 JobApplicationsApplicationPackageTestsis 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 JobApplicationsFollowUpDraftTestsis now trustworthy again in this worktree after restoring the missing ASP.NET Core / Identity / xUnit test-project references inJobTrackerApi.Tests/JobTrackerApi.Tests.csproj; older task notes that require an isolated Docker harness are stale.- Running
npm --prefix job-tracker-ui startalone is not enough for browser UAT in this worktree: the frontend callshttp://localhost:5202/api/..., so without the backend (or a matching CORS/proxy setup) the UI loads but shows empty-state surfaces withnet::ERR_FAILED/CORS errors instead of real job data. - In this CRA frontend,
react-scriptsresolves the app directory from the current working directory. Run UI tests/builds fromjob-tracker-ui/(for examplecd job-tracker-ui && CI=true ./node_modules/.bin/react-scripts ...) instead of invokingnpm --prefix job-tracker-ui ...from the repo root, orreact-scriptsmay fail looking for a root-levelpackage.json. - The S06 acceptance seed must backdate both
JobApplication.FollowUpAtand the latest correspondence timestamp past the user’sAppliedFollowUpDaysthreshold;RulesEnginecomputesWaitingfollow-up from the most recent activity (DateApplied,ResponseDate,FollowUpAt,FeedbackRequestedAt, or last correspondence), so a recent reminder date can suppress the intendedworkflowSignal.actionKey = "follow-up"fixture. - In this M001 worktree, the local SQLite DB contains
admin@example.comwith theAdminrole even when the placeholderAuth:AdminPasswordfromappsettings.Development.jsonno longer authenticates. For repeatable localhost acceptance reruns,scripts/s06-acceptance-run.shcan mint a dev-only local JWT from the checked-in JWT settings instead of depending on a manual bearer-token export. scripts/s06-preflight.shintentionally exits 0 on the auth-limited path where/api/auth/configis reachable but/api/admin/systemreturns 401/403. Treat that as a guided partial pass for browser/UAT prep; only unreachable API, malformed JSON, or non-auth admin failures should block the slice.- In this M001 worktree, the focused CRA regression command
CI=true npm --prefix /home/pi/development/JobTracker/.gsd/worktrees/M001/job-tracker-ui test -- --runInBand --watch=false src/daily-control-loop.test.tsx src/workflow-trust-signals.test.tsxcan fail withreact-scripts: not foundeven whenjob-tracker-ui/node_modulesalready exists from an older install state; rerunnpm --prefix /home/pi/development/JobTracker/.gsd/worktrees/M001/job-tracker-ui installfirst, then retry the exact test command.