4.6 KiB
4.6 KiB
Current capability and preservation matrix
Source baseline: 28f83df. Source inspection is not a runtime pass. All frontend paths below are under job-tracker-ui/src/; backend paths under JobTrackerApi/.
| Existing capability | Current owner | Improvement / research trace | Data impact | Coverage and preservation |
|---|---|---|---|---|
| Library, duplicate, delete, publish/share | views/CvBuilderPage.tsx, views/CvBuilderEditor.tsx, CvVariantController |
Preserve existing routes and actions; D1–D2, E19–21 | None | cv-builder-page, cv-editor-frame, PublicCv tests |
| Identity, linked job, save states | editor header, serialized save queue | More prominent document context; wireframe D-A, AC-01/04 | None | editor-frame and revision readiness |
| Canonical Career Profile | CareerProfileService, CvVariantService resolution | Explicit source/local wording; never duplicate career CRUD | None | CvBuilderTests, profile/override browser cases |
| Section outline/navigation/hide/order | editor ContentTab, SectionRow, EntryList, useDragReorder | Preserve stable keys, custom sections/presets; accurate reorder feedback and focus; E1–7/13, AC-03 | Existing settings only | cv-content-workflow, cv-responsive-workflow, cvBuilder unit |
| Personal/contact, summary, experience, education, skills, languages, certifications, projects, interests, awards, publications, organisations, references | actual outline and DEFAULT_SECTION_ORDER; master contact | Preserve actual inventory, custom courses/volunteer/additional experience/declaration and arbitrary text | Existing settings; no master deletion | renderer/outline and custom-section tests |
| Adjacent preview, physical pages, fit-to-width | editor, cvPreview.ts, ThemedCvRenderer | Preserve debounce, last-good result and error/retry; improve page navigation; E2/14, M1–4, AC-05 | None | cv-preview-presentation, pagination and PDF oracles |
| Template catalogue / availability / capability filtering | CvTemplateGallery, CvCustomizeTab, cvBuilder.ts | Real sample candidate before explicit Apply, cancel with no writes, stale-result exclusion; E8–12, AC-02 | Only confirmed visual patch; one undo step | gallery/controls and candidate dialog tests |
| Typography/colours/spacing/page/contact/section settings | CvCustomizeTab, renderer normalisation | Preserve safe ranges and null inheritance; app theme remains separate | No migration | cv-document-controls, CV settings/PDF corpus |
| Undo/redo and saved settings history | editor, CvVariantService | Explain that settings resolve today's master; frozen package is separate; AC-10 | None | editor/history and submitted-package tests |
| CV optimistic save, conflict/recovery/export | editor, CvVariantService, shared EF Version | Preserve RD21 queue/ack semantics, fail before stale export | No token change | CvRevisionReadinessTests, rd21 companions, MariaDB |
| Application CV attachment/tailoring/letter | ApplicationAssets, applicationWorkspace.ts, ApplicationAssetsService | Keep job ownership and explicit Save/Discard; clarify pair; L2–9, AC-06–09 | Versioned letter extensions only after all writers safe | assets, cross-writer, owner/concurrency tests |
| Dedicated letter save/restore | shared application Version + CoverLetterVersions | Reuse RD21 token; original new-counter proposal superseded | Preserve null/clear and atomic history | ApplicationAssetsTests and relational provider |
| Generic/create/draft letter writes | JobApplicationsController | Route intended mutations through shared history staging before presentation | Add missing history without independent save/commit | all callers/DTOs/imports must be inventoried before change |
| Frozen submitted packages, exports/backups | SubmittedApplicationPackageService, AccountDataExportService, Backup/Export controllers | Preserve bytes and old text-only snapshots; designed-letter capture requires additive compatible contract | Never rewrite old records | submitted-package, documents, backup/export tests |
| AI tools/proposals/eligibility | existing CV and application AI services | Preserve Apply/Reject and consent; paid FlowCV results unobserved | None | existing AI contracts; semantics remain deferred |
| EN/Bokmål, light/dark, compact mode | I18nProvider/translations, MUI tokens, editor media query | Use same owners, no duplicate active mobile editor; AC-11/12 | None | unit, axe, viewport/theme/locale browser matrix; human cards separate |
The broader 57-group Phase 9 inventory retains 56 PARTIAL and C11 DEFERRED; this feature cannot promote unrelated groups. Research controls not supported by current Jobjakt are not silently added as new models.