diff --git a/docs/dev/manual-retest-hardening-batch-plan.md b/docs/dev/manual-retest-hardening-batch-plan.md index 46b2dad..4d8670b 100644 --- a/docs/dev/manual-retest-hardening-batch-plan.md +++ b/docs/dev/manual-retest-hardening-batch-plan.md @@ -1,6 +1,6 @@ # Manual-retest hardening batch — implementation plan -**Status:** implemented and fully verified on `fix/reassessment-self-service-cooldown`; protected-main closeout is in progress. +**Status:** implemented, fully verified, and merged to protected `main` in PR #68 on 2026-07-17. **Implementation record:** `docs/dev/manual-retest-hardening-batch-learnings.md` diff --git a/docs/project-status.md b/docs/project-status.md index 6fe84ba..8460a0b 100644 --- a/docs/project-status.md +++ b/docs/project-status.md @@ -7,10 +7,10 @@ Use this file at the start of a new conversation or coding session before making ## Current Workspace - Default project path: `C:\Users\Poy\Documents\LIAnsureProtect` -- Current branch: `fix/reassessment-self-service-cooldown`, created from synchronized `main` after PR #67. It corrects reassessment governance so the original Quote does not start a cooldown, the first valid reassessment remains self-service and immediate, a post-success cooldown returns retry guidance without creating Underwriter work, and only rolling/lifetime count overflow enters manual review. See `docs/dev/quote-supersession-and-reassessment-governance-design.md` and `docs/dev/quote-supersession-and-reassessment-governance-learnings.md`. -- Quote supersession and reassessment governance (2026-07-16, current branch): Quote versions remain immutable, but only the latest pre-contract version is current. Earlier Evidence and Notification projections become historical without rewriting their workflow/read audit state; active queues and badges exclude them. Customers have nested Quote history and read-only historical Evidence; Underwriters have a pending reassessment approval queue. Durable base-version, cooldown, rolling/lifetime allowance, one-pending-request, and burst controls prevent unlimited provider and projection work. See `docs/dev/quote-supersession-and-reassessment-governance-design.md` and `docs/dev/quote-supersession-and-reassessment-governance-learnings.md`. +- Current branch: synchronized `main`. The implementation release merged in PR #68 corrects reassessment cooldown behavior, completes the manual-retest hardening batch, and preserves the separately planned future Broker organizations milestone. +- Quote supersession and reassessment governance (merged in PR #68): Quote versions remain immutable, but only the latest pre-contract version is current. Earlier Evidence and Notification projections become historical without rewriting their workflow/read audit state; active queues and badges exclude them. Customers have nested Quote history and read-only historical Evidence; Underwriters have a pending reassessment approval queue. Durable base-version, cooldown, rolling/lifetime allowance, one-pending-request, and burst controls prevent unlimited provider and projection work. See `docs/dev/quote-supersession-and-reassessment-governance-design.md` and `docs/dev/quote-supersession-and-reassessment-governance-learnings.md`. - Quote supersession and reassessment governance verification (2026-07-16): full Docker-backed local CI rebuilt with 0 warnings/0 errors, recreated PostgreSQL and Redis, applied all four migration histories, passed 219 Unit tests and 283 Integration tests plus three intentional external-service skips, passed clean frontend install/build/lint/all 111 tests and API smoke checks, created `TestResults/local-ci-20260716-031625.zip`, and cleaned up its containers, volume, and network. All four current DbContexts separately report no pending model changes. -- Reassessment self-service cooldown correction (2026-07-16, current branch): Quote version 1 is now explicitly the baseline rather than a successful reassessment. Version 2 can therefore be created immediately when controls genuinely change. Only version 2 or later starts the 30-minute cooldown; a too-soon attempt receives safe retry guidance and creates no provider attempt or pending Underwriter review. Rolling/lifetime count overflow continues to use the audited Underwriter queue. +- Reassessment self-service cooldown correction (merged in PR #68): Quote version 1 is now explicitly the baseline rather than a successful reassessment. Version 2 can therefore be created immediately when controls genuinely change. Only version 2 or later starts the 30-minute cooldown; a too-soon attempt receives safe retry guidance and creates no provider attempt or pending Underwriter review. Rolling/lifetime count overflow continues to use the audited Underwriter queue. - Reassessment self-service cooldown verification (2026-07-16): zero-warning solution build; 226 Unit tests; 284 standalone Integration tests plus 4 intentional opt-in skips; clean pending-model checks for all four DbContexts; frontend TypeScript, ESLint, production build, and all 111 tests green. Docker-backed local CI passed 226 Unit tests, 285 Integration tests plus 3 expected skips, a clean frontend install with zero vulnerabilities, frontend/API smoke gates, created `TestResults/local-ci-20260716-055648.zip`, and removed PostgreSQL/Redis resources. - Manual-retest hardening batch (implemented, 2026-07-16): `docs/dev/manual-retest-hardening-batch-plan.md` is delivered with its complete record in `docs/dev/manual-retest-hardening-batch-learnings.md`. Respondent email now uses progressive syntax, DNS mail-capability, and single-use mailbox verification without confusing mailbox ownership with Evidence truth. Exact authorized subject views acknowledge only matching older active notifications through recipient/subject watermarks; the Evidence-response event supplies the non-browser safety net. Server-derived capabilities choose owner versus operations actions and keep team scope tabs stable. The Underwriting workbench has an independent paged Evidence review queue, so `Quoted` work and unread follow-ups remain reachable even when the Quote referral queue is empty. Additive Notifications/Underwriting migrations preserve existing audit history, and local verification email is safely captured in Mailpit. - Manual-retest hardening verification (2026-07-17): zero-warning solution build; 228 standalone Unit tests; 290 standalone Integration tests plus 4 intentional opt-in skips; clean pending-model checks for all four DbContexts; frontend TypeScript, ESLint, production build, and all 117 tests. Fresh Docker local CI applied all migration histories, passed 228 Unit tests and 291 Integration tests plus 3 intentional external-service skips, passed frontend and API smoke checks, created `TestResults/local-ci-20260717-011229.zip`, and removed PostgreSQL, Redis, Mailpit, the database volume, and network.