Files
jobtrackingapp/docs/redesign/phase-5/p5-15/CONTINUATION_PLAN.md
T

100 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.