docs(email): record delivery adapter evidence
CI and Deploy / test (pull_request) Failing after 1m32s
CI and Deploy / deploy (pull_request) Has been skipped

This commit is contained in:
cesnimda
2026-08-09 23:48:59 +02:00
parent e9937accd8
commit d44c8ceb08
7 changed files with 40 additions and 19 deletions
+3 -2
View File
@@ -3,11 +3,12 @@
Updated: 2026-08-09
- Progress report: `docs/verification/mail-001-job-email-hub.md`
- Commands/results: `docs/audits/verification-log.md` V-126V-132
- Commands/results: `docs/audits/verification-log.md` V-126V-133
- Hub/legacy-route tests: `job-tracker-ui/src/correspondence-inbox-page.test.tsx`
- Reused review decision tests: `job-tracker-ui/src/gmail-review-page.test.tsx`
- Provider-neutral API tests: `JobTrackerApi.Tests/EmailControllerTests.cs`
- Saved-copy/tenant tests: `JobTrackerApi.Tests/CorrespondenceControllerTests.cs`
- Send-ledger tests: `JobTrackerApi.Tests/EmailSendAttemptStoreTests.cs`
- Implementation commits: `6008b4a`, `536d403`, `a20775c`, `653f011`
- Delivery adapter tests: `JobTrackerApi.Tests/EmailProviderDeliveryTests.cs`
- Implementation commits: `6008b4a`, `536d403`, `a20775c`, `653f011`, `e9937ac`
- Mocked provider data only; no real email, provider connection, private content, production service or external request was used.
+1
View File
@@ -164,3 +164,4 @@ Output was reduced to filenames and commit counts. The token artifact appears un
| V-130 | `dotnet test ... --filter FullyQualifiedName~EmailControllerTests --no-restore`; focused hub/review Jest; full backend/frontend; `npm.cmd run build`; `git diff --check` | Repository root / `job-tracker-ui` | Verify owner-scoped neutral status/search/detail, honest read-only capability UI and regression/build hygiene | PASS — provider controller 3/3; hub/review 5/5; backend 604/604; frontend 49/49 suites and 186/186 tests; production build and patch check pass | Provider tests use fakes; frontend uses mocked provider data. Full Jest took 170.377s and retained its existing force-exit/open-handle notice | Browser/provider/production verification remains |
| V-131 | Focused `EmailControllerTests|CorrespondenceControllerTests`; focused correspondence-inbox Jest; full backend/frontend; `npm.cmd run build`; `git diff --check` | Repository root / `job-tracker-ui` | Verify plain-text provider detail, owner-scoped saved fallback, malformed metadata tolerance, stale-request guard, full regressions and TypeScript | PASS — backend focused 5/5 and full 605/605; frontend focused 5/5 and full 49/49 suites, 188/188 tests; production build and patch check pass | Provider response is mocked and saved data synthetic. Full Jest took 81.434s and retains the existing force-exit/open-handle notice | Browser/real-provider/production verification remains |
| V-132 | `EmailSendAttemptStoreTests`; backend build/full tests; `dotnet ef migrations has-pending-model-changes`; SQLite/MariaDB up/down scripts; disposable SQLite upgrade/insert/rollback; cleanup verification | Repository root | Verify inert tenant send ledger, idempotency/state safety, additive provider migration and rollback | PASS — focused 3/3; backend 608/608; model current; bounded provider SQL; SQLite unique index/FK/sample row/rollback pass; temp files removed | First MariaDB script exposed SQLite-scaffolded types and was rejected; explicit provider branch corrected it. One parallel test/build attempt contended on compiler output; serial test passed. MariaDB SQL generated only, not executed | Provider/runtime limitation and corrected verification setup |
| V-133 | Focused delivery/provider/controller tests; full backend; focused inbox Jest; frontend production build; `git diff --check` | Repository root / `job-tracker-ui` | Verify explicit consent scopes, capability reporting, Gmail/Graph payloads, IMAP read-only, rejected/reauth/uncertain classification and regressions | PASS — focused backend 18/18; full backend 613/613; inbox 5/5; production build and patch check pass | Ephemeral encrypted tokens, synthetic recipients/content and mocked HTTP only. No OAuth/provider/email call or real account. Browser/production not run | External provider/production limitation |