3.9 KiB
CV-UX-01 implementation plan
Goal: modernise the existing CV/document workflow without replacing its persistence or rendering contracts. Architecture: existing React/MUI editor plus existing .NET/EF owners; candidate preview is read-only until explicit visual-only application. Shared application Version remains the letter concurrency token. Spec: ENTRY.md, owner mission, imported research design/wireframes and AC-01–15. Execution: autonomous in the requested feature branch; use task-scoped implementation/review where useful, retain checkpoint evidence in TODO.md. No routine permission pauses.
Constraints and review focus
No main merge/deployment, canonical-profile replacement, new AI providers, Docling, Phase 10 cleanup or unbounded customization. No new dependency initially. Check stale candidate responses, theme cancellation, unsaved export ordering, cross-writer atomicity and historical-source semantics. Retain exact null/clear contracts, tenant filtering, all existing supported controls and frozen bytes.
Tasks
The owner's additional mandatory AI scope is tracked in AI.md: four directly accessible actions, existing self-hosted contracts, review before application, missing-source handling and honest per-action qualification. Complete this checkpoint alongside section editing and revision safety, before final acceptance.
- CV-UX-00 entry/research: verify baseline, hash all original files, inspect all 37 screenshot/DOM checkpoints, preserve portable research prose and map every recommendation against current owners. Commit/push entry and plan.
- CV-UX-01/02 workspace/sections: extend
views/CvBuilderEditor.tsxand both locale dictionaries. Preserve controls and layout owners; improve context, history wording, section reorder announcements/focus and section discovery. Add assertions to current editor browser tests before changing behavior; run focused suites and commit/push. - CV-UX-03 candidates/preview: add
components/cv/CvTemplatePreviewDialog.tsx; integrate atCvCustomizeTabwithout changing library creation semantics. ReusecvBuilderApi.themePreview(themeId): Promise<CvRender>andapplyCvTheme. Test no update on open/cancel, retry, late response, lock enforcement, reset confirmation, preservation and one undo step. Physical pages use cvPreview readiness; no new PDF request for browsing. Add bounded page navigation to existing preview. Commit/push after unit/browser proof. - CV-UX-04/05 letters: inventory every current
CoverLetterTextwriter and caller. Reuse RD21 Version instead of the historical proposal's second revision system. Add failing cross-writer/history/null/clear tests, then stage all intended mutations atomically at the shared service owner. Qualify on actual disposable MariaDB before persistent design/export. Preserve explicit local drafts, no-op acknowledgement, restore-as-new, imports/backups and owner isolation. Add only compatible letter rendering/settings after this gate; safe body-only preview can proceed independently and must say what it previews. Record precise blockers without pretending an incomplete subphase is accepted. - CV-UX-06/07 acceptance: run frontend/backend regression, browser preservation and failure workflows, theme/locale/width/accessibility checks and original Windows/Linux PDF oracles. Bind outputs to source. Review whole diff, fix material defects, publish evidence and exact limitations. Human/device/provider checks remain NOT TESTED unless actually performed. Commit/push final report and verify remote equality. Hand off CV-IMPORT requirements without starting it.
Each implementation task starts with a failing behavior assertion, then the smallest implementation and matching focused verification. Existing passing functionality is retained as regression coverage, not rewritten merely to generate a new diff. Exact final commands/counts belong in acceptance evidence, not this prospective plan.