diff --git a/docs/redesign/phase-5/p5-15/CONTINUATION_PLAN.md b/docs/redesign/phase-5/p5-15/CONTINUATION_PLAN.md new file mode 100644 index 0000000..0cda205 --- /dev/null +++ b/docs/redesign/phase-5/p5-15/CONTINUATION_PLAN.md @@ -0,0 +1,99 @@ +# Phase 5 acceptance continuation implementation plan + +> **For agentic workers:** use the Superpowers debugging/TDD workflow for each repair, with independently reviewed delegated work where useful. Steps use checkbox tracking; the owner has explicitly authorised continuous execution and immediate development-branch pushes. + +**Goal:** complete safe, available acceptance work and prepare a truthful scoped Phase 6 handoff. + +**Architecture:** preserve existing API/data/renderer boundaries; fix demonstrated defects at their responsible shared layer. Retain immutable historical evidence and write successor results rather than rewriting failed audit observations. + +**Tech stack:** .NET/EF Core, React/MUI, native Chromium/Playwright, repository PDF measurement tools. + +**Spec:** the owner's Complete Phase 5 and Advance to Phase 6 instruction, [approved plan](../PHASE5_PLAN.md), [acceptance programme](EXECUTION_PLAN.md), [completed audit](p5-15-02/README.md) and original preservation contracts. + +## Global constraints + +- Development `codex/ui-redesign-phase4`; production `main` remains NO-GO and unchanged. No force-push, resets, destructive recovery or deployment. +- Every completed logical unit is validated, committed, pushed and checked against remote immediately; uncompleted concurrent work is never swept into another unit's commit. +- Preserve all 57 PRES groups, 32 current route patterns, ownership, canonical Career Profile, overrides, historical/frozen CVs and PDF semantics. +- Standard fidelity remains 16/16 and 36=36 pages; settings exports remain 8/8 and 24=24. Existing tolerances are unchanged. +- P5-13 remains deferred, unqualified and Production-withheld; 0/366 configured-target calls, 0 human semantic reviews, no review UI. No substitute-model qualification or Docker recovery. +- Human screen-reader acceptance is postponed at the owner's request, NOT COMPLETE/NOT VERIFIED. Physical devices, software keyboards and deployed evidence cannot be impersonated by automation. + +## Baseline and ruling + +Fetch on 2026-10-10 confirms clean HEAD/remote `b369b24b73ccbfb4f32084994c38bd4497e28307`; local/remote production `27657f31131cd95d42f0e1290853ec9c9b3959a4`. This legitimate successor is retained; the owner's older 134-browser baseline does not supersede its audit. + +The completed 02 audit has 139 ordinary passes/5 genuine failures across the declared 144-case union (143 full-run cases plus one supplemental case), not a single full execution of 144. All 134 inherited cases pass. PRES totals: 0 PASS/50 PARTIAL/6 FAIL/1 DEFERRED=57. Backend 1,033, frontend 490, sidecar 49, focused AI 108, real HTTP 2, revision 5/5 and security/configuration 9/6/1/3 are inherited until rerun. + +**Ruling:** run the two independently scoped P1 containment repairs before affected CV acceptance, then resume 03–06. The latest owner mission authorises repairs and continuous independent work; it does not erase 02's NO-GO or its human requirements. + +## Review focus + +1. Native Enter/Space file selection must match pointer activation, without double dialogs or changing file validation. +2. Initially hidden preview frames must not publish zero-width pagination as ready; later visibility/resize must preserve physical geometry. +3. Drawer entry/Escape/return must work under reduced motion and responsive transitions, without disabling modal protection. +4. Source navigation and Analytics hit areas must retain their existing destinations/query/ownership semantics. +5. A passing rerun cannot close intermittent saves, physical input, semantic model or production qualifications without the required evidence. + +## Bounded execution and push boundaries + +### 1. P5-15-04-A11Y-01 — native file selection + +Files: `Attachments.tsx`, `ImportExportJobs.tsx`, same-pattern `AddJobModal.tsx`, focused tests; existing native audit reproducer retained. + +- [ ] Observe existing native Enter/Space failures and pointer positive controls; add focused behavioural RED coverage. +- [ ] Correct native control activation without altering accepted files, imports, attachments or ownership. +- [ ] Run focused unit/native journey and applicable affected suites; record limits and push the completed repair independently. + +### 2. P5-15-04-CV-01 — hidden initial preview + +Files: `cvPreview.ts`, only necessary frame lifecycle callers, `cv-pagination.spec.ts` and existing mobile/PDF audit. + +- [ ] Reproduce zero-width visible-page flow (PDF correct, matching page count) before changing code. +- [ ] Await actual usable layout deterministically; do not change renderer dimensions, fonts, print rules or tolerances. +- [ ] Verify initial/mobile/reflow lifecycle and full standard/settings fidelity; record performance and push independently. + +### 3. P5-15-03 — CV/document correctness + +Files: new `p5-15-03/README.md` and evidence; narrowly scoped tests only for demonstrated gaps. + +- [ ] Rerun revision, frozen package, source/override, export, standard and settings fixtures. +- [ ] Investigate the CV Unsaved observation and qualify available fonts/photos/templates, with exact environment boundaries. +- [ ] Retain production-specific gaps and operator procedure; commit/push the evidence checkpoint. + +### 4. P5-15-04 — remaining targeted repairs + +Files: responsible shell/source/report controls and meaningful tests, one defect per completed commit; `p5-15-04/README.md` and successor defect ledger. + +- [ ] Diagnose and repair A11Y-02 drawer focus, A11Y-03 source route and A11Y-04 report targets separately. +- [ ] Investigate Dashboard preference 500 and Board scaling/touch; repair confirmed blockers or explicitly justify remaining limits without inventing evidence. +- [ ] Classify other axe/structure findings contextually, keep unresolved human requirements, validate and push each completed unit. + +### 5. P5-15-05 — production readiness + +Files: new `p5-15-05/README.md`, allowlisted local evidence/operator checklist. + +- [ ] Verify repository ingress/configuration, migration/provider compatibility and fail-closed AI gates safely. +- [ ] Assess actual backup/restore, F04, deployed configuration/schema/secrets, rollback and monitoring evidence; do not execute unapproved live changes. +- [ ] Issue a separate production GO/NO-GO based on actual evidence, document required operator actions, commit/push only development. + +### 6. P5-15-06 — final regression and acceptance + +Files: new `p5-15-06/README.md` and validation evidence; parent acceptance/57-group/route/debt matrices. + +- [ ] After the final accepted application change, run complete backend/frontend/browser/sidecar/HTTP/security suites, revisions, both fidelity corpora, TypeScript/lint/builds/secrets/docs/whitespace. +- [ ] Reconcile every count, fail/skip/retry and all 57 groups; keep incomplete whole groups PARTIAL rather than promoting individual successes. +- [ ] Separate implemented-scope decision, full original-scope decision and production decision; push the checkpoint immediately. + +### 7. Phase 6 preparation + +Files: `docs/redesign/phase-6/README.md`, using `docs/redesign/IMPLEMENTATION_PLAN.md`. + +- [ ] If severe blockers no longer prevent a scoped transition, record accepted baseline, deferred scope, manual/production gaps, design review checkpoints and Phase 7 dependencies. +- [ ] Commit/push preparation, verify remote=HEAD/clean tree/main unchanged; do not begin Phase 7 migration. + +## Evidence ownership + +Agent/native tests establish only their actual application/API/DOM/PDF behaviour. A human operator owns spoken-reader and physical-device results. Infrastructure/operator evidence owns deployed fonts/assets, current full backups/restores, configuration/schema, ingress and rollback. Phase 6 planning cannot waive any of those obligations. + +Completed commits and command results are recorded in each successor report and the final ledger. This plan itself is a documentation-only checkpoint; no fresh full-suite claim is made.