Files
jobtrackingapp/docs/redesign/phase-7/p7-04

P7-04 — CV library and public entry

Implemented scope CONDITIONAL GO; both approved boundaries normally pushed and directly verified. Follow the exact approved handoff: one CV library commit, then one public-entry commit. Reuse the existing gallery, editor, confirmation/prompt, theme and feedback owners.

Entry evidence records the actual clean P7-03 normal push5d6e3235, direct development equality/main unchanged and eight exact committed Git-blob baselines. P7-03 affected76/6/native35/backend98/seeder24 and static checks pass with finite visual/axe/manual qualifications. Latest whole frontend573/89/backend1,033/sidecar49 remain inherited;648/93 frontend,233 ordinary browser and1,034 backend are derived expectations. P7-12 must run fresh integrated regression.

Boundary Findings and bounded work Required exit evidence
Library Existing list has no visible loading/Retry; read error is not cleared and locale changes repeat GET. Header/cards use legacy presentation. Create permits field/template changes while pending; other actions lack pending guards. Dialog focus after menu closure is a risk to reproduce. Preserve draft, API/version/settings/save/association semantics Meaningful read/pending/recovery regressions; create/duplicate/rename/delete owned persistence and permission denial; existing gallery consumers/locked themes; keyboard/menu/dialog focus; EN/Bokmål/light/dark finite mobile/tablet/desktop evidence
Public entry Previous slug HTML/error remain during the next request; hard-coded English/theme styles and no semantic page heading. Retain late-completion guard, white print canvas and existing sandbox Slug isolation/error reset/late request/Retry; missing/revoked links; anonymous public HTML/PDF versus private numeric IDs; narrow responsive chrome, unchanged geometry and prescribed fidelity when output/preview is touched

PRES-C05/C12/E09 and affected revision/source/export contracts remain binding; all57 whole-group statuses stay56 PARTIAL/C11 DEFERRED at entry. Rename retains latest settings and expectedVersion; publication/revocation stays with the editor/server owner. No second history/renderer/editor, new lifecycle/schema, automatic model/provider action or Phase8 work. Human screen-reader/device/zoom/production font/photo/print evidence remains pending. Production remains NO-GO; main is unchanged.

CV library implemented result

Library implemented scope CONDITIONAL GO; normal push pending. Public-entry boundary remains pending. Final staged hygiene PASS at2026-10-12 18:03:12UTC: four commands0,11docs/406 local links0errors,57groups/32routes retained. Portable finite evidence freezes current source and the 75-file _fYf-IvM_ULd3ZPdUW-8h export separately from earlier failures;289 exact file references and current10 sources/export match. Fresh affected 38/4, new ordinary native 8, unchanged-binary backend 72, and existing editor/gallery-consumer 4 pass; app/browser types, lint and production build pass. No test is skipped or expected to fail. The existing editor journeys retain actual private PDF200 and gallery/template/settings behavior; the two new 503/504 cases qualify controlled failure presentation only.

Shared PageHeader H2 sits below the existing shell H1; cards use H3, density tokens and quiet surfaces. Shared resource feedback adds visible loading, localized error and explicit Retry without locale refetch. Pending snapshots prevent repeat mutations and protect draft/template choice; existing destructive confirmations and latest-settings/expectedVersion rename remain. Durable errors survive Cancel/reopen and locale changes; pending completion returns focus only while it remains in the managed region. The shared gallery's optional disabled prop defaults false for other consumers; unavailable Pro templates remain visible and guarded.

Meaningful RED coverage and peer review reproduced draft/error loss, stale language and late focus theft before correction. Native candidate6/2 also found a duplicate shell/local H1, helper contrast4.48:1 and a pending scroller without a keyboard target. The final local H2, readable disabled helper and named focusable pending DialogContent correct those demonstrated barriers. Raw failed outcomes/source qualifications remain; an initial Node collection error ran0 cases and invalid MUI-exit fixtures are identified rather than called product defects.

All 19 final PNGs were displayed and reviewed across a finite EN/Bokmål/light/dark/320/360/390/768/1024/1280-landscape/1440/1920 sample, not the full Cartesian matrix. Long names wrap and root overflow is0. Full-page capture fixed/scroll/focus context, including off-viewport modal backdrop, is qualified. White CV thumbnails remain white in dark mode. Server-authored template names/categories remain English metadata in Bokmål samples; P7-11 must review that residual without changing stored theme IDs or print content.

New library 19 all-enabled scans0 violations/64 incomplete occurrences retain19 invisible-badge short-text,17 modal/menu hidden-focus and28 background overlap. Existing editor 12 retained-scope scans0/122 retain24 disabled Undo/Redo wrapper aria labels,12 invisible-badge short-text,78 overlap and8 obscured iframe-heading occurrences. Full vectors remain; neither scope establishes human screen-reader/modal/contrast acceptance. M09/M11 and all M01–M12 device/zoom/output/provider gates remain. RD21 canonical concurrency/partial-write risk and historical frozen/orphan/output debt are unchanged.

Twelve new cases in the existing suite give 660/93 frontend derived only; eight new ordinary browser cases give 241 derived only. Latest whole frontend573/89, backend1,033 and sidecar49 are inherited; backend1,034 is derived. P7-12 must run fresh integrated regression. All57 statuses remain56 PARTIAL/C11 DEFERRED,32 routes retained; P5-13 stays withheld. No backend/schema/renderer/PDF geometry or Phase8 work. Production NO-GO/main unchanged.

Observed library push / public-entry start

Library implemented scope CONDITIONAL GO is normally pushed as fcacae7384b4a38c2675e6527a33cc1d09f4b505. Direct verification2026-10-12 18:03:41.481787UTC proves localHEAD=origin=live development, clean worktree and unchanged local/origin/live main27657f3. Final staged hygiene passes (four commands0,11docs406links0errors/57groups32routes); affected38/4/native8/editor4/backend72/types/lint/build and actual19-image review pass with manual/axe/localisation/production qualifications retained. Public entry records exact preceding Git-blob baselines and this observed receipt. Public migration/final acceptance is pending; completing the library does not qualify Phase7 or production.

Public CV implemented result

P7-04 implemented scope CONDITIONAL GO; public final hygiene/normal push pending. Public results retain final source, raw commands/reports, failed attempts and exact 74-file CzJrqceuLUrp0d6604-dJ export. Fresh affected 38/3, eight new ordinary anonymous browser cases, app/browser types, lint and production build PASS. Existing public suite1→14 (+13/0), browser+8 gives 673/93 frontend and249 browser derived only; whole573/89/backend1,033/sidecar49 remain inherited until P7-12. The bundler emits53 JS files versus library54; other file-type counts match. Routes remain32, separately checked; output count is not a fixed capability budget.

PageHeader and shared feedback provide localized EN/Bokmål loading, missing/revoked-link and transient error states with explicit keyboard Retry. Atomic slug-owned read state hides prior HTML/PDF/error/name/height before the next effect and ignores late requests. Slugs remain one encoded API/PDF segment. Locale changes leave source facts and request counts unchanged. Existing Next metadata keeps Jobbjakt during loading; loaded name changes the title and owned cleanup restores the prior title without overwriting a newer route. No new saving, publication or canonical-editing owner is introduced.

Real HTTP anonymous public HTML/PDF200 with %PDF bytes, noindex, private401/numeric404 and revoked/rotated-link404 are verified. Owner source/settings/revisions and private sibling remain unchanged. Explicit reload observes revocation; live cross-client invalidation is not claimed. Harness history exercises slug/back/forward state without adding product navigation. All 18 final public PNGs were displayed and reviewed, including balanced320/360/390/768/1024/1280-landscape/1440/1920 EN/Bokmål/light/dark and two long-document samples. Chrome wraps without horizontal overflow; white A4 canvas, original scaling/measurement/sandbox remain.

Fresh final fidelity passes 16 fixtures/36 pages plus8/24 after the final source/build; native corpus1/settings4 also pass. Exact membership and existing dimension0.5mm/position2mm/font0.5pt/RGB1/255 tolerances are unchanged.236 exact corpus files are frozen; four final comparison PNGs (long-nb-code first/last and dark-nb-after first/last) were actually reviewed. Not all60 pages or44 native settings PNGs were visually inspected; production font/photo/print qualification remains.

Public 18 all-enabled top-document scans0 violations/12 incomplete occurrences are entirely frame-tested: axe could not fully inspect the sandboxed document. This is an open document accessibility qualification, not full CV conformance; do not enable scripts to quiet the scan. Final settings 12 WCAG-tagged scans0/223 separately retain24 disabled Undo/Redo span labels,12 badge short-text,161 overlapping and26 partially obscured contexts. All node vectors are retained. M09/M11/human screen-reader and all M01–M12 device/zoom/output/provider gates remain unverified.

Meaningful RED4/6 and title RED13/1 are frozen separately. Initial native6/2 reflects a30s second-scan timeout plus an exact initial-title fixture mismatch with the verified Next metadata owner. The fixture now asserts Jobbjakt and uses90s for that two-scan case; no assertion/rule relaxation or skip. An intermediate38/3 passed but lint failed a captured-ref cleanup warning; final captured originalTitle fixes the warning without suppression. Final eight ordinary cases pass with retries0. All57 whole-group statuses remain56 PARTIAL/C11 DEFERRED; C05/C12/E09 have finite sharing/revocation/source/export proof. RD21 concurrency/partial writes, historical output/orphan debt and release gates remain. P5-13 withheld, main unchanged/production NO-GO, Phase8 separate.

Peer review found no product defect. The native geometry test now additionally asserts rendered width equals min(A4, viewport minus32px) within1px; focused existing eight-sample journey passes after that assertion, with fresh browser types. Product source/build/fidelity remain unchanged. Seven new screenshots exactly match previously reviewed SHA bytes; the differing1920 capture was displayed/reviewed. Extra eight scans0/8 frame-tested are repeated evidence, not additional cases. The first targeted runner grep matched0 tests/exit1; raw failure retained and exact-title grep corrected, no skip or expected failure.

Final public staged hygiene PASS at2026-10-12 22:24:04UTC: four commands0,11docs/412 local links0errors,57groups/32routes. Normal development push pending; actual hash and direct remote receipt follow in the next checkpoint.

Observed normal public push bfa0ab62f8399398191b020c4eae78fac0bafc9a at2026-10-12 22:24:44.035140UTC: localHEAD=origin=live, clean worktree/main27657f3 unchanged. P7-04 implemented CONDITIONAL GO; all evidence qualifications remain. Continue approved P7-05 sequence.