Files
jobtrackingapp/docs/redesign/phase-7/p7-04/README.md
T
2026-10-13 00:49:24 +02:00

51 lines
12 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.
# P7-04 — CV library and public entry
**Implemented scope CONDITIONAL GO; both approved boundaries normally pushed and directly verified.** Follow the exact [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries): one CV library commit, then one public-entry commit. Reuse the existing gallery, editor, confirmation/prompt, theme and feedback owners.
[Entry evidence](evidence/entry.json) 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](evidence/library-static-checks.json) PASS at2026-10-12 18:03:12UTC: four commands0,11docs/406 local links0errors,57groups/32routes retained. [Portable finite evidence](evidence/library-results.json) 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](evidence/public-entry.json) 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](evidence/public-results.json) 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](evidence/public-fidelity-results.json) 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](evidence/public-static-checks.json) 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.