Files
jobtrackingapp/docs/cv-redesign/PLAN.md
T

21 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.