Files
jobtrackingapp/docs/automation/handoffs/pre-phase10/TRACEABILITY.md
T

9.0 KiB

Capability-to-evidence traceability

Fresh source baseline: 5032ccb415. Report IDs below resolve through TEST_EVIDENCE.json to native reports, actual process exits, test identities and source hashes. PASS means the finite automated behavior exercised, not blanket feature, semantic, human or production acceptance. No application source or existing test was changed for this handoff.

Required capability Current owner / actual tests Fresh report IDs Decision and limits
Completely blank CV, zero unwanted sections CvBuilderEditor; e2e/pre-p10-cv-editor.spec.ts; CvBlankPersistenceTests ordinary-1/2/3/4, backend, mariadb-provider Automated PASS; actual blank durable save exercised
Create from Career Profile, section selection CvBuilderEditor/CareerProfileMapper; pre-p10 editor and cv-section-scope specs ordinary shards, backend, frontend Automated PASS; profile remains canonical; explicit supported selections
Undo/redo across supported operations editor history; pre-p10 editor spec and frontend tests ordinary shards, frontend Automated PASS for bounded document operations; not undo of every remote side effect
Save, refresh, lost response and recovery ApplicationAssetsService/version tokens; provider and RD21 suites mariadb-provider, mariadb-browser, rd21, rd21-volume Automated PASS; success requires read-back/durable write
Multiple-session editing, stale writes existing revision contract; MariaDB concurrency suites mariadb-provider, rd21, preferences Automated PASS for conflicts/no lost update; not simultaneous human usability approval
Existing CVs, frozen revisions, job variants and submitted packages ApplicationAssetsService; original renderer; documents-contract/cv-library specs backend, ordinary shards, original PDF artifacts Automated finite PASS; no old-data rewrite; preservation overall remains PARTIAL
Nine-template library and actual previews CvTemplateGallery/Thumbnail; actual sandboxed HTML samples, explicit Apply frontend, ordinary shards, windows/linux-browser Automated PASS; aesthetics PARTIAL
Existing/new title and section spacing CvTheme/ThemedCvRenderer design versions windows/linux-template-oracle, -name-ink PARTIAL: unchanged S01 failures; never waived by ink diagnostic
Optional photos, crop and theme persistence editor/photo/theme owners; revised corpus frontend, ordinary shards, template measurements Automated finite PASS with synthetic geometric photo; human photo/layout review open
Font consistency/weights, margins, headings, bullets/columns/page breaks licensed bundled fonts/shared physical renderer; original and revised oracles original PDF artifacts; template-completeness/-name-wrap/-sidebar Content/bounds PASS; coordinate fidelity FAIL; visual rhythm/whitespace PARTIAL
Multi-page and long names/skills/education, Norwegian characters four revised fixture profiles and matching letters template-completeness; matching-letter proofs 36 CVs/122 pages and18 letters/38 pages per platform; automated finite PASS, physical printing NOT TESTED
Real PDF and DOCX conversion bounded Python Docling; import-tests/cv-import-docling.spec.ts; Python document tests docling-import, python-docling Automated PASS for supported text PDF/DOCX fixtures; scanned/OCR/layout breadth not qualified
Real worker dispatch and progress existing CV worker/store/AdminProcessing owners local-worker, docling-import, diagnostics Actual queued→running/extracting→pending_review plus owner-correlated events PASS; finite timeout/cancel tests separate
Canonical Career Profile field mapping/new records import interpreter/mapper/reviewed persistence; import-tests/cv-integration-qa.spec.ts cv-integration-qa, long-import, mariadb-provider, backend Automated supported workflow PASS; deterministic recall remains PARTIAL; unknown values must stay unknown
Review/correction, group/field approval, source evidence career/CvImportReview/CvImportMappingEditor cv-integration-qa, docling-import, frontend, backend Automated PASS; original PDF preview, DOCX source download/text; no claim of inline Word renderer
Duplicate/conflict resolution, preserve existing values reviewed apply owner and provider tests mariadb-provider, cv-integration-qa, backend Automated PASS for exercised matching/update/skip paths; conservative human decisions retained
Transactional MariaDB apply, idempotent replay, rollback CvImportReviewedPersistenceTests/CvImportConnectionLossTests/CvImportLifecycleConcurrencyTests mariadb-provider 90 provider cases overall, not90 import-only cases; rollback/concurrency/replay covered
Revision safety and repeated requests existing profile/job revisions and RD21 contracts mariadb-provider, rd21, mariadb-observations PASS for covered concurrency/recovery. Two observation cases document repeated creation behavior; do not prove creation-intent idempotency
Failure/retry/cancellation/restart and provenance CV worker durable states/source ownership and parser tests backend, python-offline, docling-import, long-import, diagnostics Automated PASS for finite cases; ownership/tenant/source checks retained; no indefinite success by timers
Dashboard actual drag/resize DashboardGrid + LayoutEditor; phase8-dashboard-customisation and dashboard-presentation specs ordinary shards, frontend, preferences Automated PASS; keyboard alternatives, collision and persistence covered
Dashboard show/hide/save/reset, v1 preferences and stale-save conflicts dashboardLayout/useDashboardLayout preferences, frontend, ordinary shards Automated PASS; hidden/future widget data retained
Dashboard mobile and keyboard use responsive linear layout/navigation guard ordinary shards, frontend Automated viewport/keyboard/axe PASS; physical mobile and AT NOT TESTED
Admin owner + related job/import attribution AdminProcessingPage/controller/store diagnostics, backend, local-worker Automated PASS for scoped IDs and real events; no cross-user progress/result access accepted
Admin stage/status/duration/failures and bounded polling admin-processing.spec.ts and API tests diagnostics, frontend, backend Automated PASS; provider_unavailable history retained even when retry succeeds
Sanitised event logs, redaction, authorisation and tenant isolation processing diagnostics service + authorisation tests diagnostics, auth, rate, ingress, backend Automated PASS for exercised payloads/roles; no claim of exhaustive repository security scan
Real Docling vs deterministic interpretation separate converter/grounding/interpreter python-docling, python-offline, benchmark-new/-original, import journeys Real conversion PASS; extraction recall PARTIAL; benchmark fixtures are finite synthetic source facts
Queued AI strategy generation existing generic operation worker/StrategySnapshotService local-worker, ai, backend Real local queue completed and persisted summary; earlier provider failure retained; separately authored ProfileCvText required
Scheduled job enrichment current scheduled worker/sidecar local-worker Actual scheduler persisted summary+tags at configured cadence; semantic correctness NOT qualified
Safe structured outputs and model failures cv_import_ai.py and grounding tests; isolated immutable probe python-offline, cv-model-probe, model-verification artifacts Contract tests PASS; all3 real CV probes rejected. CV model compatibility/accuracy BLOCKED; adapter stays disabled/disconnected
Generic AI from imported structured profile alone StrategySnapshotService requires legacy ProfileCvText AI_RESULTS.md, BLOCKERS AI-CONTEXT-01 NOT QUALIFIED: reviewed import deliberately does not populate legacy raw CV text; no fabricated compatibility claim
Routes, auth, jobs/applications, CV/letters, settings, administration existing shared owners; redesign-preservation and route specs ordinary shards, auth, backend, frontend, preservation-register 380 ordinary cases with discovery identity; all57 preservation entries/34 routes retained,56 PARTIAL/1 DEFERRED unchanged
EN/Bokmål, light/dark, responsive/reduced motion existing translations/themes/a11y specs ordinary shards, frontend, native PDF measurements Finite automated PASS; human copy/contrast/AT/device approval NOT TESTED. Other languages not newly qualified

ordinary-* denotes four disjoint reports (380 unique executed cases), not an extra suite added to the total. Specialized contracts have53 cases, import journeys8, real-provider browser checks3 and Linux native-browser checks8; these are separate lanes, not all unique product scenarios. Backend1448 and frontend1031 include many of the behaviors above; row counts must never be summed.

See VISUAL_REVIEW.md, AI_RESULTS.md, MANUAL_ACCEPTANCE.md, AUTHORITY.md and BLOCKERS.json for the deliberately unfinished acceptance decisions. No listed PASS supplies protected Phase10 approval.