docs(cv-qa): verify baseline and map integration coverage
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# CV Integration QA Implementation Plan
|
||||
|
||||
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:executing-plans. Root owns sequencing, UI, evidence and Git; scoped workers may implement independent backend/parser units. Steps use checkbox syntax.
|
||||
|
||||
**Goal:** Repair source-backed missing-record/field mapping and safe structural interpretation, then qualify the complete import/profile/editor/document lifecycle.
|
||||
|
||||
**Architecture:** Extend existing review contracts with explicit typed field mappings tied to owned source blocks and deliberate current-record targets. Retain unresolved semantic relationships; never guess unlabeled employer/title roles. Reuse canonical transactions/revisions, queue, MUI and physical renderer.
|
||||
|
||||
**Tech Stack:** Existing .NET9/EF/Pomelo, React/MUI/TypeScript, pinned Docling/FastAPI, disposable MariaDB12.2.2, Playwright and unchanged PDF oracles.
|
||||
|
||||
**Spec:** Owner CV-QA-01 attached request; ARCHITECTURE_AND_COVERAGE.md records actual entry contracts/gaps.
|
||||
|
||||
## Global constraints and approach
|
||||
|
||||
Branch `test/cv-integration-acceptance` contains `ef425c2`. No main merge, production/service/schema/cache operations, destructive migration, live CV-model activation, broad AI selection or Phase10 implementation. Use synthetic documents and bounded isolated test resources. Commit/push/verify every validated checkpoint. Preserve old benchmark/acceptance/goldens, all 57 groups and 33 routes.
|
||||
|
||||
Approaches considered: positional/lexicon guessing would improve apparent recall while misattributing facts; activating model inference violates the explicit gate. Chosen implementation: deterministic semantics when actually labelled/header-defined; source-preserving abstention and user-controlled mapping when ambiguous. This is an engineering choice under the owner's explicit autonomous instruction, not a new human approval claim.
|
||||
|
||||
## Review focus
|
||||
|
||||
- A valid job followed by another unlabeled employer/title/date must not absorb the latter as achievements.
|
||||
- Repeated words in different records must retain the correct source occurrence, not the first global match.
|
||||
- A missing record/field can be created without accepting any rejected original proposal; mapping-only application is valid.
|
||||
- Explicit existing-record targets are revision-bound, owner-scoped and cannot silently become another target after 409.
|
||||
- Retried mappings, rollback/projection failures and competing first/existing writes cannot duplicate or lose canonical data.
|
||||
|
||||
## Checkpoint tasks
|
||||
|
||||
- [x] **CV-QA-00:** verify ef425c2/remote/ancestry/raw evidence; audit source/authority; fresh actual MariaDB70; field matrix and preservation delta; commit/push/verify.
|
||||
- [ ] **CV-QA-01:** add failing backend/controller/provider tests for explicit source-backed record/field mappings and mapping-only apply. Extend review DTO with owned source blocks, field catalog and current-record target labels. Request mappings have stable client ID, allowlisted category, optional target index, and fields `{name,value,sourceBlockId,corrected}`; no caller IDs/metadata/derived dates/arbitrary patches. Apply under existing revision/transaction, stamp actual source identity, include mappings in idempotency/audit; validator/size bounds remain. Root adds accessible EN/NB generic mapping controls and UI tests for rejection, source selection and stale retained drafts. Run focused tests/provider; commit/push/verify.
|
||||
- [ ] **CV-QA-02:** red tests in CvMultilineImportTests for labelled multiline records, safe header-defined table order, repeated source occurrences and ambiguous record after resolved record. Update CvDocumentInterpreter to preserve source units and section-local state, attach only clear continuations, retain ambiguity for explicit assignment. Ground respects validated selected source block evidence. Extend a separate frozen synthetic corpus/oracle with both orders/missing dates/headings/overlaps/lists/tables; preserve original corpus/hash. Report parsing versus interpretation versus mapping versus reviewed correctness, denominators/F1/record/provenance/abstention. Real Docling fixtures; commit/push/verify.
|
||||
- [ ] **CV-QA-03:** qualify same/revised/older/overlapping imports and explicit targets, similar-but-distinct employers, partial/conflicting dates, per-field rejection, source/corrections/mobile/keyboard. Extend reviewed HTTP/browser tests; fix bounded defects; commit/push/verify.
|
||||
- [ ] **CV-QA-04:** actual MariaDB multi-record mapping/partial approval/rejected-field readback, replay/stale/concurrent first/existing write, rollback and owner checks. Existing lease/cancel/recovery retained; measure database interruption scope honestly. Commit/push/verify.
|
||||
- [ ] **CV-QA-05:** real Docling new/old-user journeys through authoring, durable readback, variants/customizations/template/order/visibility, new revision, editor, application association and frozen letter/package preservation. Minimal fixes only; commit/push/verify.
|
||||
- [ ] **CV-QA-06:** unchanged Windows/Linux24CV+4letter oracles plus rendered imported content (long work/skills/education/Unicode/templates/boundaries), semantic completeness and original portable fonts. Commit/push/verify.
|
||||
- [ ] **CV-QA-07:** real malformed/bomb/external/size/page/prompt/ownership/retention/cancel/exhaustion tests; latest advisory/disposition evidence and new lock audit kept separate. Bounded concurrent synthetic uploads and observable latency/CPU/memory/temp-disk/failure measurements; no model benchmark. Commit/push/verify.
|
||||
- [ ] **CV-QA-08:** available automated accessibility/keyboard/focus/locale/theme/zoom/reflow/reduced-motion checks and representative visual inspection; genuine human/device checklist remains open if unavailable. Commit/push/verify.
|
||||
- [ ] **CV-QA-09:** fresh full suites/native exits/source/runtime hashes/discovery membership, exact totals without overlap; independent decisions and severity/impact/action/phase10-vs-production scope. Candidate-specific Phase10 inventory and unmet entry criteria; do not start cleanup. Final review, fix bounded findings, commit/push/verify/stop.
|
||||
|
||||
Native commands use the repository SDK (`C:/Users/Connor/.dotnet/dotnet.exe`), existing Jest/Playwright runners, `scripts/mariadb-integration.py`, existing isolated sidecar build and Linux PDF helper. Serialize .NET build/browser/provider lanes. Workers write tests before implementation and coordinate RED/GREEN execution through root to avoid apphost locks. Root runs integration and the complete final freeze; a fresh reviewer checks the final implementation.
|
||||
Reference in New Issue
Block a user