78 lines
12 KiB
Markdown
78 lines
12 KiB
Markdown
# Phase 5 — Representative screens / major UI redesign plan
|
||
|
||
**Current successor: [P5-10 CV section editing/source clarity](p5-10/README.md) — accepted locally, stop before P5-11.** Compact source-backed/CV-only forms, field-specific reset, editable omitted content and add/delete/reorder focus reuse the P5-09 frame and existing save/history/source owners. Baseline: **941 backend / 430 frontend / 106 actual browser passes**, security 9/6/1, configuration 3; revision 5/5 and fidelity 16/16 with 36 aligned pages and unchanged renderer HTML. EN/Bokmål, light/dark, desktop/intermediate/320px evidence is retained. Human screen-reader/incomplete checks, broader pointer/reflow/font/photo qualification, F04 and separately recorded debt remain open. No P5-11+, Phase 8 or B07 implementation occurred.
|
||
|
||
**Previous implementation: [P5-09 CV editor frame/navigation](p5-09/README.md).** Content-first studio, compact CV identity/scope/save/actions, ordered section navigation and keyboard pane entry retain the existing forms, revision owner and native renderer. Baseline: **941 backend / 426 frontend / 102 actual browser passes**, security 9/6/1, configuration 3; revision 5/5 and original fidelity 16/16, 36 aligned pages. Actual EN/Bokmål, light/dark, desktop/intermediate/phone evidence and incomplete accessibility findings are recorded. Production font/photo qualification, F04 and human screen-reader acceptance remain open. No P5-10+, Phase 8 or B07 implementation occurred at that checkpoint.
|
||
|
||
**Previous readiness: [CV pagination-fidelity repair](p5-09-pagination-readiness/README.md) — GO for P5-09.** The original 16 fixtures passed the unchanged PDF oracle, including all six former page-count/placement failures. Preview uses native fragmentation, renderer-owned geometry/print rules and deterministic settled measurement; PDF output is unchanged. [Revision readiness](p5-09-readiness/README.md) remains accepted. That checkpoint's baseline was **941 backend / 422 frontend / 98 actual browser passes**, security 9/6/1, configuration 3. No CV redesign or B07 had begun at that readiness checkpoint. P2-D01 remains ordinary passing; broader font/photo/wrapped-line qualification and production/manual acceptance remain explicit.
|
||
|
||
**Previous implementation: [P5-08b Job sections](p5-08b/README.md).** Seven URL-backed sections and Application/Timeline subsections recompose the existing owners on the Phase 4 foundations. [Native readiness proof](p5-08b-readiness/README.md) and the ordinary passing P2-D01 regression remain authoritative for frozen packages/ZIPs. P5-08a header/Overview and all compatibility routes remain. `followMode` metadata is preserved; mode-specific UI stays deferred to the mail phase by Connor's decision. [P5-07 Analytics](p5-07/README.md), [P5-06 Dashboard](p5-06/README.md) and [P5-04b Jobs integration](p5-04b/README.md) remain authoritative for their areas. P5-02 manual screen-reader acceptance remains mandatory for P5-15. F04, incomplete accessibility checks, native touch, Board scaling and recorded timing/preference-save observations remain open. No CV redesign slice, Phase 8 or B07 has begun.
|
||
|
||
Historical planning checkpoint: source `2a2f9e48052c562ef599825458d0d3a6f9f9fc61`, inspected on 2026-09-13 on `codex/ui-redesign-phase4`. That checkpoint was documentation-only; the successor record above owns implementation/validation status.
|
||
|
||
P4-06 gave a **CONDITIONAL GO for planning**. The original plan required the separate P5-00 gate before P5-01 AppShell/grouped navigation, the first major visible redesign. Use the successor's explicit acceptance conditions; implementation success is not a production release approval.
|
||
|
||
## Package
|
||
|
||
- [Implementation plan](PHASE5_PLAN.md): 17 bounded checkpoints, dependencies, rollback and stop rules; P5-05 preview deliberately reserved/deferred.
|
||
- [Readiness gates](READINESS_GATES.md): exact shell, package, revision, rendering, query and release prerequisites.
|
||
- [Navigation migration](NAVIGATION_MIGRATION.md): every current menu/utility, all 31 existing patterns, staged future destinations and precise shell direction.
|
||
- [Preservation impact](PRESERVATION_IMPACT.md): all 57 original contracts, current evidence, planned changes/gaps and visual trace IDs.
|
||
- [Visual acceptance](VISUAL_ACCEPTANCE.md): stable states/viewports/data and manual/automated evidence requirements.
|
||
- [Open blockers](OPEN_BLOCKERS.md): inherited defects, slice deadlines, separate backend/product/production gates.
|
||
|
||
## Source reconciliation and findings
|
||
|
||
Read alongside the [original redesign sequence](../IMPLEMENTATION_PLAN.md), [Phase 1 complete inventory](../audit/FUNCTIONALITY_INVENTORY.md), [Phase 2 matrix](../phase-2/PRESERVATION_MATRIX.md) and [trace format](../phase-2/TRACEABILITY.md), [Phase 3 architecture/impact](../phase-3/PRESERVATION_IMPACT_MATRIX.md), [P4-01](../phase-4/p4-01/README.md), [P4-02](../phase-4/p4-02/README.md), [P4-03](../phase-4/p4-03/README.md), [P4-04](../phase-4/p4-04/README.md), [P4-05](../phase-4/p4-05/README.md) and especially [P4-06 acceptance](../phase-4/p4-06/README.md) / [57-row reconciliation](../phase-4/p4-06/PRESERVATION_ACCEPTANCE.md). Historical future-tense status in older packages is not current implementation state.
|
||
|
||
Current source inspection confirms:
|
||
|
||
- App has 31 page/alias patterns, a session-invalidated provider-tree unmount, existing shell groups/collapse and distinct account/Career Profile routes. Preserve React Router and providers; table preferences still participate in router memoization, so characterize rather than assume state lifetime.
|
||
- At planning time `JobTable` and `KanbanBoard` did **not** share filter/read scope. The [separate readiness checkpoint](p5-04b-readiness/README.md) resolves that prerequisite while retaining complete Board population and paged Table responses. Integration still must not substitute a single Table page for the Board.
|
||
- QuickCommandDialog has six commands plus job/company results, not global CV/document search. Notifications already have their own store/actions. Reuse these and repair explicit error/keyboard states, without new producers.
|
||
- Analytics reports exist inside Dashboard with two load groups and five owner-local visibility flags. `/analytics` is a new **destination** for existing data, not permission to invent metrics. Documents/global aggregate Admin data are not ready; do not add empty navigation targets.
|
||
- The CV editor already has Template/Content/Customize/AI/History, live preview, overrides, undo/history, mobile panes and extensive controls. Keep them. At planning time Save lacked server revision enforcement and preview used estimated pagination/cropping. The linked readiness and pagination checkpoints now satisfy those distinct local gates; later CV slices must preserve their revision/output evidence.
|
||
- A production quick-preview host is absent. The optional overlay props/test are not proof of an existing launched feature. NEW-10 stays outside the default implementation queue.
|
||
|
||
No contradiction requires a new component library or platform. P4 shared MUI semantics, focus, PageHeader/PageSection and opt-in density remain the foundation. Career Profile/library/complete Documents, Settings/Admin/mail and full Notifications remain Phase 7; advanced dashboard layout remains Phase 8. The current user request/Phase 3 sequencing advances only the bounded existing-report Analytics presentation into Phase 5.
|
||
|
||
## Validation baseline
|
||
|
||
The following is **inherited executed evidence from P4-06 at the source checkpoint**, not newly executed application tests during this documentation-only task:
|
||
|
||
| Gate | Unchanged baseline |
|
||
|---|---|
|
||
| Backend Release tests | 916 passed |
|
||
| Frontend Jest | 354 passed, 75 suites |
|
||
| Chromium browser | 51 actual passes + unchanged P2-D01 expected failure (reporter 52 includes the expected failure) |
|
||
| Rate-limit / ingress / PDF admission | 9 / 6 / 1 passed |
|
||
| Configuration/Compose | 3 passed |
|
||
| TypeScript / lint / frontend production build / API Release build | Passing; API zero warnings/errors; P4-06 also checked edited e2e TypeScript |
|
||
| Secret/whitespace/docs checks | Passing at baseline; fresh documentation checks below |
|
||
|
||
Application/test/CI counts change by **zero** here. No test or CI configuration is edited. Future implementation checkpoints run the exact complete commands recorded in [P4-06 final validation](../phase-4/p4-06/README.md#final-validation), plus new scoped tests and relevant e2e TypeScript. Specialized browser suites own the same disposable API port and run sequentially. Preserve B01–B06 checks; no production evidence follows from them. After a separately accepted P2-D01 repair, report the transition from expected failure to actual successful native archive proof explicitly, without renaming or masking it.
|
||
|
||
P4-06's 118 retained axe scans include eight known rule occurrences and many incomplete checks. Mapping 57 contracts is **not** exhaustive behavior, visual, provider or accessibility coverage. This plan neither changes those results nor treats the incomplete nodes as passes.
|
||
|
||
## Planning checkpoint verification
|
||
|
||
Fresh local planning checks (2026-09-13):
|
||
|
||
| Executed command / review | Result |
|
||
|---|---|
|
||
| `python .artifacts/p5-check-plan.py` | Seven required documents; 57 unique PRES IDs exactly match Phase 2/P4-06; 31 unique current routes exactly match App; 17 planned implementation checkpoints; 184 local link/anchor checks and 127 reference-style test-file targets resolve; table columns/fences pass |
|
||
| `python .artifacts/p4-04-check-doc-links.py` | 131 current/root Markdown documents, zero missing local targets; historical archive excluded |
|
||
| Source review of App/AppShell, command/notification/table/board/dashboard/workspace/CV owners and service reads | Reconciled actual route/provider lifetime, absent preview host, distinct board population, existing analytics and CV revision/preview boundaries; no runtime/provider result inferred from source |
|
||
| `git diff --exit-code 2a2f9e48052c562ef599825458d0d3a6f9f9fc61 -- job-tracker-ui JobTrackerApi JobTrackerApi.Tests scripts .gitea browser-extension` | No application/backend/tests/build/CI/infrastructure changes |
|
||
| `git diff --cached --name-only` / `git diff --cached --stat` | Eleven Markdown files only: seven package files, three index/trace links and TODO |
|
||
| `python scripts/supply-chain.py scan-secrets` | Staged documentation secret check passed |
|
||
| `git diff --check` / `git diff --cached --check` | Passed; ordinary repository LF/CRLF conversion notices are not whitespace failures |
|
||
|
||
The two `.artifacts` validators are ignored local review tools, not new CI/application files. They validate documentation structure/targets, not future implementation behavior. Full application suites were not rerun for prose; their last actual evidence is the unchanged baseline above. Git push is limited to the requested feature branch; remote SHA and clean-tree status are verified and reported with the final commit. No production deployment or external provider check is claimed.
|
||
|
||
## Historical planning next instruction
|
||
|
||
“Implement **P5-00 — Shell readiness gates only** from the documentation checkpoint, following `READINESS_GATES.md` and `PHASE5_PLAN.md`. Reproduce/protect each prerequisite against the current UI, preserve application behavior, run the full baseline, record real visual/accessibility evidence, commit/push the bounded readiness checkpoint, and stop before P5-01.”
|
||
|
||
P5-01 begins the first major visible redesign only after P5-00 acceptance. Native package proof blocks dependent section/relationship migration; revision/rendering proof blocks broad CV; query parity blocks Board unification. Independent screens need not wait for those gates. **F04 remains open** for production verification and does not block local UI planning. A feature-branch commit/push is not permission to deploy.
|