Files
jobtrackingapp/docs/cv-import/REVIEW.md
T

2.6 KiB

Review, corrections and merge qualification

26 October 2026. The existing Career Profile page now routes PDF/DOCX through the document import pipeline. Legacy text/image upload and historical reviews remain available. Upload does not change the canonical profile.

Desktop presents an authenticated original PDF beside grouped fields; mobile offers source/review tabs. DOCX provides ordered extracted source and the original download rather than claiming a browser-rendered pagination preview. Source evidence shows the supporting text, converter method and page where known. Uncertain relationships and converter warnings remain visible. No field starts approved.

Users can keep the current value, accept/add the imported value, correct it, or skip it. A group approval is an explicit user decision. The final Apply action submits only selected decisions and the canonical revision loaded for comparison. A conflict refresh preserves corrections but resets confirmations against the new comparison. An all-skipped import must be discarded; it cannot display a misleading saved acknowledgement. Successful application links to Career Profile and the existing CV Editor.

Review matches records conservatively using complete identity/date keys; incomplete and multiple matches require a new record or manual correction. Existing nonmatching fields, list entries, links and CV-specific overrides remain intact. Nested list provenance follows the actual appended/deduplicated destination index. Each imported fact retains artifact/run/file-hash identity even after later imports or client saves. Grounding occurs after canonical normalization so duplicate source skills cannot shift evidence onto another value.

Independent code review identified stale-worker publication, nested merge provenance, duplicate targets, old pending-review visibility and benchmark record association defects. Regressions reproduced them before fixes. Additional tests cover DOCX DTD rejection, inert document hyperlinks, bounded errors, per-field source identity and canonical rather than legacy projection revision numbering. Failed attempts are retained under .artifacts/cv-import/; focused suites overlap and are not added to final totals.

The dedicated real import browser lane uses the actual isolated FastAPI/Docling child, durable API worker, reviewed transactional save, unchanged pre-existing CV variant, redesigned editor and actual PDF export. It exercises English/light/desktop PDF and Bokmål/dark/mobile DOCX, source ownership, refresh, no implicit save, corrections and automated accessibility. Browser automation does not qualify physical devices, human assistive technology, translation quality or printing.