docs(redesign): audit Phase 6 design and preservation boundaries

This commit is contained in:
cesnimda
2026-10-11 02:49:17 +02:00
parent 9d6d29dba4
commit 7da083c374
5 changed files with 111 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# Phase 6 execution plan
**Goal:** Finish the approved design/UX review with bounded shared repairs, fresh regression evidence and a reconciled Phase 7 handoff.
**Architecture:** Retain MUI/Emotion, React Router, existing theme/layout/state providers and domain owners. Application chrome changes must preserve document geometry, source/override history, frozen packages and authorization.
**Authority:** The owner's 2026-10-11 P6-00–P6-05 instructions and [original plan](../IMPLEMENTATION_PLAN.md). The historical P6-00–P6-06 proposal is superseded by the owner's six checkpoints; prior audit evidence remains available.
## Entry and constraints
Fetched development HEAD/remote: `9d6d29dba4733778e478909d4ff74a25409b3115`, `codex/ui-redesign-phase4`. Seven pre-existing modified files are retained: company dialog + tests, language provider/translations/toast + tests and responsive audit. No reset/stash/discard. Phase 5 final implemented-scope decision is CONDITIONAL GO at `9528504866054da10e20d5196e65de536c4c9499` (1,033 backend / 498 frontend / 148 browser; separate lanes remain separate). Production stays NO-GO. Do not implement Phase 7/8, qualify models, enable P5-13 or push main.
## Checkpoints
- [ ] **P6-00:** Review Phase 3/4/5 records, all 57 original PRES contracts and actual source; record surface/state coverage, prioritized findings, preserved dirty intake and baseline. Commit/push audit only.
- [ ] **P6-01:** At existing owners, fix reproduced shared semantic/contrast/tab-association issues; prove focused failures and corrections, then regress affected routes. Keep typography sizes, fonts, density and renderer unchanged. Commit/push coherent repairs.
- [ ] **P6-02:** Verify navigation/query/history/source/override and save/retry workflows; finish retained company-dialog error feedback and language persistence feedback with localized tests and native HTTP readback. Review approved AI purpose/provenance/review/conflict patterns without activating withheld work. Commit/push.
- [ ] **P6-03:** Collect EN/Bokmål, light/dark, 320–wide desktop, orientation, keyboard, zoom/reflow and all-enabled axe evidence. Triage every remaining violation/incomplete category; inspect representative screenshots. Retain M01–M13 and physical-device requirements. Commit/push.
- [ ] **P6-04:** Record production bundle bytes and reproducible native route/data/long-CV performance, requests, long tasks/CLS and memory where tooling supports them. Audit shared consumers and O(N) scaling; optimize only a demonstrated bounded cause. Do not invent budgets. Commit/push measured findings.
- [ ] **P6-05:** Run fresh full frontend/backend/browser/sidecar/security/HTTP/rendering lanes, explain count changes, reconcile 57 groups, record secret/link/whitespace/build evidence and every commit/push. Report independent Phase 6, production and Phase 7 decisions; prepare migration order and mandatory dependencies. Commit/push final acceptance.
## Review focus
Persisted language failures must not silently claim account success; modal save failures must remain discoverable with draft retained. Tabs must name/own visible panels on desktop and mobile. Heading/contrast fixes must not change paper rendering. Navigation/filter improvements must keep query membership, Back and keyboard focus. Finite browser/axe evidence must never be described as human screen-reader or production qualification.
Unavailable operator evidence is documented and independent work continues. All native browser lanes run serially after API Release build and the final UI build to avoid apphost locks and stale exports. Each completed checkpoint is validated and pushed without force; successor ledger rows record hashes to avoid self-reference.
+23
View File
@@ -0,0 +1,23 @@
# Prioritised design consistency register
Baseline `9d6d29d`, 2026-10-11. Current source inspection corroborates the earlier native audit; that audit's 36 violation-node/331 incomplete occurrences and Phase 5's 39/2,367 are attributed historical counts, not fresh measurements. Repeated occurrences are not independent defects.
| ID | Category / priority | Evidence and UX effect | Bounded disposition / preservation |
|---|---|---|---|
| P6-DC01 | Accessibility / P2 | CareerProfilePage and ProfilePage initials use default Avatar grey/white; historical rendered ratios 1.19 light/1.76 dark. Meaningful account identity becomes difficult to read. | Existing primary.main/primary.contrastText pair; two consumers, both themes; E08/C06/S01. P6-01. |
| P6-DC02 | Accessibility / P2 | Login root is a generic Box and title is implicit h5; historical missing main/H1 and ten uncontained region occurrences share one root. | Semantic main/H1 props preserving styles and auth behavior; E02/E07/E08. P6-01. |
| P6-DC03 | Accessibility / P2 | MUI subtitle styles implicitly produce h6 in Career/CV; Admin title/metric variants also produce headings without contextual levels. Historical 13 heading-order occurrences. | Explicit h2/h3 at actual sections, p/div for non-heading values; no global variant mapping or paper renderer edit; E08/C06–C09/S01. P6-01. |
| P6-DC04 | Accessibility / P2 | Settings tabs have no IDs/aria-controls and active local TabPanel lacks role/name, unlike the CV studio. Desktop/phone panel identification must agree. | Existing local panel owner, translated accessible name and tab associations; preserve mounted Rules session/draft and mobile selector; S03/E08. P6-01. |
| P6-DC05 | Accessibility / investigation | Drawer child buttons rely on text content while parents have explicit names. Historical pre-settled name flags vary seven→four; settled failure is not proved. | Parent native pre/post-entry AX proof before any name change; do not label a transient sample fixed by static source. E07/E08. P6-03. |
| P6-DC06 | Functional usability / P2 | Company failed save retains draft but historically only toast outside modal subtree, leaving focused dialog without failure context. | Existing in-dialog Alert and retry through Save; existing dirty edits need validation; J08/E08. P6-02. |
| P6-DC07 | Functional usability / P2 | Language persistence catch suppresses remote failure after local language switches. Users cannot know preference may be lost on another session. | Existing translated feedback infrastructure; do not reverse local language or change persistence semantics; S03/E08. P6-02. |
| P6-DC08 | Localisation / P3 | Company date values use host locale in list/card, UI locale in relationship dialog. Jobs selected-company fallback is literal English Company plus ID. | Existing language locale and translation key; preserve query/filter behavior; J05/J08/S03. P6-03. |
| P6-DC09 | Performance concern | Board fetches/materialises complete filtered result and renders every card; known 200/1,000 membership proof is finite. | Reproducible request/byte/render/task/memory measurements; preserve complete result. Backend scaling becomes bounded future work if required; J07. P6-04. |
| P6-DC10 | Accessibility / contextual investigation | Five historical main uniqueness occurrences combine app main and separate preview frame document. | Inspect named frame contexts and keyboard entry; never alter print renderer to silence a cross-document rule; C06–C12/E08. Human review remains open. |
| P6-DC11 | Responsive / incomplete qualification | Finite 320–1440/landscape/Chromium zoom checks pass scoped journeys; physical touch/software keyboard, broader forced-colour/reflow and actual reader tasks absent. | Expand representative fresh checks and retain exact manual requirements; no compliance claim; E08/all affected groups. P6-03. |
| P6-DC12 | Functional reliability / retained debt | Historical CV Unsaved and preference500 causes unproved despite 800ms autosave and twelve-round preference regression passes. | Preserve incidents; collect current temporal evidence; do not relabel passing rerun as diagnosis; C06/S03. P6-02/P6-04. |
| P6-DC13 | Intentional variation | Inverse nav, landing marketing gradient, CV white paper and legitimate Board/document canvas two-dimensional scrolling have distinct purposes. | Retain approved context; app chrome must reflow. No speculative global radius/spacing/gradient replacement. E07/E08/C09. |
| P6-DC14 | Approved Phase 7 work | Auth/onboarding/Profile/library/full Documents/mail/Notifications/remaining Settings/Admin/error/dialog migration differs from redesigned representative screens. | Reconcile existing implemented children before Phase 7 plan; legacy presentation is not itself Phase 6 regression. No implementation now. |
| P6-DC15 | Deferred qualification | P5-13 has zero configured-target calls/human reviews and withheld review UI; P5-05/followMode also deferred. | Eventual AI UI reuses current/proposed/source scope, review/no-write rejection, existing feedback/draft owner; no model calls or activation; C11/W05. |
Typography, density, controls and state presentation already have established shared owners. Minor cosmetic differences without a demonstrated usability effect stay Phase 7 reconciliation or intentional variation; no extra wrapper/refactor is scheduled. Production fonts/photos, F04 and ingress/backup/restore/schema/configuration/rollback evidence remain production gates, independent of these findings.
+23
View File
@@ -0,0 +1,23 @@
# P6-00 — Baseline and design consistency audit
Audit date: 2026-10-11. Source baseline: `9d6d29d` on `codex/ui-redesign-phase4`. This package adopts the owner's current P6-00–P6-05 checkpoint names. The earlier [P6-01 audit](../p6-01/README.md) and [finding register](../p6-01/FINDINGS.md) remain historical evidence; they are not rewritten or relabelled as fresh tests.
## Baseline and method
The [original plan](../../IMPLEMENTATION_PLAN.md), [Phase 3 architecture](../../phase-3/INFORMATION_ARCHITECTURE.md), [design-system architecture](../../phase-3/DESIGN_SYSTEM_ARCHITECTURE.md), [accessibility targets](../../phase-3/ACCESSIBILITY_PLAN.md), [Phase 4 foundation](../../phase-4/README.md), [Phase 5 final acceptance](../../phase-5/p5-15/p5-15-06/README.md) and [all 57 preservation groups](../../phase-5/p5-15/PRESERVATION_ACCEPTANCE.md) establish the scope. Actual implemented Phase 5 scope is CONDITIONAL GO for bounded Phase 6 review; full planned Phase 5 is incomplete. Production remains NO-GO.
Authoritative inherited complete-suite baseline is 1,033 backend / 498 frontend / 148 ordinary browser, plus 49 sidecar, 108 focused AI, 5 revision, 2 real HTTP, security lanes 9/6/1/3, fidelity 16 fixtures/36 pages and settings export 8 fixtures/24 pages. Subsets are not added to complete-suite counts. The parent checkpoint execution manifest supplies fresh baseline runs and Git fetch/synchronisation evidence. This source audit claims no new browser run or human acceptance.
Review combines current component/caller inspection and attributed historical native evidence. [Surface coverage](SURFACES.md) covers every requested area; [prioritised register](FINDINGS.md) separates real usability/semantic defects from intentional variation and Phase 7 migration. Existing dirty company/i18n/toast/browser-test changes were observed and preserved; they were neither discarded nor represented as already validated.
## System consistency conclusion
`theme.ts` remains the single palette, typography, spacing, density, focus and motion authority. PageLayout/PageHeader/PageSection, MUI controls/icons, ViewStateNotice/useViewResource and existing toast/confirm/prompt infrastructure already provide the required shared patterns. No new UI framework, font, token compiler, generic form/save model or component library is justified.
The application title/section scale, tokenized page/card spacing, opt-in Comfortable/Compact data density, keyboard outlines, inverse navigation and semantic alerts are established. Differences on legacy pages alone are approved migration scope. Confirmed current barriers are initials contrast, implicit heading levels, login landmarks, tab/panel relationships, discoverability of modal save failure and language persistence failure. These can be corrected at existing owners without changing domain writes, routing, print geometry or IA.
## Preservation and outcome
All 57 contracts remain in force; inherited reconciliation is 0 PASS / 56 PARTIAL / 0 FAIL / 1 DEFERRED. Applicable correction traces: PRES-E02/E06/E07/E08, J05/J07/J08, W01/W08, C06–C12 and S01/S03/S04. The ordinary passing P2-D01 native package case remains mandatory. P5-13 remains deferred/unqualified and Production-withheld; no model qualification or capability activation belongs here.
Audit outcome: **CONDITIONAL GO for bounded P6-01 corrections**. Screen-reader/device/software-keyboard, Linux font/portrait, Board capacity, historical CV Unsaved/preference contention and production operational evidence remain explicit. Fresh validation, checkpoint commit and remote verification are recorded by the parent in the chronological Phase 6 log. Phase 7 and Phase 8 implementation are excluded.
+37
View File
@@ -0,0 +1,37 @@
# Surface and shared-pattern coverage
Current-source audit at `9d6d29d`. Native/visual references below belong to the retained Phase 5 / historical P6 audit. They establish prior finite observations; this table does not claim fresh execution or human acceptance.
| Requested surface | Current owner / established scope | Review and migration boundary |
|---|---|---|
| Application shell | AppShell, App, QuickCommandDialog, NotificationsPopover; P5-01/02 | Grouped IA, exact active route, rail/mobile, skip/main/route focus, menu/command keyboard architecture retained. Investigate settled child names; full notification centre remains Phase 7. |
| Dashboard | DashboardView, dashboard resource owner; P5-06 | Personal snapshot/attention/reports, proven status links, exact current data and text chart values; shared PageSection/states. No Phase 8 drag/resize. |
| Jobs workspace / Table | Jobs workspace in App, jobsQuery, JobTable; P5-03/04b | Shared filter/query/sort/page/saved search/create refresh and Table/Board parity; opt-in density and phone action parity retained. Literal company fallback is a bounded localisation defect. |
| Kanban Board | KanbanBoard; P5-04a/04b | Semantic status groups, exact/custom outcomes, keyboard/no-drag alternative, error/Retry/Back retained. Full-result O(N) measurement required; no silent limit. |
| Job details | ApplicationWorkspacePage, existing application children; P5-08a/b | Seven sections, source context, current documents versus frozen package, timeline, tasks and interview retained. Deep child visual migrations must not change accepted package/data guards. |
| Analytics | AnalyticsPage + DashboardView reporting; P5-07 | Existing eight report families, URL period and exact data/link text already migrated. Remaining advanced/other Analytics work belongs Phase 7; no fabricated metrics. |
| Career Profile | CareerProfilePage, career children | Canonical facts/import low-confidence review/evidence/history exist. Avatar/heading corrections are current barriers; complete visual migration stays Phase 7. |
| CV library | CvBuilderPage, gallery/thumbnails | Create/copy/delete/share/export functions retained. Complete library migration stays Phase 7, distinguish it from already migrated studio template controls. |
| CV Builder | CvBuilderEditor, CvCustomizeTab, existing revision/preview owner; P5-09–12/14 | Scope/save/retry/conflict, source/reset overrides, content reorder, template settings, panes and preview are migrated. Explicit section heading correction only; keep native renderer/pagination, app density separate from paper. |
| Documents | Job Attachments, ApplicationAssets/package owners and related routes | Job-scoped navigation/presentation already migrated, frozen native package ordinary P2-D01 passes. Full cross-resource hub remains Phase 7; no second editor/database. |
| Settings | SettingsView, Rules/AI/privacy/usage/backup/capture/cards; P4-04 and P5 repairs | PageSection typography/layout exists; tab association and failed-language feedback are bounded corrections. Rules draft/save/discard contract retained; remaining account/security/full migration stays Phase 7. |
| Administration | AdminUsersPage/AdminAuditPage/AdminSystemPage | Roles and operational domain actions retained. Semantic headings can be corrected without moving controls or running probe/model actions. Broad admin migration stays Phase 7. |
| Authentication / onboarding | Login/Forgot/Reset/Verify and provider controls | Existing validation/remember-me/provider/2FA/verification semantics preserved. Login main/H1 correct current barrier. Visual onboarding/auth migration stays Phase 7. |
| Dialogs / forms | MUI dialog/menu primitives; Add/Edit/Company/Crop, confirm/prompt | Existing focus/return/dirty confirm infrastructure reused. Company failed save must be discoverable inside modal. Remaining forms are not globally restyled. |
| AI entry points | AiSectionAssistant, CvBuilderEditor existing tools, job match/letter/answers/interview, profile import | Ready/busy/error/retry, current/proposed and deliberate review/domain-specific mutation owners retained. P5-13 qualification/review migration withheld; no automated model runs. |
## Shared primitive review
| Pattern | Current decision and bounded evidence |
|---|---|
| Colour / surfaces / borders | theme semantic light/dark roles, paired alerts, inverse nav and approved primary pair; fix default Avatar exception at two consumers. Public marketing variation remains intentional. |
| Typography / heading hierarchy | Archivo/system stack; pageTitle/sectionTitle/pageDescription already defined. Visual variants and DOM heading level are separate; explicit semantic levels fix confirmed skips without altering approved typography. |
| Spacing / widths / density | Existing page/card/section CSS tokens and reading/data/editor widths; Comfortable/Compact table/card tokens preserve desktop32/phone44 targets. Never apply app density to CV paper. |
| Actions / icons / status | MUI icons/controls, one contained primary, outlined/text secondary, explicit destructive confirmation, translated names and pipeline status owners; no duplicate framework. |
| Inputs / forms | Persistent MUI labels/help/error linkage and existing domain validation/save/dirty owners. Standardisation may not change data-saving semantics. |
| Tables / cards / menus / overlays | Existing data density, active nav, dialog/menu elevation and focus overrides; full-row keyboard/click semantics retained. No fashion-driven replacement. |
| Loading / empty / request error | ViewStateNotice/useViewResource and domain MUI state primitives already differentiate fresh loading, refresh failures and true empty data. Reuse existing retry and status infrastructure. |
| Save feedback / notifications | Existing toast/Alert and confirm/prompt infrastructure; modal error and suppressed language persistence are the confirmed discoverability exceptions. |
| Preview / motion / responsiveness | Native white physical document stays distinct from app dark surfaces; reduced-motion global override already exists. Canvas scrolling and chrome overflow are evaluated separately. |
Relevant prior visual evidence: Phase 4 p4-06 loaded foundations/density/Settings captures; Phase 5 p5-04b Table/Board, p5-08b Job workspace, p5-09–12 studio and p5-15 final native manifest. Exact fresh screenshot/state and automated counts are supplied by the parent's current execution evidence, never inferred from file presence.
+4
View File
@@ -68,3 +68,7 @@ The current builder already includes expandable sections, preset/free-text custo
The [native readiness](../redesign/phase-5/p5-09-readiness/README.md) and [pagination repair](../redesign/phase-5/p5-09-pagination-readiness/README.md) now establish the bounded local preview/PDF contract requested during P4-03. P4-03 remains the keyboard/viewport proof. Later P5-11/P5-12 presentation/control work must retain this measured output baseline and explicitly carry broader photo/wrapping/deployment-font and print-quality qualifications; do not restart already-completed builder features from archived plans.
Completed phase items are intentionally omitted here; their evidence remains in the current redesign checkpoint records and recoverable historical archive.
# Phase 6 execution — 2026-10-11
- [ ] P6-00 baseline/design audit; P6-01 shared corrections; P6-02 workflow review; P6-03 responsive/accessibility/localisation; P6-04 performance/reuse; P6-05 acceptance/handoff. Track completed evidence and push hashes in [Phase 6](../redesign/phase-6/README.md). No Phase 7 implementation or production deployment.