Complete S07 daily-loop UAT closure

This commit is contained in:
2026-03-27 10:03:31 +01:00
parent e03f2e90a3
commit 44ff64896a
8 changed files with 204 additions and 7 deletions
+1
View File
@@ -11,3 +11,4 @@
- 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.
- `scripts/s06-preflight.sh` intentionally exits 0 on the auth-limited path where `/api/auth/config` is reachable but `/api/admin/system` returns 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.tsx` can fail with `react-scripts: not found` even when `job-tracker-ui/node_modules` already exists from an older install state; rerun `npm --prefix /home/pi/development/JobTracker/.gsd/worktrees/M001/job-tracker-ui install` first, 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 Draft` and `Send And Log Email` both visible), then confirm `GET /api/jobapplications/3/followup-draft` succeeds from the authenticated browser context and that no `POST /api/jobapplications/3/send-followup` request appears during the observed pass.