Files
jobtrackingapp/docs/pre-phase10-ux/CV_BUILDER_REPRODUCTION.md
T
2026-10-27 07:37:03 +01:00

3.8 KiB

CV Builder reproduction and correction

Date: 2026-10-27. Baseline: accepted CV-QA 4a8c907; corrective branch codex/cv-builder-blank-undo. Audit checkpoint 5d4b8f2 is pushed. Production and live-model gates remain closed.

Observed failures before application changes

Actual development browser used the repository Playwright configuration: Next development server (next dev --webpack), local Release API, isolated synthetic SQLite data, disabled AI/background workers, and loopback-only browser requests. No production resources or personal documents were used.

  • Creating a new CV inherited four independent canonical markers: name, headline, summary and employment role. The creation dialog had no explicit Blank choice. Career Profile itself remained unchanged.
  • After a section reorder was saved and read back, Ctrl+Z with the Undo toolbar button focused left the sections reordered. Expected document undo did not occur.
  • An initial headline-only keyboard check passed through native browser text undo. This is retained as an observation, not used to prove document shortcuts worked. The authoritative failure uses a non-text reorder.

Raw runtime evidence: .artifacts/pre-phase10-ux/runtime-red/results.json (original one failure and one native-text pass); reorder-results.json (one focused failure), with screenshots and Playwright traces in their result directories. These are separate runs, not additive suite totals.

Backend RED: six requirement failures and one legacy-preservation pass in blank-red/blank-red.trx. Library RED: two failures in blank-ui-red.json. The initial four-suite frontend run included those two newly added failures: 87 passed/2 failed, so it is not a fully green starting baseline.

Editor RED reproduced typing-burst history, missing document shortcuts/name history, enabled Undo after revision conflict, previous document controls remaining visible while the next document loads, and automatic section hydration despite explicit empty settings. A subsequent historical-restore test reproduced a late response setting a conflict on another document. Harness syntax/navigation setup failures are retained but do not count as product reproductions.

Correction contract

New creation defaults to Blank: explicit empty section selection and excluded profile contact. From Career Profile offers actual available sections and optional contact, initially unselected. Existing documents without the new nullable flags retain historical inheritance. Design selection changes presentation; duplication and restore preserve the stored selection. Empty export fails with a translated explanation before allocating a PDF worker.

Interactive history records immutable name/settings snapshots, bounded to 60 undo steps within the current editor session. Changes in one focused text field within one second form a typing burst; focus changes and separate controls end that burst. Structural actions are individual steps. New edits clear redo. Autosave acknowledgements preserve history; reload, historical restore and opening another document reset it. History is not a frozen document revision.

Outside editable controls, Ctrl/Cmd+Z undoes, Ctrl+Y or Ctrl/Cmd+Shift+Z redoes. Native input/textarea/contenteditable shortcuts remain native. Revision conflicts disable document history and retain the draft for explicit recovery. Save success still requires the established version-aware server acknowledgement; no history operation bypasses RD21.

Qualification in progress

Focused backend: 108 passed, zero failed/skipped (blank-green/blank-green.trx). TypeScript: exit zero. This does not substitute for real MariaDB, RD21, the browser result, full regression or human/device acceptance. Final checkpoint evidence and independent verdicts will be recorded after those applicable lanes complete.