6.9 KiB
CV Integration QA: Phase 10 handoff
27 October 2026. Decision: conditional readiness for candidate assessment and planning only. No Phase 10 implementation is authorized by this handoff. Broad cleanup is NO-GO, and production approval is not established.
Entry authority and preservation
Redesign implementation plan, Phase 10 permits removal only of genuinely obsolete legacy UI after confirming no route still uses it, tests pass and the functionality inventory is satisfied. CV-QA PLAN preserves all 57 functionality groups and 33 routes and explicitly excludes Phase 10 implementation. Candidate-specific development assessment and production release decisions remain separate.
No unused deletion candidate has been verified by this work. A name containing “legacy”, an older endpoint, or a newer UI beside it is insufficient removal evidence.
| Inspected item | Current usage / disposition |
|---|---|
job-tracker-ui/src/views/CareerProfilePage.tsx:865 |
Active Docling review path renders CvImportReview; retain. |
CareerProfilePage.tsx:434, :444, :879, :928 |
Older extraction runs still use the legacy review/accept flow; retain. |
JobTrackerApi/Controllers/ProfileCvController.cs:270 |
/runs/{id}/accept remains a caller-backed endpoint for that older-run path; retain. |
job-tracker-ui/src/App.tsx:428, :432, :434 |
/kanban, /correspondence/review and /applications/:id still route through compatibility redirects; retain the active route behavior. |
The table records inspected active paths, not an exhaustive repository-wide dead-code inventory. No route or preservation group was retired by this QA scope.
Supersession and dependency inventory
| Requested inventory category | Evidence-backed disposition |
|---|---|
| Newly superseded CV Editor components | No unused component verified. The redesigned editor remains the active owner; this QA adds import compatibility rather than a replacement editor. |
| Newly superseded import components | Docling runs use the new review/mapping controls. Older runs still take the existing review/accept branch, so coexistence does not establish removal eligibility. |
| Historical-document compatibility | Retain legacy run DTOs/accept behavior, canonical revision/history contracts, null-as-inherit overrides, CV versions, frozen HTML/binary packages and letter/application versions. |
| Obsolete dependencies | None established. Pinned Docling dependencies are active; older Python extraction supports other legacy input paths. Dependency removal needs caller/runtime/image and security evidence, not package age. |
| Duplicated services or UI | No duplicated canonical profile, queue or revision owner was introduced. CvImportMapping translates reviewed assignments; CareerProfileMapper persists canonical projections; interpreter/review and legacy diff functions serve distinct contracts. No verified duplicate is nominated for deletion. |
| Required cleanup tests | Candidate caller/route/old-data compatibility checks, canonical/provider rollback/revision/replay tests, import review/browser cases, all57/33 preservation membership and relevant unchanged PDF/font oracles. Human/model/deployed qualifications remain separate. |
These negative findings delimit this audit; they do not claim exhaustive dead-code or dependency analysis. Broader inventories belong to a separately authorized candidate assessment.
Evidence available and its boundary
- The independent read-only review of scoped
ef425c2changes found no confirmed new owner/revision/replay/data-loss or terminal-race blocker. It identified retained unlabelled pipe-column order as a qualification limit. It did not run builds/tests or establish production correctness. .artifacts/cv-integration-qa/real-browser-01.jsonrecords six local Chromium cases passing with zero skipped/unexpected/flaky cases. Four new CV-QA scenarios are included in that six. They exercise real Docling, source assignment, durable readback, selected conflict/reimport behavior, scoped CV customization and PDF download; the English desktop case also checks frozen application/letter preservation.- Scope-specific axe scans record zero violations and one incomplete color-contrast result each. English/Bokmål, light/dark and 1440/390/768 CSS viewport samples, selected Enter activations, reduced-motion emulation and screenshots are automated evidence. Manual QA keeps human/device/assistive-technology/native-language/contrast/print checks OPEN.
- Final evidence reconciliation passes: backend1336; frontend995/109; ordinary364 with exact discovery membership; separate browser configurations53; actual MariaDB80 including connection loss; Python90; original Windows/Linux24CV+4letter oracles per platform. A seventh real-import case produces three additional four-page PDFs with complete facts/associations/bounds. Focused and successor counts are not added to overlapping full totals. See REGRESSION_RESULTS.md and evidence-summary.json.
- No live CV-model inference was run. Local automation, a real local provider and static review do not prove hosted isolation, deployed identity, production acceptance or semantic model quality.
Required candidate assessment before any cleanup
For each proposed deletion, the development owner must identify the exact file/symbol/route and its replacement, trace current callers and compatibility paths, and demonstrate the inventory behavior remains satisfied. Record old-run/data-format compatibility and owner/revision/error/recovery behavior where relevant. Run the candidate's affected tests against a frozen source identity and reconcile discovery membership and native exits; preserve the 57-group/33-route inventory and relevant PDF goldens.
The reviewer then records the concrete impact, regression risk, rollback/recoverability and acceptance decision for that candidate. If a route or consumer is active, retain it or propose a separately authorized compatibility transition. Passing unrelated QA cannot make an active consumer obsolete.
Owner actions and stop conditions
Development owner: retain the completed evidence reconciliation, carry forward open qualifications without upgrading them, and nominate a concrete candidate only after finding evidence it is unused. Product/manual QA owner: complete the OPEN acceptance checks in the companion handoff. Release owner: separately establish fresh deployed/source identity and remaining hosted/provider/security/release gates before any production decision.
Stop after assessment/planning. Do not start cleanup, remove legacy review/accept/redirect behavior, merge to main or deploy under this handoff. The principal risks are deleting still-used compatibility behavior, treating scoped automation as complete acceptance, and losing preservation coverage through overlapping or stale evidence. No verified unused candidate is currently ready for implementation.