feat(cv): redesign document editing with revision-safe letters and writing tools

This commit is contained in:
cesnimda
2026-10-25 22:44:14 +01:00
parent 01e10996c5
commit 2bfaf6c14b
57 changed files with 2859 additions and 118 deletions
@@ -0,0 +1,33 @@
# CV-UX implementation checkpoint — 25 October 2026
Workspace, section, candidate-template, letter-document and contextual AI implementation is ready for final integration qualification. This is not final CV-UX acceptance. Commands and remaining lanes are in VERIFICATION.md.
The existing editor retains its save queue, content/settings ownership, preview and undo. Document context/history provenance are explicit; movement announces position and retains boundary focus; previews have page selection. Template candidates use real renderer samples, make no writes until Apply, reject late responses and use reversible visual-only application.
CV export flushes local saves and checks the requested saved revision before rendering; changed local revisions discard late downloads. Existing callers without the optional CV revision remain compatible.
All letter writers stage text/design/history with the parent transaction and shared RD21 Version. Generic/draft null/clear rules remain distinct. Previously unrecorded current text is recovered before replacement; restore creates a new version. The additive nullable migration retains old text-only records. Account/backup exports include history/design; submitted packages capture rendered letter bytes/settings without rewriting historical records.
Letter editing provides adjacent/responsive physical preview, explicit Save, reviewed contact/design snapshot copying and saved-revision export. Copy creates no live synchronization. Rendering reuses CV normalization, inline formatting, pagination and bounded PDF admission. The redundant narrower text preview is hidden when physical preview is available; legacy responses retain their fallback.
Four contextual AI controls reuse existing self-hosted owners. CV proposals retain capability/source/revision validation. Letter suggestions edit the local draft explicitly; missing career evidence prevents inference and interaction creation. Cancelled or changed-source/language responses are discarded. Letter prompt guardrails do not establish actual-model semantic qualification; see AI.md.
## Executed intermediate evidence
Artifacts reside under `.artifacts/cv-ux-01/`.
| Check | Result | Qualification |
|---|---|---|
| Full backend Debug successor | 1169 passed, 0 failed/skipped | `backend-successor.trx`; post-test wrapper quoting error retained separately |
| Full backend Release | 1169 passed, 0 failed/skipped | `final-01/backend/backend.trx`; subsequent browser attempt superseded by frontend review correction |
| Earlier full frontend | 972 passed / 107 suites | `frontend-full.json`; predates latest review changes |
| AI/letter frontend successor | 73 passed / 3 suites | `ai-ui-successor.json`; controlled responses, not real inference |
| Preview review correction | 54 passed / 2 suites | `preview-review.json`; physical-preview precedence |
| Actual disposable MariaDB design | 56 passed, 0 skipped | `letter-design-mariadb`; pinned12.2.2, down/up preservation and positive cleanup; fresh final provider run pending |
| Windows letter native PDF | 4 documents / 14 pages, zero differences | `letter-windows-01`; unchanged oracle, real API/export; predates final UI review correction |
| Build/type/lint | PASS | Release API0warnings/errors; TypeScript/lint; static build repeated after correction |
| Independent source review | One P2 corrected | Duplicate preview had narrower formatting dialect; no proven new data-loss/security defect |
Focused results overlap full suites and are never added to their totals. The first final browser attempt is incomplete/superseded and retained. Final regression must bind source/runtime hashes after the review correction.
Remaining: fresh ordinary/contract/RD21 browsers, responsive/localisation automation, provider regression, original Windows/Linux CV oracles and Linux letter fidelity. Actual self-hosted model semantics and human accessibility/device/language/print remain unqualified. Hosted isolation/MariaDB restrictions and production/Phase10 NO-GO remain. CV-IMPORT-01 is not started.