feat(cv): harden multi-page builder
Wrap pathological content, paginate oversized entries, measure A4 and Letter previews correctly, unify section ordering, and gate stored-output actions on saved state.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# CAREER-002 CV Builder redesign
|
||||
|
||||
Updated: 2026-08-09
|
||||
Updated: 2026-08-15
|
||||
|
||||
Status: `IMPLEMENTED — NOT VERIFIED`. Repository interactions and automated/build gates are complete; browser, external research and production gates remain.
|
||||
Status: `IMPLEMENTED — NOT VERIFIED`. Repository, automated and pathological Chromium/PDF gates are complete; authenticated application-browser and production gates remain.
|
||||
|
||||
## Revalidated capability matrix
|
||||
|
||||
@@ -20,6 +20,18 @@ Status: `IMPLEMENTED — NOT VERIFIED`. Repository interactions and automated/bu
|
||||
| Preview | Debounced live server render beside editor; visible failure/retry; below editor on narrow layout | Implemented; responsive/browser review pending |
|
||||
| Versions/public/PDF | Existing history/restore, public toggle/link and PDF export | Preserved; regression/production gates remain |
|
||||
|
||||
## Multi-page/rendering increment
|
||||
|
||||
- Removed page-level clipping and added wrapping/min-width protections for names, titles, employers, contact values, URLs, tags and two-column content.
|
||||
- Short entries remain intact. Large entries and large list items flow at safe internal boundaries instead of becoming unsplittable blocks taller than a page.
|
||||
- The legacy job-specific CV templates receive the same wrapping/pagination rules; sidebar values are now HTML-encoded consistently.
|
||||
- Preview measures both document/body height, uses the selected A4 or Letter dimensions, applies ceiling-based page counts, exposes real Fit/percentage controls, and reports horizontal overflow.
|
||||
- Three-page and longer CVs receive content-density guidance. Text size is not silently reduced.
|
||||
- Custom sections now participate in the same section order as master-profile sections.
|
||||
- Autosaves are serialized; stale preview responses are ignored; export/public actions save pending edits first.
|
||||
- CV deletion and version restore use the shared application dialog system.
|
||||
- The non-functional page-number switch is no longer advertised; `ShowPageNumbers` remains a backward-compatible exporter extension point until the Chromium CLI path supports controlled PDF footers.
|
||||
|
||||
## Save-integrity increment
|
||||
|
||||
- Latest settings/name are retained independently of render closures.
|
||||
@@ -38,18 +50,19 @@ Status: `IMPLEMENTED — NOT VERIFIED`. Repository interactions and automated/bu
|
||||
|
||||
## Verification to date
|
||||
|
||||
- Focused Builder list/helper/deep-link/save/navigation: 3 suites, 17/17 tests; editor deep-link/interaction 9/9.
|
||||
- Focused Builder list/helper/deep-link/save/navigation: 3 suites, 21/21 tests; editor deep-link/interaction 9/9.
|
||||
- Focused renderer/template backend: 25/25 tests.
|
||||
- Full frontend: 49/49 suites, 184/184 tests.
|
||||
- Production build/TypeScript and `git diff --check`: pass.
|
||||
- Implementation commits: `b58cc19`, `a5b74e0`, `2043349`.
|
||||
- Pathological Chromium render: 14 long roles, 75 long skills, oversized name/email/URL, zero horizontal-overflow elements, nine-page PDF (173,196 bytes) with extractable final-page content.
|
||||
- Implementation commits: `b58cc19`, `a5b74e0`, `2043349` plus the V-165 checkpoint.
|
||||
|
||||
## Research limitation
|
||||
## Product research
|
||||
|
||||
The programme asks for authenticated FlowCV browser research. Browser tooling was finalized earlier in this session and no authorized FlowCV session was inspected. Existing repository research documents were read as prior context, but this is not reported as fresh browser evidence. Implementation continues from confirmed JobTracker gaps.
|
||||
Public current material for Reactive Resume, Resume.io, Enhancv, Novorésumé, FlowCV and Canva was reviewed. Repeated patterns and adopted/rejected decisions are recorded in `docs/research/cv-builder-patterns.md`. No authenticated/private competitor session was used or claimed.
|
||||
|
||||
## Remaining verification
|
||||
|
||||
- Decide and verify narrow-screen editor/preview navigation from rendered behavior.
|
||||
- Run 375/768/1440, Light/Dark, keyboard/focus, empty/error and production synthetic-variant checks.
|
||||
- Recheck DOCX status honestly: the current architecture documents it as an extension point, while PDF/public rendering are implemented.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user