21 lines
3.6 KiB
Markdown
21 lines
3.6 KiB
Markdown
# 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
|
||
|
||
1. **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.
|
||
2. **CV-UX-01/02 workspace/sections:** extend `views/CvBuilderEditor.tsx` and 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.
|
||
3. **CV-UX-03 candidates/preview:** add `components/cv/CvTemplatePreviewDialog.tsx`; integrate at `CvCustomizeTab` without changing library creation semantics. Reuse `cvBuilderApi.themePreview(themeId): Promise<CvRender>` and `applyCvTheme`. 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.
|
||
4. **CV-UX-04/05 letters:** inventory every current `CoverLetterText` writer 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.
|
||
5. **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.
|