4.8 KiB
4.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. - In the S07 localhost acceptance pass, opening the follow-up draft tab did not emit a fresh captured network request by itself. To verify the R008 manual-send boundary without clicking the send action, use the live UI evidence (
Copy DraftandSend And Log Emailboth visible), then confirmGET /api/jobapplications/3/followup-draftsucceeds from the authenticated browser context and that noPOST /api/jobapplications/3/send-followuprequest appears during the observed pass. - In this GSD worktree alias, running frontend installs from the symlinked path can corrupt
job-tracker-ui/package-lock.jsonby writing package keys like../../../../../../.gsd/projects/.../worktrees/M001/job-tracker-ui/node_modules/.... That lockfile can still work locally but breaks CInpm cion a different checkout path. Before pushing frontend lockfile changes, verify the lock uses plainnode_modules/...package keys and test it from a different directory.