7.7 KiB
A3-IM06 Career Profile and document workflows
3 November 2026. Owner approved "Approve discovery and A3-IM06". Isolated codex/a3-ui-06 starts at discovery receipt 027907a80666f7ddd51c848411ceaacec6768f20. No unrelated workstream was merged. Local qualification is complete within the boundaries below; owner Gate F remains pending. Publication identity is recorded separately in CAREER_PUBLICATION.md.
Career overview now offers immediate edit actions for all fourteen existing canonical sections. Saved completeness indicators come from the server's existing seven-section assessment; unscored sections invite review, and unsaved drafts hide stale indicators. Editing projects and certifications now reaches every supported field through the existing canonical profile draft and versioned Save. Edits preserve opaque IDs, metadata and sibling facts. No new profile, score, API, schema or writer was introduced.
CV editing remains left and live preview right above 1000px; 768–1000px stacks both panes, and narrower phones retain the existing edit/preview switch. Cover letters use the same boundaries. Library cards reuse existing translated template labels while retaining unknown legacy IDs. A shared disabled-toolbar tooltip wrapper follows the existing MUI pattern. Renderers, physical document CSS, history/coalescing, autosave queues, conflict handling, null-as-inherit settings, frozen packages and RD21 remain unchanged.
| Evidence | Result and qualification boundary |
|---|---|
| Initial baseline | 142 tests / seven suites passed before implementation; historical baseline, not added to final total |
| Test-first regressions | Canonical project/certification controls, fourteen section edit destinations, tablet CV mode, friendly library names and tablet letter preview reproduced missing behavior before fixes |
| Final frontend selection | 212 unique selected cases / ten suites passed, zero failed/pending; latest full execution per disjoint suite in a3-career-final-selection.json |
| Backend preservation | 103 passed, zero failed/skipped: CareerProfileServiceTests, CvRevisionReadinessTests, CoverLetterWriterTests, CvBuilderTests; InMemory/temporary SQLite and mocked exporter/summarizer, not MariaDB/live models or physical PDF acceptance |
| Types / full lint / production build | Passed after final application changes; final browser harness scoped zero-warning lint and diff check also passed |
| Independent review | No actionable source or verifier safety findings.57 cases / three suites independently passed, overlapping212. Separate verifier review independently reconciled browser counts and unavailable fixture reads; browser/backend/build not independently rerun |
| Rendered browser matrix | 16 configurations:320/390/768/1440 × EN/NB × light/dark;96 whole-page axe scans, zero violations/overflow/page errors/unexpected writes. Six screens per journey:overview,profile,import review,library,CV editor,letter |
| Boundary/focus checks | Six EN/light configurations:320/390/768/1000/1001/1440;36 scans, zero violations. All14 direct edit targets have visible/unobscured focus; CV/letter stack through1000 and split at1001. Four configurations overlap the main matrix:108 unique screen/config captures overall, not132 unique cases |
| Fixture mutation boundaries | Main matrix48 explicit saves, boundary run18; three per journey:canonical project save preserving IDs/metadata/certifications/raw source, document-only rename preserving settings/version, manual letter save preserving revision precondition. All fulfilled in memory; no real API writes |
| Publication | See CAREER_PUBLICATION.md for exact commit/ref and independent readback |
The broad intermediate frontend run passed152 of153 cases and failed an existing typing-burst undo test. Production history code was unchanged. The test's simulated synchronous burst crossed its real one-second grouping clock under slow rendering. An unchanged isolated rerun passed. The fixture now pins only that simulated burst's clock and restores it in finally; a separate regression advances two seconds and requires two undo steps. The complete59-case studio suite then passed. Earlier failed reports remain FAILED, with that suite superseded by the later complete studio execution; totals never add overlapping runs.
Two early tablet attempts lacked matchMedia in JSDOM and are harness failures, not behavioral red evidence. A corrected viewport fixture reproduced the actual old768px mobile-mode behavior. The first browser pilot assumed desktop tabs on phones; the source already uses a mobile selector. The corrected pilot completed six scans and three fixture mutations. A visibility probe initially sampled the mobile selector's exiting invisible modal backdrop; the verifier now waits for unobscured focus rather than weakening application behavior. No source fix was needed for these harness issues.
Source imports, review/retention/conflict/history and render contracts are covered by selected existing frontend/backend tests; browser import review exercises the legacy pending comparison, low-confidence selection and no Apply. It does not qualify a parser, model or the separately deferred CV-import overhaul. Controlled CV HTML previews are not real exporter output. Prior accepted physical PDF metrics/visual evidence is reused only for unchanged renderer/fixture sources; no fresh PDF or native-language visual acceptance is claimed.
No production backend, provider, model or source data is accessed by the browser verifier. Every API request is intercepted; unavailable secondary reads are recorded and appear as honest unavailable states (company list, optional thumbnail preview and linked-CV assistance). Deliberate Career Save, CV rename and letter Save are in-memory fixture mutations. All external requests are blocked. Fixed mobile navigation can appear within a full-page scroll capture; screenshots do not establish native-device behavior. Representative mobile320,tablet768,boundary1001 and desktop1440 captures were visually inspected; this is scoped engineering review, not owner/native-language acceptance.
Native reports, failed attempts, captures and source/evidence manifest are under evidence/career. There are108 unique validated screen captures plus one FAILED-focus.png diagnostic,109 PNG files total. Frontend aggregate references reports in its own frontend directory. To repeat rendered checks from job-tracker-ui against the built static export on localhost4338: rtk proxy node scripts/verify-a3-career.mjs; set A3_BOUNDARY=1 for the six additional boundary/focus configurations. The pilot is an overlapping diagnostic, never added to the final total. AST-only graphify update passed; missing optional SQL parser and symbol-less file diagnostics remain tool limitations, with no LLM/provider activation.
Rollback reverts this presentation/control increment on its feature branch; no data/database rollback is required. Version guards and existing conflict recovery remain required. The independent document-date patch ca519cac and root security policy de3d5031 remain separate. All188 historical dynamic translation-call reviews are accounted for; this increment's paired literal EN/NB keys do not complete European localisation.
NOT RUN: real backend/browser end-to-end, MariaDB, hosted CI, native screen reader/device/touch/zoom, live models/providers, physical PDF rerender, final integrated security/recovery/release. Phase10, Product Review, Global Jobs, European localisation and release acceptance remain open. No main merge or production deployment.
Next mandatory Gate F: owner review of this published increment before A3-IM07 Calendar/reminders/correspondence/documents. Preserve deadline date precision, consent, existing ICS/export and confirmed-send boundaries. Other independently eligible roadmap work may continue while that decision is pending.