Files
jobtrackingapp/docs/verification/career-002-cv-builder.md
T
cesnimda efacc3a06b
CI and Deploy / test (pull_request) Failing after 1m36s
CI and Deploy / deploy (pull_request) Has been skipped
docs(cv): complete builder implementation evidence
2026-08-09 21:08:28 +02:00

4.1 KiB

CAREER-002 CV Builder redesign

Updated: 2026-08-09

Status: IMPLEMENTED — NOT VERIFIED. Repository interactions and automated/build gates are complete; browser, external research and production gates remain.

Revalidated capability matrix

Requirement Existing implementation Current status
Ordered section list Default plus persisted section order Implemented; browser pending
Expand/collapse Entry-based sections use explicit collapse controls Implemented; deeper tests pending
Inline editing Section title and per-entry title/subtitle/bullets overrides Implemented; validation depth pending
Add entries Explicit custom-section entries; master entries remain profile-owned Implemented; browser pending
Delete entries/sections Confirmed deletion for populated custom entries/sections; profile entries hide instead of mutating the profile Implemented; browser pending
Reorder sections/entries Native drag plus named up/down keyboard buttons Implemented and persistence-tested
Visibility Named section/entry/custom-section hide/show controls Implemented and persistence-tested
Save feedback Unsaved/Saving/Saved/failed badge existed Hardened in b58cc19
Navigation safety Debounced/failed state could be abandoned silently Hardened in b58cc19
Preview Debounced live server render beside editor; visible failure/retry; below editor on narrow layout Implemented; responsive/browser review pending
Versions/public/PDF Existing history/restore, public toggle/link and PDF export Preserved; regression/production gates remain

Save-integrity increment

  • Latest settings/name are retained independently of render closures.
  • Monotonic save revisions prevent an older overlapping request from changing a newer edit to Saved or Save failed.
  • Blank names show inline validation and are not sent as misleading no-op renames.
  • Unsaved and failed states expose Save now; failed saves retry the latest settings.
  • Data-router navigation is blocked until the user explicitly confirms discarding pending/failed changes. Reload/tab close uses the browser's before-unload warning.
  • The debounce timer is cleared on intentional unmount. Existing version creation and API payloads are unchanged.

Interaction and error increments

  • Custom sections retain the existing string[] storage model but expose entries individually: add, multiline edit, inline empty validation, arrow reorder and confirmation before destructive deletion.
  • Custom sections can be reordered and hidden without changing the Career Profile. Deleting an original profile-backed entry is intentionally not offered; variant-specific hide/override preserves source-of-truth ownership.
  • Profile-backed section and entry controls include the affected section/entry name. Expand controls expose aria-expanded.
  • Preview failure no longer silently preserves stale output without explanation; an error state and in-context retry are available.

Verification to date

  • Focused Builder list/helper/deep-link/save/navigation: 3 suites, 17/17 tests; editor deep-link/interaction 9/9.
  • Full frontend: 49/49 suites, 184/184 tests.
  • Production build/TypeScript and git diff --check: pass.
  • Implementation commits: b58cc19, a5b74e0, 2043349.

Research limitation

The programme asks for authenticated FlowCV browser research. Browser tooling was finalized earlier in this session and no authorized FlowCV session was inspected. Existing repository research documents were read as prior context, but this is not reported as fresh browser evidence. Implementation continues from confirmed JobTracker gaps.

Remaining verification

  • Decide and verify narrow-screen editor/preview navigation from rendered behavior.
  • Run 375/768/1440, Light/Dark, keyboard/focus, empty/error and production synthetic-variant checks.
  • Recheck DOCX status honestly: the current architecture documents it as an extension point, while PDF/public rendering are implemented.

Rollback

Revert 2043349, a5b74e0 and b58cc19 in reverse order. No schema, dependency, configuration, CV data rewrite or version migration is involved.