test(cv-qa): reconcile acceptance and hand off conditional readiness
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
# CV-QA-01 acceptance — 27 October 2026
|
||||
|
||||
**Overall: CONDITIONAL GO for the implemented model-independent import workflow and continued development review. Production: NO-GO.** No unconditional extraction, human accessibility, live CV-model or release acceptance is granted. Phase10 is conditionally ready for candidate assessment/planning only; no cleanup implementation starts under this handoff.
|
||||
|
||||
## Source, scope and publication
|
||||
|
||||
Branch: `test/cv-integration-acceptance`, based on accepted CV-import `ef425c288b38ae0e91dcc216a5c8b6c02c433ab5` and containing CV-UX `4a0af62`. Entry verified actual source/remote/acceptance authority, all84 prior evidence hashes and a fresh70-case MariaDB run. The prior conditional decision permitted this development/QA work, not production.
|
||||
|
||||
Application remediations are committed through `89974a257e4192b3d93779000a7df6998afc4051`. The full freeze began at `5e68848` with those changes already in its worktree; before/after hashes bind actual compiled/tested content rather than relying on HEAD alone. **911 frozen files and runtime content remained unchanged**. Three later test/config additions are separately source-bound and qualified, without application/build-input changes. Linux has an independently verified immutable image/source/DLL/migration record. Final reconciliation is [evidence-summary.json](evidence-summary.json).
|
||||
|
||||
| Checkpoint | Published commit | Result |
|
||||
|---|---|---|
|
||||
| 00 baseline/coverage | `249d068` | Verified accepted ancestry/authority/evidence; fresh real MariaDB70 |
|
||||
| 01 mapping/new records | `5e68848` | Explicit source-backed authoring/current targets; actual empty-profile creation and rollback |
|
||||
| 02 interpretation/accuracy | `48b899c` | Conservative labelled multiline/table/list parsing, ambiguity retention and frozen metrics |
|
||||
| 03 review/merge | `cf0e5c2` | Explicit targets/corrections/reimport, submitted ordering and compatible replay receipts |
|
||||
| 04 persistence/RD21 | `89974a2` | Actual lifecycle races repaired; status concurrency, retention and terminal-state safety |
|
||||
| 05 connected journeys | `be67860` | Real Docling through profile/editor/PDF/application/frozen letter/package |
|
||||
| 06 PDF fidelity | `e416420` | Original Windows/Linux oracles plus long imported three-template output |
|
||||
| 07 security/resilience | `69f189f` | Actual connection-loss rollback/retry, security/resource/retention evidence |
|
||||
| 08 usability/manual handoff | `2fdcb60` | Available automation qualified; human/device/contrast/print gates preserved |
|
||||
| 09 final acceptance | Final report publication | Full regression reconciliation, preservation register and Phase10 handoff; final publication SHA is supplied in the completion message |
|
||||
|
||||
Every checkpoint is pushed to the requested branch with remote HEAD checked. No force push, main merge, production deployment, production schema/service/filesystem/model-cache operation or Phase10 implementation was performed by this workstream. Unrelated local tooling, Graphify, Docker and security work is preserved outside these commits.
|
||||
|
||||
## Implemented behavior
|
||||
|
||||
Before QA, users could accept or correct emitted fields but could not author a missing record/field. Multiline source could attach a later record to an earlier job, repeated text could select the wrong source occurrence, random client-ID sorting could reorder mapped jobs, and lifecycle operations could race with application/retention.
|
||||
|
||||
Now users can assign supported canonical fields from owned source evidence, mark their own corrections, deliberately add a record or select an existing revision-bound target, inspect affected values and approve/reject before application. A stale response retains edits but clears destination/confirmation for renewed review. Explicit labels/header-defined order and genuine lists form records; genuinely ambiguous structure remains visible for manual assignment. Source occurrence/page references survive normalization. Submitted order and exact historical receipt replay are preserved. Apply/discard/retention/cancel/retry respect terminal state and canonical transactions.
|
||||
|
||||
Career Profile remains canonical; existing services own its revision/history/projections. Source mappings do not create another profile, queue, storage or revision system. CV-only overrides, historical documents, application associations, letters and submitted snapshots remain separate. Actual new-user journeys, multi-record empty-profile provider cases and long imported output prove creation independently from updating existing records.
|
||||
|
||||
## Independent decisions
|
||||
|
||||
PASS below means the stated finite supported contract, not complete product/human/production acceptance.
|
||||
|
||||
| Area | Decision | Basis / limit |
|
||||
|---|---|---|
|
||||
| Docling Extraction | **PARTIAL** | Real36-document structural conversion plus connected PDF/DOCX journeys; literal recovery is not arbitrary layout/table semantics; OCR disabled |
|
||||
| Structured Mapping | **PASS** | Actual allowlisted canonical contracts, source/correction distinction, field/target validation and provider readback; per-field connected evidence limits remain in the mapping matrix |
|
||||
| New-Record Creation | **PASS** | Independent empty-profile multi-group MariaDB creation; actual source-mapped jobs/education and long12-job/60-skill import |
|
||||
| Review and Corrections | **PASS** | Source/evidence/current-value controls, correction/rejection/mapping-only apply, explicit approval and stale-target reconfirmation; human usability remains open |
|
||||
| Duplicate and Conflict Resolution | **PASS** | Conservative exact/revised/older/overlap/similar-employer scenarios, explicit uncertain targets, same-source reimport/replay; no population matching-accuracy claim |
|
||||
| MariaDB Persistence | **PASS** |80 actual provider tests; atomic children/history/Identity/receipt, rollback, concurrency and actual precommit connection loss with durable retry/replay |
|
||||
| RD21 Revision Protection | **PASS** | Canonical expected revision and terminal-state guards; real races, six RD21 diagnostics and volume regression; no hosted/power-loss claim |
|
||||
| CV Editor Integration | **PASS** | Exercised canonical consumption, CV-only changes/revisions, variants, export and application/frozen letter/package preservation; full field-by-field sample limits disclosed |
|
||||
| PDF Fidelity | **PASS** | Each platform24CV/60pages +4letters/14pages; additional9 imported PDFs/18pages, including142 markers and12 record associations in each long export; human print/typography approval excluded |
|
||||
| Security and Privacy | **CONDITIONAL** | Scoped static scan0 findings, actual parser/ownership/cleanup/resource tests and current advisory checks; inherited deployment/native-sandbox/privacy/recovery qualifications remain |
|
||||
| Deterministic Extraction Accuracy | **PARTIAL** | Exact metrics below; unresolved tables, legacy pipe order and wrapped name require user review |
|
||||
| Real Model Compatibility | **BLOCKED** | No approved isolated CV-model artifact/environment qualified; adapter remains disabled/disconnected |
|
||||
| Real AI Extraction Accuracy | **BLOCKED** | No real inference; controlled responses never count as model accuracy |
|
||||
| Human Accessibility/Device Acceptance | **NOT TESTED** | Automated checks and agent visual inspection only; six axe contrast incompletes remain open |
|
||||
| CV-QA-01 Overall | **CONDITIONAL GO** | Implemented, safely testable workflow delivered; full extraction/human/release acceptance withheld |
|
||||
| Phase10 Readiness | **CONDITIONAL GO** | Candidate assessment/planning only; no unused deletion candidate verified, cleanup implementation NO-GO |
|
||||
| Production | **NO-GO** | Unmet release/security/human/operator criteria below; no deployment authorized |
|
||||
|
||||
## Regression and accuracy evidence
|
||||
|
||||
Full results and native accounting are in [REGRESSION_RESULTS.md](REGRESSION_RESULTS.md): backend **1,336**, frontend **995 /109 suites**, ordinary browser **364**, separate browser configurations **53**, real Docling import browser **7**, actual MariaDB **80**, Python **90**. Original/new benchmark self-checks are11/9, Node helper contracts25, Linux helper contracts11 and legacy seed guards24. Applicable final automated lanes have zero failures/skips/retries. Earlier RED and harness failures remain recorded; overlapping focused/successor runs are not added to totals. TypeScript, lint and builds pass within the documented source bindings.
|
||||
|
||||
The separate structural corpus contains18 logical cases, each PDF/DOCX (36 documents). Both formats recover134/134 annotated literal fragments. PDF typed TP100/FP0/FN22: precision100%, recall81.97%, F1 90.09%; DOCX TP122/FP0/FN0: all100%. Source references are PDF24/27 and DOCX27/27; required ambiguity cases6/6 per format. The10-case frozen split is separately reported: PDF47/60 typed facts, DOCX60/60; these overlap the full corpus and are not added.
|
||||
|
||||
The unchanged original oracle remains visible: PDF precision93.38%, recall94.63%, derived F1 94.00%; DOCX97.26%/95.30%/96.27%. Its unresolved-source classification and deliberately withheld headerless table facts must not be hidden by better typed-only scores. A wrapped PDF contact name remains truncated, with the omitted word preserved as unresolved source. These synthetic regression results do not estimate population accuracy or real-model quality. See [EXTRACTION_ACCURACY.md](EXTRACTION_ACCURACY.md) and [machine-readable results](benchmarks/RESULTS.json).
|
||||
|
||||
## Conditions, impact and required action
|
||||
|
||||
| Unmet criterion / evidence | Impact and severity | Required action / owner | Gate scope |
|
||||
|---|---|---|---|
|
||||
| Arbitrary PDF table/column relationships; newPDF recall100/122, frozen47/60; original headerless tables withheld | Manual assignment burden; **medium** grouping/completeness limitation. Full automatic extraction GO withheld | Extraction owner preserves unsupported/review boundary, verifies source and extends layout qualification without positional guesses | Does not block unrelated candidate assessment; blocks any broad automatic-accuracy production claim |
|
||||
| Retained headerless pipe grammar assumes title/qualification before employer/institution (`CvDocumentInterpreter`194–202) | Reversed unsupported order can misattribute critical identity; **high qualification risk**, mitigated by mandatory source review; no silent canonical application | User must correct/map source; developer must qualify/remove this assumption before claiming order-independent extraction | Full semantic acceptance withheld; related cleanup cannot remove review/compatibility; not a blanket block on unrelated Phase10 assessment |
|
||||
| One original PDF wrapped name splits into two paragraphs; first emitted value lacks final word | **Medium** contact correctness/review burden; complete text remains available | User corrects before approval; extractor owner needs structural evidence to join safely, not surname guessing | Full arbitrary-name accuracy withheld; no unrelated cleanup prohibition |
|
||||
| Narrow technical-template word wrapping and sparse minimal final page, observed in rendered imports | **Medium/low** readability/page-packing limitations; no lost markers or out-of-page words | Document/manual QA owner reviews settings/templates and records acceptable presentation or a separately scoped fix | Human presentation/print acceptance open; not itself proof of data loss or an unrelated cleanup block |
|
||||
| Six axe scans: zero violations but one serious color-contrast incomplete each; no actual human/device/AT/native-language/print run | Severity of actual contrast defect **unestablished**; axe flags serious inspection need | Product/QA owners complete [manual checklist](ACCESSIBILITY_AND_MANUAL_QA.md), measured contrast and representative real equipment/language review | Human/release acceptance blocked; candidate-specific accessibility preservation still required |
|
||||
| CV-model compatibility/semantic accuracy untested; adapter disabled | **High activation gate**; no AI quality/compatibility assurance | Model/security owner supplies approved immutable model/tokenizer digests and safe isolated read-only/offline/bounded environment, resolves cache/dependency qualification, then runs identical frozen schema/grounding/date/association/hallucination/resource tests | Blocks CV-AI activation/claims; does not invalidate the working deterministic path or automatically block unrelated Phase10 development |
|
||||
| Windows memory is observed rather than kernel-enforced; native parser hook is defense in depth; sustained target-host capacity not qualified | **High release-isolation gate**; bounded local tests cannot prove production exhaustion protection | Infrastructure/security owner qualifies deployment sandbox, egress/filesystem/resource limits and representative-host capacity/recovery | Production security/operations withheld; synthetic development remains permitted |
|
||||
| Applied candidate/audit includes unselected source facts after original-file expiry; source retention7days or1day plus sweep interval | **Privacy release gate**; canonical rejection is not erasure of source/audit | Privacy/product owner approves disclosed retention/account-erasure/backup handling; no exception accepted by this report | Production privacy decision withheld; no permission to delete audit/compatibility structures during cleanup |
|
||||
| Latest P9 security conditional disposition:99 fixed/version-verified +10 scoped exclusions; vendorCPU torch PyPI query gap, hosted CI isolation and production filesystem/off-disk restore/deployed identity unresolved | **High release qualification gate**; neither all historically unresolved nor globally cleared | Security/release/operator owners provide current scoped advisory disposition, hosted isolation, immutable deployed identity and actual backup/restore evidence | Production withheld. Authoritative Phase10 candidate criteria remain caller/route/inventory/test proof, not automatic production readiness |
|
||||
| No unused component/dependency/route verified; active old-run accept and redirects remain | **High deletion risk** if inferred from names alone | Development owner nominates a concrete unused candidate, proves callers/old-data/route/inventory/tests and rollback before seeking separate cleanup authorization | Blocks cleanup implementation now; assessment/planning conditionally ready. No Phase10 work starts automatically |
|
||||
|
||||
No reproducible critical lost-data, cross-owner, false-success or broken-transaction defect remains in the qualified current scenarios. This is not a guarantee about untested documents or environments. All57 preservation groups and33 routes remain; historical56 PARTIAL/C11 DEFERRED states are carried forward in [preservation.json](preservation.json) and the dated Phase9 addendum without erasing prior findings.
|
||||
|
||||
## Handoff and stop
|
||||
|
||||
Use [PHASE_10_HANDOFF.md](PHASE_10_HANDOFF.md) for active compatibility owners, supersession/dependency inventory and candidate requirements. The owner actions above are required before their corresponding acceptance can change. Keep the CV-model adapter disabled; no permanent general-purpose model is selected. This workstream stops after final report publication and remote verification. No main merge, deployment or Phase10 implementation follows from conditional acceptance.
|
||||
@@ -24,7 +24,7 @@ flowchart LR
|
||||
D --> J[ApplicationAssetsService / frozen application package]
|
||||
```
|
||||
|
||||
`CvDocumentReview`/`CvImportReview` currently expose only nonempty incoming typed leaves. `add` means accepting an emitted field; it cannot create missing fields/records. New extracted records are already appended, but missing-record authoring, explicit target selection and source assignment are absent. `CvDocumentInterpreter` handles positional pipe rows and section lists; later undelimited lines can be wrongly attached to the last global record. Transport discards Docling hierarchy/geometry/table cells, so the order of two unlabeled text lines cannot prove employer versus title. Ground currently selects the first document-wide substring, losing repeated-occurrence association.
|
||||
**Historical entry findings (before remediation):** `CvDocumentReview`/`CvImportReview` exposed only nonempty incoming typed leaves. `add` meant accepting an emitted field; it could not create missing fields/records. New extracted records were already appended, but missing-record authoring, explicit target selection and source assignment were absent. `CvDocumentInterpreter` handled positional pipe rows and section lists; later undelimited lines could be wrongly attached to the last global record. Transport discarded Docling hierarchy/geometry/table cells, so the order of two unlabeled text lines could not prove employer versus title. Ground selected the first document-wide substring, losing repeated-occurrence association. Current remediations and remaining limits are documented in CAREER_PROFILE_MAPPING.md and EXTRACTION_ACCURACY.md; the entry matrix below remains historical rather than being silently rewritten.
|
||||
|
||||
Canonical writes remain `CareerProfileService.ExecuteAtomicAsync/SaveVersionAsync`, `CareerProfileMapper` and `CareerProfileValidator`. CV documents/settings/overrides/history retain `CvVariantService`, existing resolver/editor and physical renderers. Letter/application revisions remain `JobApplication.Version`/`ApplicationAssetsService`. No second profile, queue, revision or renderer is proposed.
|
||||
|
||||
@@ -66,6 +66,21 @@ Each row follows source → interpreted field → generic emitted-field review
|
||||
| Experience duration, new skill-category/proficiency entities | none | no corresponding canonical contract | Unsupported by design; preserve source in custom/detail instead |
|
||||
| AI interpretations / OCR/layout model results | none active | disabled/disconnected seam | Blocked by external qualification; no real CV-model evidence |
|
||||
|
||||
## Current supported-document boundary (27 October addendum)
|
||||
|
||||
Pinned extraction remains `docling-slim==2.142.1`, `docling-core==2.104.0`, `docling-parse==7.23.0` in the isolated hash-locked import runtime; no new dependency/model download was required for QA. Real document conversion is separate from generative interpretation.
|
||||
|
||||
| Input | Qualified behavior and limit |
|
||||
|---|---|
|
||||
| Text PDF, single/multi-page | Actual local text/block/page extraction. Explicit semantic labels and supported pipe grammar can form records; complex columns/tables can require source mapping. Full arbitrary-layout semantic accuracy is not qualified. |
|
||||
| DOCX paragraphs/headings/lists/header-defined tables | Actual structured extraction and deterministic labelled records; page numbers remain unknown and excerpts are shown. Frozen labelled cases passed; headerless relationships can remain unresolved. |
|
||||
| Genuinely ambiguous employer/title or institution/qualification | Preserve visible source; user chooses fields and new/existing destination. No relationship guessed from capitalization or employer dictionaries. Legacy headerless pipe order remains an explicit compatibility limitation. |
|
||||
| Scanned/image-only PDF | OCR disabled in qualified import configuration; unsupported/unreadable outcome is explicit. No scan-accuracy claim. |
|
||||
| Active/malformed/oversized/archive-bomb documents | Reject under bounded security rules rather than claim extraction support. |
|
||||
| Other legacy file types | Existing older importer retains its supported path; this QA does not qualify them as Docling PDF/DOCX workflow. |
|
||||
|
||||
No real CV-model inference was run. Model adapter contracts/synthetic responses establish integration seams only. Partial deterministic recall and open human/device/security/release qualifications remain independent.
|
||||
|
||||
## Preservation impact
|
||||
|
||||
All 57 groups / 33 routes remain in scope; no historical status is upgraded by this audit. Direct changes: PRES-C01/C02/C03 (canonical/import), C05–C10/C12 (consumption/overrides/history/rendering), W05/W06/W07/W12 (associations/letters/frozen/progress), E05/E07/E08/E09 (draft/keyboard/access/ownership), S04/S05 (privacy/portability). Other groups remain regression coverage. No route removal or cleanup. See the dated Phase 9 preservation addendum and final checkpoint reconciliation.
|
||||
|
||||
@@ -22,3 +22,21 @@ Mappings participate in the existing canonical expectedVersion/atomic transactio
|
||||
- `ui-review-mapping-red.log`, `ui-target-values-red.log`, `ui-source-fill-red.log`: missing UI flow/comparison/proposal behavior reproduced first. UI review/mapping tests and TypeScript/lint pass; complete browser/mobile/new-user qualification is tracked in later checkpoints.
|
||||
|
||||
This is bounded mapping/new-record implementation evidence, not whole-CV acceptance. A separate source audit identified apply/discard/retention lifecycle concurrency risks for real-provider reproduction/remediation at CV-QA-04. No release decision is made here. Missing models/human qualifications remain independent.
|
||||
|
||||
## Current field coverage addendum — 27 October
|
||||
|
||||
The entry matrix in ARCHITECTURE_AND_COVERAGE.md is historical. The following classifications separate canonical mapping from automatic extraction and complete field-specific browser output evidence.
|
||||
|
||||
| Canonical supported fields | Current mapping / database evidence | Field-specific connected browser evidence |
|
||||
|---|---|---|
|
||||
| Contact name/email/phone/headline/location/website/LinkedIn/GitHub/labelled links | Source-backed missing-field authoring and selected-leaf updates; service/controller/provider coverage | Name/email/phone/location and corrected name through profile/editor/PDF; other contacts retain incomplete individual browser evidence |
|
||||
| Jobs title/company/location/start/end/current/bullets/skills | Typed allowlist; new and selected existing records, explicit false/current, literal incomplete dates and relational readback | New/mapped/repeated jobs, dates, details, CV-only titles and conflict/replay covered; every optional field combination is not independently browser-tested |
|
||||
| Education institution/qualification/stated level/location/dates/details | New/multiple records and supported field mapping; level never inferred | Mapped missing education and extracted multiple qualifications through CV-only edit/PDF; every optional field combination remains incompletely sampled |
|
||||
| Skills and languages/name/stated level/notes | Canonical lists/language records; missing level remains unknown | Extracted skills/languages and retained CV/PDF journey; all language-note combinations not independently sampled |
|
||||
| Summary/interests/awards/publications/organisations/references | Source-backed scalar-list mapping and conservative append/preservation, provider readback | Generic controls and existing editor contracts; incomplete per-field end-to-end import output evidence |
|
||||
| Certifications/name/issuer/location/date/details and projects/name/role/location/dates/bullets/skills | Supported missing-record mapping and actual provider persistence; ambiguous extraction retained for review | Incomplete dedicated per-field import/browser/PDF evidence; no universal auto-extraction claim |
|
||||
| Courses/custom title/items | Existing supported custom sections, explicit source mapping, provider readback | Generic review/editor integration; incomplete per-custom-field connected evidence |
|
||||
| Skill categories/proficiency, derived experience duration, caller-authored IDs/metadata | Unsupported by design or internal-only: no new canonical entity is invented | Not offered as imported canonical fields |
|
||||
| Real AI relationships/OCR layouts | Blocked by external qualification / OCR disabled | Not tested or accepted as model extraction |
|
||||
|
||||
All rows retain source evidence and explicit approval. Mapping into canonical storage is distinct from a claim that the deterministic parser can discover every field from every layout. The current lifecycle races are remediated and verified in MARIA_DB_AND_RD21.md; historical checkpoint observations above are preserved.
|
||||
|
||||
@@ -15,20 +15,26 @@ The separate structural corpus contains 18 logical cases (8 development, 10 froz
|
||||
| Correct annotated block/page references | 24/27 | 27/27 |
|
||||
| Required ambiguity cases correctly preserved/withheld | 6/6 | 6/6 |
|
||||
|
||||
The disjoint **10-case frozen split**, scored separately without changing annotations, recovered 72/72 literal fragments per format. PDF typed TP47/FP0/FN13 (precision 100%, recall 78.33%, F1 87.85%); DOCX TP60/FP0/FN0 (all 100%). PDF jobs complete 9/10 and education 1/3; DOCX jobs 10/10 and education 3/3. Provenance is PDF11/13 versus DOCX13/13; required abstentions 5/5 per format. Empty project/certification/language categories supply no reconstruction evidence despite conventional empty-denominator metric defaults. These results overlap the full 18-case scores and must not be added to them. Evidence: `metrics-frozen-{pdf,docx}-01.json`.
|
||||
|
||||
Literal recovery does not establish table relationships, reading order or geometry. Native PDF table/long-layout relationships account for missing typed facts and source references. Their text remains available for explicit review mapping. Source evidence transports block/page identity, not character spans or table-cell geometry. The separate actual browser and MariaDB tests establish reviewed mapping and persistence; this benchmark performs neither.
|
||||
|
||||
Independent static review also identified the retained legacy pipe grammar: without recognized headers, column one is treated as title/qualification and column two as employer/institution. Reversed headerless pipe records therefore still need user correction/mapping. This existing assumption is not qualified as universal source semantics. Every proposal still requires user approval; it remains extraction acceptance debt.
|
||||
|
||||
Explicit labels, header-defined table order, genuine lists and date-only lines now establish bounded relationships. Repeated employer/title strings retain their selected source occurrence. Unlabelled employer/title or institution/qualification order stays unresolved. A later ambiguous record cannot become a previous job's achievements. One legacy paragraph continuation is allowed only with an established compatible context and is marked `needs_review` in the review UI. Certification cell clusters cannot become several invented certificates.
|
||||
|
||||
Review burden is measured only as emitted controls: PDF152 review fields across18 documents (median8.5, maximum16), DOCX147 (median8, maximum16). All proposals require approval. These counts include preserved unresolved information and do not measure human time, comprehension or correction quality. Duplicate behavior is verified by finite exact/revised/older/overlapping/similar-employer service scenarios and actual same-source browser reimport; no population duplicate precision/recall or calibrated matching probability is claimed. Zero typed false positives on this structural corpus is not a global zero-hallucination guarantee; the original oracle's classifications and truncated name remain visible below.
|
||||
|
||||
## Original corpus comparison
|
||||
|
||||
The original strict oracle was rerun against the current interpreter using the **unchanged previously captured real Docling outputs**, rather than claiming those conversions were freshly repeated. PDF completion remains 13/14 (the scan is an expected rejection); DOCX 13/13.
|
||||
|
||||
| Original oracle | Current precision | Current recall | FP / FN |
|
||||
|---|---:|---:|---:|
|
||||
| PDF, 14 cases | 93.38% | 94.63% | 10 / 8 |
|
||||
| DOCX, 13 cases | 97.26% | 95.30% | 4 / 7 |
|
||||
| Original oracle | Current precision | Current recall | Derived F1 | FP / FN |
|
||||
|---|---:|---:|---:|---:|
|
||||
| PDF, 14 cases | 93.38% | 94.63% | 94.00% | 10 / 8 |
|
||||
| DOCX, 13 cases | 97.26% | 95.30% | 96.27% | 4 / 7 |
|
||||
|
||||
These scores include unresolved custom-source classification and must not be replaced by the better typed-only scores. On the common typed scope excluding `otherSections`, PDF changes from TP132/FP4/FN8 to TP132/FP1/FN8; DOCX changes from TP140/FP0/FN0 to TP133/FP0/FN7. Seven headerless DOCX table facts are now withheld for user assignment rather than inferred from position. One PDF long-name association remains wrong. This recall tradeoff is a known limitation, not a full accuracy pass.
|
||||
These scores include unresolved custom-source classification and must not be replaced by the better typed-only scores. On the common typed scope excluding `otherSections`, PDF changes from TP132/FP4/FN8 to TP132/FP1/FN8; DOCX changes from TP140/FP0/FN0 to TP133/FP0/FN7. Seven headerless DOCX table facts are now withheld for user assignment rather than inferred from position. The remaining typed PDF error is a truncated contact name: the native parser splits the last word into a separate unlabelled paragraph. That word remains visible in unresolved source; automatically joining it would assume an unproved relationship. The user can correct the name before approval. It is not an invented employment or qualification. This recall tradeoff and correction burden remain limitations, not a full accuracy pass.
|
||||
|
||||
## Evidence and reproducibility
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
# 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](../redesign/IMPLEMENTATION_PLAN.md#phase-10--cleanup) 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](PLAN.md) 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 `ef425c2` changes 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.json` records 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](ACCESSIBILITY_AND_MANUAL_QA.md) 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.
|
||||
@@ -28,13 +28,19 @@ Approaches considered: positional/lexicon guessing would improve apparent recall
|
||||
|
||||
- [x] **CV-QA-00:** verify ef425c2/remote/ancestry/raw evidence; audit source/authority; fresh actual MariaDB70; field matrix and preservation delta; commit/push/verify.
|
||||
- [x] **CV-QA-01:** source-backed mapping/new records/current comparisons implemented; focused backend77 and actual MariaDB72 PASS, UI/TypeScript/lint PASS. See CAREER_PROFILE_MAPPING.md; complete integration/recovery qualification remains later checkpoints.
|
||||
- [ ] **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.
|
||||
- [x] **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.
|
||||
- [x] **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.
|
||||
- [x] **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.
|
||||
- [x] **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.
|
||||
- [x] **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.
|
||||
- [x] **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.
|
||||
- [x] **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.
|
||||
- [x] **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.
|
||||
|
||||
## Final checkpoint accounting — 27 October 2026
|
||||
|
||||
All safe implementation and qualification checkpoints are complete. Checkmarks record bounded work, not unconditional accuracy/human/model/production acceptance. Full evidence reconciliation passes with911 original files unchanged and three separately qualified test/config additions. Current totals: backend1336, frontend995/109, ordinary364, separate configured browser53, real import7, MariaDB80, Python90; original Windows/Linux each24CV+4letters plus9 imported PDFs/18pages. Static source review and independent code review completed; all applicable final automated lanes pass without skipped/retried cases. Earlier RED/harness attempts remain retained.
|
||||
|
||||
See ACCEPTANCE.md for independent PASS/PARTIAL/CONDITIONAL/BLOCKED/NOT TESTED decisions and owner actions. Overall model-independent development is CONDITIONAL GO; real CV-model inference stays disabled/BLOCKED, human/device/language/contrast/print acceptance stays open, production and cleanup implementation NO-GO. Candidate-specific Phase10 assessment/planning is conditionally ready, with no verified unused deletion candidate. No Phase10 implementation, main merge or production operation was performed. Unrelated local work remains preserved.
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
# Regression evidence — 2026-10-27
|
||||
|
||||
This report distinguishes the starting baseline, successor/focused checks and final full-suite lanes. Overlapping runs are never summed. Historical import/editor evidence is preserved. Final machine reconciliation is `evidence-summary.json`; it is authoritative only after all producer exits, source/runtime bindings, exact discovery membership and cleanup checks pass.
|
||||
|
||||
| Lane | Verified import baseline | Current evidence |
|
||||
|---|---:|---|
|
||||
| Release backend | 1,260 | **1,336 passed**, zero skipped, `final-01/backend/backend.trx`; native exit0 |
|
||||
| Frontend | 990 /108 suites | **995 passed /109 suites**, zero failed/pending, `frontend-final-01/frontend.json`; before/after359-source identity retained |
|
||||
| TypeScript / lint / static build | Passed | Passed, each native exit0; `frontend-final-01/processes.json` |
|
||||
| Ordinary browser / preservation contracts | 364 | **364 passed**, zero skips/retries; exact discovery membership across100/88/89/87 shards; source/runtime closure passed |
|
||||
| Separate browser configurations | 53 | **53 passed**, zero skips/retries; controlledAI2, auth2, rate9, ingress6, PDF-admission1, preferences3, RD216, diagnostics18, volume3, RD21-volume3 |
|
||||
| Real Docling import journeys | 2 | **6 passed**, zero retries/skips: retained2 plus new4, `real-browser-01.json` |
|
||||
| Actual disposable MariaDB | 70 | **80 passed**, zero skipped, including actual precommit connection loss/rollback/retry; startup/restore/test/cleanup0 |
|
||||
| Offline Python application/security/grounding/adapter | 76 | **76 passed**, `independent-02/python-offline.log`; model loading disabled, no network |
|
||||
| Real Docling parser/security | 14 | **14 passed**, separate pinned slim runtime, `independent-02/python-docling.log` |
|
||||
| Original corpus generator/oracle self-checks | 11 | **11 passed**, unchanged tests/annotations |
|
||||
| New structural corpus/oracle self-checks | — | **9 passed**, separate corpus |
|
||||
| Node helper contracts | 25 | **25 passed** |
|
||||
| Linux harness offline contracts | 11 | **11 passed** |
|
||||
| Legacy insert-only seed guard self-check | 24 | **24 passed**, own temporary SQLite only |
|
||||
| Windows original CV / letter oracles | 24CV +4letters | **24 CV /60 pages and4 letters /14 pages passed**, unchanged oracles |
|
||||
| Linux original CV / letter oracles | 24CV +4letters | **24 CV /60 pages and4 letters /14 pages passed**; native renderer6 passed, image/source/DLL/migration and owned cleanup verified |
|
||||
| Additional actual import PDFs | 2 | **6 rendered**, all searchable; four new-journey semantic marker oracles passed |
|
||||
| Long actual import / extra PDFs | — | **1 additional browser case passed**, producing3 four-page PDFs; all142 markers and12 record associations per document, physical dimensions and word bounds passed |
|
||||
| Static security diff | — | **0 findings**,35 paths; separate from runtime/security acceptance |
|
||||
| Advisory checks | Zero reported within scoped audits | Fresh npm881 dependencies, CV-import lock48 dependencies, NuGet API including transitive: zero reported known advisories; inherited model/cache scan limits remain |
|
||||
|
||||
Evidence roots are `.artifacts/cv-integration-qa/` except the unchanged Linux helper's guarded output under `.artifacts/cv-ux-01/cv-qa-linux-*`. Native timestamps remain UTC as recorded; reports use the client's local 27 October date. Current-source full browser lanes serialize builds and producers to prevent apphost/runtime drift.
|
||||
|
||||
The full freeze began at Git HEAD `5e68848` with the later QA changes present in its worktree. Its before/after source hashes include those actual files; committing them as `48b899c`, `cf0e5c2` and `89974a2` did not change their bytes. Application content corresponds to `89974a2`; Git HEAD alone is not used as evidence of tested content. Each native lane retains its own runtime/image identity. Later documentation and separately qualified test-only additions do not retroactively change the tested application inputs.
|
||||
|
||||
Final reconciliation passed: **911 frozen files unchanged**, three added test/config files separately hashed before/after, all current hashes matched, exact ordinary discovery membership, native process exits and Linux/provider/sidecar cleanup checked. The added files were qualified by a fresh full frontend995/109 run, TypeScript, targeted lint, MariaDB80 and the long real-import lane. The static application build is retained because application/build inputs did not change. Do not add either frontend run to the other, or add focused126 to backend1336. Real import browser total is **6 +1 =7**, outside ordinary364. Total additional imported PDFs is **6 +3 =9 documents /18 pages**.
|
||||
|
||||
## Separate lanes and qualification boundaries
|
||||
|
||||
The final full runner retains separate controlled-AI, authentication recovery, rate-limit, ingress, PDF-admission, preference-concurrency, RD21, diagnostic and volume configurations. Their actual counts are2/2/9/6/1/3/6/18/3/3, totaling53, checked from native reports. Controlled AI is not live inference; inert PDF-child admission is not the native PDF-fidelity oracle. Actual MariaDB is separate from browser SQLite and no fallback counts as a provider pass.
|
||||
|
||||
The backend and frontend increases reflect new meaningful regression tests; existing tests were not weakened/deleted. Focused RED/GREEN attempts expose mapping absence, source/target display gaps, multiline misassociation, certificate-cell guesses, ordering/replay defects and lifecycle races. Their totals overlap full suites and do not increase final totals.
|
||||
|
||||
The first independent wrapper completed Python tests but failed while JSON-serializing a `Path`; successor `independent-02` reran all independent commands successfully. The first NuGet wrapper used an unsupported argument; only the corrected native command supports advisory results. The initial sidecar cleanup acknowledgement compared error text case-sensitively after removal; the successor independently verified the exact owned ID and name were absent. These are retained harness failures, not hidden product passes.
|
||||
|
||||
The first long-PDF oracle attempt could not locate `pdftotext`; successor `long-pdf-proof-02` uses already installed pdfplumber for every word's bounds and Poppler for all12 rendered pages. Source annotations, PDF bytes and expected facts were not changed. Graphify query/update initially failed on PATH; the newly available skill resolved its existing uv interpreter and the absolute executable completed query and AST-only update (10,691 nodes), without downloads or model/API calls. Graph output and unrelated local tooling/Docker/security work remain outside this workstream's commits.
|
||||
|
||||
Not run: real CV-model inference, hosted CI isolation, production deployment/database/filesystem/backup checks, physical devices, human assistive technology/language/contrast acceptance and manual printing. No local automated result closes those gates.
|
||||
@@ -0,0 +1,264 @@
|
||||
{
|
||||
"production": "NO-GO",
|
||||
"realAiCompatibility": "BLOCKED",
|
||||
"realAiAccuracy": "BLOCKED",
|
||||
"sourceFiles": 911,
|
||||
"freezeHead": "5e68848cf7e70c5e6376e10eed15886ba0b7918e",
|
||||
"backend": {
|
||||
"passed": 1336,
|
||||
"sha256": "c8a286446113cc8925aefd1547ce6e20567b10de849349b5e7530a47f4912fa6"
|
||||
},
|
||||
"ordinaryBrowser": 364,
|
||||
"separateBrowserLanes": {
|
||||
"ai": 2,
|
||||
"auth": 2,
|
||||
"rate": 9,
|
||||
"ingress": 6,
|
||||
"pdf-admission": 1,
|
||||
"preferences": 3,
|
||||
"rd21": 6,
|
||||
"diagnostics": 18,
|
||||
"volume": 3,
|
||||
"rd21-volume": 3
|
||||
},
|
||||
"frontend": {
|
||||
"tests": 995,
|
||||
"suites": 109,
|
||||
"checks": [
|
||||
{
|
||||
"name": "unit",
|
||||
"args": [
|
||||
"node",
|
||||
"node_modules/jest/bin/jest.js",
|
||||
"--runInBand",
|
||||
"--json",
|
||||
"--outputFile=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\cv-integration-qa\\frontend-final-01\\frontend.json"
|
||||
],
|
||||
"startedUtc": "2026-10-26T19:04:15.343257+00:00",
|
||||
"exitCode": 0,
|
||||
"finishedUtc": "2026-10-26T19:11:06.327932+00:00"
|
||||
},
|
||||
{
|
||||
"name": "typecheck",
|
||||
"args": [
|
||||
"node",
|
||||
"node_modules/typescript/bin/tsc",
|
||||
"--noEmit",
|
||||
"--incremental",
|
||||
"false"
|
||||
],
|
||||
"startedUtc": "2026-10-26T19:11:06.328937+00:00",
|
||||
"exitCode": 0,
|
||||
"finishedUtc": "2026-10-26T19:11:19.007335+00:00"
|
||||
},
|
||||
{
|
||||
"name": "lint",
|
||||
"args": [
|
||||
"npm.cmd",
|
||||
"run",
|
||||
"lint"
|
||||
],
|
||||
"startedUtc": "2026-10-26T19:11:19.008883+00:00",
|
||||
"exitCode": 0,
|
||||
"finishedUtc": "2026-10-26T19:11:45.625640+00:00"
|
||||
},
|
||||
{
|
||||
"name": "build",
|
||||
"args": [
|
||||
"npm.cmd",
|
||||
"run",
|
||||
"build"
|
||||
],
|
||||
"startedUtc": "2026-10-26T19:11:45.626155+00:00",
|
||||
"exitCode": 0,
|
||||
"finishedUtc": "2026-10-26T19:12:04.946280+00:00"
|
||||
}
|
||||
]
|
||||
},
|
||||
"mariaDb": {
|
||||
"passed": 80,
|
||||
"sha256": "4895664baef2b5a4743c92bcc6f2be1c6f08d96443d3c944424321e5f2a0b776"
|
||||
},
|
||||
"realImportBrowser": 6,
|
||||
"importedPdfs": {
|
||||
"rendered": 6,
|
||||
"semanticNewJourneys": 4,
|
||||
"pages": 6
|
||||
},
|
||||
"independent": {
|
||||
"python-offline": 76,
|
||||
"python-docling": 14,
|
||||
"benchmark-new": 9,
|
||||
"benchmark-original": 11,
|
||||
"linux-helper": 11,
|
||||
"node-helpers": 25
|
||||
},
|
||||
"advisories": {
|
||||
"npm": 0,
|
||||
"cvImportPythonLock": 0,
|
||||
"nugetApi": 0,
|
||||
"limits": "Point-in-time separate from legacy model/cache incomplete PyPI coverage."
|
||||
},
|
||||
"additionalTestQualification": {
|
||||
"sourceHashes": {
|
||||
"JobTrackerApi.MariaDb.Tests/CvImportConnectionLossTests.cs": "09ac9be3d03916af15f64c43cea6e130be15ba8eb8ebfe969a77179b2cc6f874",
|
||||
"job-tracker-ui/import-tests/cv-import-long.spec.ts": "3e023bdd752b69551b43c2ee0e9b6f1fa6684cda07f2914bbd6c341f41e46724",
|
||||
"job-tracker-ui/playwright.cv-import-long.config.ts": "13f7edddf4aff88e9a4d706d127bb736699ffab8b301128c72a194af38c3c410"
|
||||
},
|
||||
"frontendTests": 995,
|
||||
"newLongBrowserCases": 1,
|
||||
"scope": "Three test/config files added after the full freeze; all frozen sources unchanged. Fresh frontend/type/lint, real provider and long real-document lane qualify additions. No application/build input changed."
|
||||
},
|
||||
"finalApplicationSourceCommit": "89974a257e4192b3d93779000a7df6998afc4051",
|
||||
"linuxImage": "sha256:6c1b24ab1d332f4e136a7dedfd513c84e70ee3bf334fbae1565a236f7279376d",
|
||||
"pdf": {
|
||||
"windows": {
|
||||
"cvDocuments": 24,
|
||||
"cvPages": 60,
|
||||
"letterDocuments": 4,
|
||||
"letterPages": 14
|
||||
},
|
||||
"linux": {
|
||||
"cvDocuments": 24,
|
||||
"cvPages": 60,
|
||||
"letterDocuments": 4,
|
||||
"letterPages": 14
|
||||
}
|
||||
},
|
||||
"boundedLoad": {
|
||||
"containerId": "e882243160897f80f82be8359b7ec5894c5c4a13c7be027f965cbd4755b30d19",
|
||||
"image": "sha256:8a29cb90fcc2817b0d784826d55a172c943f5ad7e1b6105e690a2d79ee15fe87",
|
||||
"readOnly": true,
|
||||
"memory": 1073741824,
|
||||
"nanoCpus": 2000000000,
|
||||
"pids": 128,
|
||||
"sourceSha256": "100180cb1987fd9a763804a42c33773b5a298a1ee35d0b7c454e36cd8aa69cb1",
|
||||
"requests": [
|
||||
{
|
||||
"index": 0,
|
||||
"status": 503,
|
||||
"seconds": 0.10899999999674037,
|
||||
"blocks": 0,
|
||||
"method": null,
|
||||
"detail": "Document extraction is busy. Try again shortly."
|
||||
},
|
||||
{
|
||||
"index": 1,
|
||||
"status": 200,
|
||||
"seconds": 2.9209999999729916,
|
||||
"blocks": 13,
|
||||
"method": "docling-docx-v1",
|
||||
"detail": null
|
||||
}
|
||||
],
|
||||
"temporaryBefore": "0\t/tmp\n0\n",
|
||||
"temporaryAfter": "0\t/tmp\n0\n",
|
||||
"statsAfter": "{\"BlockIO\":\"628MB / 0B\",\"CPUPerc\":\"0.17%\",\"Container\":\"jobtracker-cv-qa-sidecar-01\",\"ID\":\"e88224316089\",\"MemPerc\":\"34.84%\",\"MemUsage\":\"356.8MiB / 1GiB\",\"Name\":\"jobtracker-cv-qa-sidecar-01\",\"NetIO\":\"351kB / 18.6kB\",\"PIDs\":\"22\"}\n",
|
||||
"scope": "Two simultaneous synthetic requests only; not production capacity or denial-of-service testing."
|
||||
},
|
||||
"accuracyResultsSha256": "1b20a8c454dd9f65ed3c22b020fd34e2344c36da5c80b81127dcde1e56f58190",
|
||||
"longImportedPdfs": {
|
||||
"documents": 3,
|
||||
"pages": 12,
|
||||
"markersPerDocument": 142,
|
||||
"associationsPerDocument": 12
|
||||
},
|
||||
"legacySeedGuards": 24,
|
||||
"rawEvidence": {
|
||||
".artifacts\\cv-integration-qa\\final-01\\ai-process.json": "1fce1354a1d6ad0c877ce09b6f2c33fb973e6ec7e8d0053b6845d2d45111a66e",
|
||||
".artifacts\\cv-integration-qa\\final-01\\ai.json": "0ba763dcc16ceb0771f2194084710d86008509e7303f5ab0afa5e2ff396a1083",
|
||||
".artifacts\\cv-integration-qa\\final-01\\auth-process.json": "48db8df208b145a0faf1089bd60fa8c8155652a46aa80dbb765103e1209408ac",
|
||||
".artifacts\\cv-integration-qa\\final-01\\auth.json": "fa1eea9c05afd3830e5619143d2b2da345278b921d256b02f605b24f21f84bb6",
|
||||
".artifacts\\cv-integration-qa\\final-01\\backend-process.json": "c0fa48d56ebc4fa551244b5cd36ffc151cb258f2af2565de1dadf74b1c3678e6",
|
||||
".artifacts\\cv-integration-qa\\final-01\\diagnostics-process.json": "edc47314ee9acda4d05eed355f7de14fb55c921b13d70a82e36483456647d26a",
|
||||
".artifacts\\cv-integration-qa\\final-01\\diagnostics.json": "c65e9c95122d6f374bfc9e7c97f3a6c56151cbe1607e23aa99a260f74279c44a",
|
||||
".artifacts\\cv-integration-qa\\final-01\\discovery-process.json": "89ab5e7c0a4e87499b56a4c80febd32fb2d25c14059258b2087a8a06a8e66b56",
|
||||
".artifacts\\cv-integration-qa\\final-01\\discovery.json": "5886156b760151fde8e02518d59ebd6138ac68dd5341c7c88791360f55f2754b",
|
||||
".artifacts\\cv-integration-qa\\final-01\\git.json": "387d35091c3bdb7a66df4c9ae9cf66a5d3b0c965acf330d1dad5ccc8173dbd31",
|
||||
".artifacts\\cv-integration-qa\\final-01\\ingress-process.json": "56b307845e646339b95e400883c13cd9a7b5714d2d1f4a57bbd3d16d55214cdf",
|
||||
".artifacts\\cv-integration-qa\\final-01\\ingress.json": "2e04a4faffdff933c4750c6f28d4f9f618628012e5a8d1ee47184d969e70536a",
|
||||
".artifacts\\cv-integration-qa\\final-01\\ordinary-1-process.json": "b26fbd2f2a8e75e201c8585d753ddcbd26e7bc303dfd20f6e9e484546ef3a964",
|
||||
".artifacts\\cv-integration-qa\\final-01\\ordinary-1.json": "f31a13fef16047a1a1a9c232063231bd4d1df5bafcfc3ba7390137491355b9ab",
|
||||
".artifacts\\cv-integration-qa\\final-01\\ordinary-2-process.json": "49ef11a2a644ec1d5e3cf81e3a51a683b616312c6b460632cd5939677d5e96aa",
|
||||
".artifacts\\cv-integration-qa\\final-01\\ordinary-2.json": "a8fde0e52a9f986566726023a754b03a6f32a17bbd5a8243fc3475c0048f0954",
|
||||
".artifacts\\cv-integration-qa\\final-01\\ordinary-3-process.json": "878b8a8d7401b43f18a263f3e9f766bac90a6ec75e70e4c03c5877602c2c4491",
|
||||
".artifacts\\cv-integration-qa\\final-01\\ordinary-3.json": "ab407531f6342a7c7fb928c1e27a5f446074e02df659ac7b3e2c2a26174f91fe",
|
||||
".artifacts\\cv-integration-qa\\final-01\\ordinary-4-process.json": "5673b20427d09787f4c7a21c273825f58e5efbd84810b702a6918d1f3c3bc6c3",
|
||||
".artifacts\\cv-integration-qa\\final-01\\ordinary-4.json": "69545e9e01622b956c92591990f71a27ef5979eb235a180e7d8cbeb7167a92b4",
|
||||
".artifacts\\cv-integration-qa\\final-01\\pdf-admission-process.json": "d69eb18e01715f59b50bd9943aaa06cafa0b3cde435fa637f15c5eed59d68597",
|
||||
".artifacts\\cv-integration-qa\\final-01\\pdf-admission.json": "16fa63a8941cdd18fdbe3b31960600fa502b1beaef9f1dd341222579c110f229",
|
||||
".artifacts\\cv-integration-qa\\final-01\\preferences-process.json": "9266cea3bf5ddfcbfafeabaed065dcaa18a6b74fba765b5b878f5faa31f09cae",
|
||||
".artifacts\\cv-integration-qa\\final-01\\preferences.json": "3b929d11e2cbb0f5f40a8cb76b9de9fc85bf433f2c29cbad334953cff1ee063f",
|
||||
".artifacts\\cv-integration-qa\\final-01\\process.json": "63cb949c04568a9154f3a878dbca2fb60803580b196f85fff04dd7ddb5c76554",
|
||||
".artifacts\\cv-integration-qa\\final-01\\rate-process.json": "9c64b9e7d0a8abe6a2d2902568b6d22223d2c696ac7ebb23c3d97219d5802b2c",
|
||||
".artifacts\\cv-integration-qa\\final-01\\rate.json": "5bb5764bdf7b7281677ced03f5f0c55ea080063537da4b53e78181794d0b1de1",
|
||||
".artifacts\\cv-integration-qa\\final-01\\rd21-process.json": "5b5ee457dd8e692cdbdd14719806806a76f02f580846678bd5a17a5f27740666",
|
||||
".artifacts\\cv-integration-qa\\final-01\\rd21-volume-process.json": "3a0c997aa67a7124859745772c331f847797b03e16949032dd732c9a41ce12d5",
|
||||
".artifacts\\cv-integration-qa\\final-01\\rd21-volume.json": "e12ba2d2ef700ece05553ad9c72cadcdbf8b4eb46eb83149037cb94d97df2df6",
|
||||
".artifacts\\cv-integration-qa\\final-01\\rd21.json": "5b9b08bdced5af2d7bee4cc9bfd78b39c2748a8a1cf80e476000730da036a8ed",
|
||||
".artifacts\\cv-integration-qa\\final-01\\runtime-after.json": "f1941097412c93041c88044e3df2f39154e54a15fadc1461519cabc1bb634e3c",
|
||||
".artifacts\\cv-integration-qa\\final-01\\runtime-before.json": "f1941097412c93041c88044e3df2f39154e54a15fadc1461519cabc1bb634e3c",
|
||||
".artifacts\\cv-integration-qa\\final-01\\source-after.json": "fa54acff5589dab7cab0feb9951697e140d0a463924ec9fe28c7bf2ce8e17c20",
|
||||
".artifacts\\cv-integration-qa\\final-01\\source-before.json": "fa54acff5589dab7cab0feb9951697e140d0a463924ec9fe28c7bf2ce8e17c20",
|
||||
".artifacts\\cv-integration-qa\\final-01\\volume-process.json": "300e54badb385a26e588043f77c5b92e2ce46636ffe45c61d892d23326e6ae01",
|
||||
".artifacts\\cv-integration-qa\\final-01\\volume.json": "2a42cbf015b90fa6dfcf98a91e3cdf30c9285574ae2ed86defac4913248cca80",
|
||||
".artifacts\\cv-integration-qa\\final-01\\backend\\backend.trx": "c8a286446113cc8925aefd1547ce6e20567b10de849349b5e7530a47f4912fa6",
|
||||
".artifacts\\cv-integration-qa\\frontend-final-01\\frontend.json": "346395e8724c1e153ef63bdfd3034a3d73a1a72b129e3c88c282e48d46e63a07",
|
||||
".artifacts\\cv-integration-qa\\frontend-final-01\\process.json": "94ce57931f44c3f67879f479a99ee48159c08e71fb4827fe6bdb001567777b73",
|
||||
".artifacts\\cv-integration-qa\\frontend-final-01\\processes.json": "d9f7faa8b17c480237522deae3e62ab2e459b36ca0b63002967f43cbbc5dd356",
|
||||
".artifacts\\cv-integration-qa\\frontend-final-01\\source-after.json": "5a14f2a89852ab5098989c91168610ce290779cd808aa98fcd6991412c7eeb2d",
|
||||
".artifacts\\cv-integration-qa\\frontend-final-01\\source-before.json": "5a14f2a89852ab5098989c91168610ce290779cd808aa98fcd6991412c7eeb2d",
|
||||
".artifacts\\cv-integration-qa\\extra-01\\additional-sources-after.json": "41c53e4a0d272a210ef87966c753b850ead46361be6fbfdc8cb3d94d99d62b75",
|
||||
".artifacts\\cv-integration-qa\\extra-01\\additional-sources-before.json": "41c53e4a0d272a210ef87966c753b850ead46361be6fbfdc8cb3d94d99d62b75",
|
||||
".artifacts\\cv-integration-qa\\extra-01\\frontend.json": "eeb988bf9fd53056153a5b6dca7d59fb656de0fe932dc87f8bfe75bdc0c89d08",
|
||||
".artifacts\\cv-integration-qa\\extra-01\\long-browser.json": "76826189aabadada9acde89f3fc1113c86521440b15d0e004ee454c2ae5442d8",
|
||||
".artifacts\\cv-integration-qa\\extra-01\\process.json": "c23dded8459d4a1fc1f6bf36025869bece7dcff1074f4276e33aeb74ca2697b6",
|
||||
".artifacts\\cv-integration-qa\\extra-01\\processes.json": "80fb96a1671b1de5c447ac1ab7972626606d2c646c002130b09b536649f54889",
|
||||
".artifacts\\cv-integration-qa\\extra-01\\sidecar.json": "03d97bf2a718beb2e3d3d9c2b8eacd51b28fea9ff3b0aa8dbd52c46eeb0f1820",
|
||||
".artifacts\\cv-integration-qa\\mariadb-final-01\\run.json": "6fc9b9c47953471506e6572faa99c613e6acdd1b661d823d727d3acee7f9e2ac",
|
||||
".artifacts\\cv-integration-qa\\mariadb-final-01\\mariadb.trx": "4895664baef2b5a4743c92bcc6f2be1c6f08d96443d3c944424321e5f2a0b776",
|
||||
".artifacts\\cv-integration-qa\\mariadb-final-01\\compose-cleanup.log": "f7a2cf435d622bed505d0b9e2f405274960b71109046c910ae73d8a909c6d413",
|
||||
".artifacts\\cv-integration-qa\\real-browser-01.json": "db27245dfacf6e7809b53077ffae97b4cc1ec05785d1b649f3b9f68a2fb5c67c",
|
||||
".artifacts\\cv-integration-qa\\imported-pdf-proof-01\\results.json": "4de77bea3839689129c80665034359db7ec58cb954c190c077a40e4d30c0714b",
|
||||
".artifacts\\cv-integration-qa\\imported-pdf-proof-01\\semantic-results.json": "8188ae74e40c26bb65f6890fb7b175f8ca4ff5edad3810b4be649d71643d1277",
|
||||
".artifacts\\cv-integration-qa\\long-corpus-01\\manifest.json": "effa5833f86561dbbd7c716e92b8e51fe6697f75605511d6379e9b6608b5417c",
|
||||
".artifacts\\cv-integration-qa\\long-corpus-01\\expected.json": "48e4ae226bde9141f49003bc0bba90217010825a3709f2b1f9b9c33625b4d5e4",
|
||||
".artifacts\\cv-integration-qa\\long-pdf-proof-02\\results.json": "fa7fdae7aab5631b9386e0358e91f15e45c7e441f94429238c6dd59fca0ef429",
|
||||
".artifacts\\cv-integration-qa\\structural-corpus-01\\manifest.json": "1edcfb9f3954eedd1bf429cddf91ec2d1b2ed94daf07fac0d9de981db8a7d7ca",
|
||||
".artifacts\\cv-integration-qa\\structural-extraction-01\\resources.json": "6c1e0f64c5c47ff19f2c002d2a702d22928797ede1e4aaf22f7d6971ebdfb075",
|
||||
".artifacts\\cv-integration-qa\\metrics-structural-pdf-04.json": "206f74bba11811fe5f586a03d008deea86ab0cffb466ea721ec6f23529c2a327",
|
||||
".artifacts\\cv-integration-qa\\metrics-structural-docx-04.json": "bdf6a2f60bc677e363e001d1304c5b71fde4a4eb9d72d47a8b8d6c88f66ee77f",
|
||||
".artifacts\\cv-integration-qa\\metrics-frozen-pdf-01.json": "fbaea6891a971d114466e0d006cc47def911c2bc42ec12bc63cad607f653e2c8",
|
||||
".artifacts\\cv-integration-qa\\metrics-frozen-docx-01.json": "77b5ebca55632152e799073249e8b43357fba7afe95391a8f379629059980679",
|
||||
".artifacts\\cv-integration-qa\\metrics-baseline-pdf-03.json": "293f6f2734389a044cae0a4c5a60ed95f5e36826b7797327b5a0e85fafbc3019",
|
||||
".artifacts\\cv-integration-qa\\metrics-baseline-docx-03.json": "093bc94c96aa0098c284a1b0bb59b3c187d29abe1911a4fa335f52cf826587a1",
|
||||
".artifacts\\cv-integration-qa\\baseline-typed-comparison.json": "f5095573e9ea5952e7a898514880aa118f166042cbab70589c02dd0339b7adf1",
|
||||
".artifacts\\cv-integration-qa\\dotnet-audit-02.json": "7fecc0be102f77c2d18f6c27db3cf9e7d94dda96fbb33235afba91782658e284",
|
||||
".artifacts\\cv-integration-qa\\dotnet-audit-02-process.json": "4d587361e7207d020c5909319350ee2f9184f066470b2e800dfa54ff471a7c99",
|
||||
".artifacts\\cv-integration-qa\\independent-02\\benchmark-new.log": "fd223677ef99a6674505ec567dc8e4b60cc75eb93eb3e1ca5a047529c1854018",
|
||||
".artifacts\\cv-integration-qa\\independent-02\\benchmark-original.log": "b416cc65614a26e8b0d53dc2cc26589839f9c9d525f6a8b7b797476c8b73037c",
|
||||
".artifacts\\cv-integration-qa\\independent-02\\linux-helper.log": "39198d427131cc57cbbc56457ae47cded184553d3c591b0a55bac4dcce48c6ce",
|
||||
".artifacts\\cv-integration-qa\\independent-02\\node-helpers.log": "b1a15412be71471e41ee4dc28ea10fdb5d89aa0896ab9c14b9f8f8e1f9ebdec9",
|
||||
".artifacts\\cv-integration-qa\\independent-02\\npm-audit.log": "d9c606b6a528f555f39586a823dd8041ac8c0dd4333b0abc1e08df29b2550c08",
|
||||
".artifacts\\cv-integration-qa\\independent-02\\pip-audit.log": "7b3db8a637db5688b9c5fa3e6709aac487fa9131600ac95317241a2f2d80f9d1",
|
||||
".artifacts\\cv-integration-qa\\independent-02\\python-docling.log": "2ff7499918149565c61eb1e00fddb4e6dd0b77b5a20a973f7e1806da9aa46c57",
|
||||
".artifacts\\cv-integration-qa\\independent-02\\python-offline.log": "fd0a3c4f8639f3dc484bc5d034229faf2c11ac1a46490afdfffa5ec614fa6ffd",
|
||||
".artifacts\\cv-integration-qa\\independent-02\\processes.json": "8e4058e6ab856ef1d018229252c6534f0ba464d1d7934e7532530f65e5044e62",
|
||||
".artifacts\\cv-ux-01\\cv-qa-linux-image-01\\build.json": "2a4ca6df85834f58728747d945678a0e4126705aa5e38a19a3c62abfd6502791",
|
||||
".artifacts\\cv-ux-01\\cv-qa-linux-final-01\\process.json": "7638274de64087505f2d090f11f625fb8345ab831e20abed8c9370adb5ab7809",
|
||||
".artifacts\\cv-ux-01\\cv-qa-linux-final-01\\linux-renderer.json": "e9ac2769befc0f252b0f087078f4df01b00f5b3cb9c83da339eae597c6d20c26",
|
||||
".artifacts\\cv-integration-qa\\final-01\\windows\\native-pdf.json": "d48eee307bc673670a9877f46d6ba27104694bbf85512b44334e1c3148486379",
|
||||
".artifacts\\cv-integration-qa\\final-01\\windows\\letter-fidelity\\fidelity-results.json": "9096ba0c70445609ab186c0517d656ad20699254d8d606a7e0ad940f81a6928a",
|
||||
".artifacts\\cv-ux-01\\cv-qa-linux-final-01\\linux-pdf.json": "bbe6bb3a1bf93174dd341c392ec2f06e3192a5ffd3ee6b9f2153faf78cd24bad",
|
||||
".artifacts\\cv-ux-01\\cv-qa-linux-final-01\\letter-fidelity\\fidelity-results.json": "4f9d8e992425d3eaedf40255f73541e67ce828bcac6d950cb373f5a73b2ac685",
|
||||
".artifacts\\cv-integration-qa\\sidecar-load-01\\results.json": "aaeee2a3a42dbd7d73012961bca98a724d2257260ec1698ae2868c0c3e6fb4b6",
|
||||
".artifacts\\cv-integration-qa\\journey-latencies.json": "699c9c453b8f66100941cb64364917a32b391a79647b4d8cddd81840e0d2c120",
|
||||
".artifacts\\cv-integration-qa\\seed-guards.json": "1e3602ceec503dc9dba987a464606c25209f4a4e3174438b7a4b65875c24cadc",
|
||||
".artifacts\\cv-integration-qa\\sidecar-cleanup.json": "4a6a90b31630a3013ba9acf7d5a0234a5c0d72f2b606a44b9868bb08054d9cb9",
|
||||
".artifacts\\cv-integration-qa\\run-final.py": "d64ce4529175a8e7f6499d174a38ca9c4a3fa6fdcbb607b841c7e30592adced8",
|
||||
".artifacts\\cv-integration-qa\\final-followups.py": "425fb90bfe881b6ca07d8fa5c42d74628e1adb0f1b6e1ae538d668ea85b4c05a",
|
||||
".artifacts\\cv-integration-qa\\run-extra.py": "479d4ca1af8f2b35d8ad9c30bb2f568c3ee2b26abfaffb6ea8ad7acb77636284",
|
||||
".artifacts\\cv-integration-qa\\collect-final.py": "46fd4e3e953d3687c846ede951932a307f173cb51fd984334c733398236a897e"
|
||||
},
|
||||
"status": "AUTOMATED_EVIDENCE_RECONCILED"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,3 +5,9 @@
|
||||
Directly affected owners: PRES-C01/C02/C03, C05–C10/C12, W05/W06/W07/W12, E05/E07/E08/E09 and S04/S05. Canonical profile, per-CV overrides, append-only revisions, letter/application versions and frozen package/binary ownership remain distinct. PRES-C11/live model qualification remains withheld. Other groups retain full regression obligations.
|
||||
|
||||
The authoritative CV-QA field matrix and checkpoint ledger are `../../cv-integration-qa/ARCHITECTURE_AND_COVERAGE.md` and `../../cv-integration-qa/PLAN.md`. Final per-group reconciliation will be added there without erasing old observations. Broad Phase10 deletion remains ineligible without candidate-specific caller/route/compatibility/test evidence; production gates remain independent. No cleanup or production operation is started by this addendum.
|
||||
|
||||
## 27 October 2026 qualification addendum
|
||||
|
||||
CV-QA final local evidence is reconciled in `../../cv-integration-qa/evidence-summary.json`. The complete successor `../../cv-integration-qa/preservation.json` explicitly retains all57 groups and33 routes, original criteria/owners/residuals and **56 PARTIAL /C11 DEFERRED** qualification states. No whole capability is promoted by finite passing automation.
|
||||
|
||||
Current finite results: backend1336, frontend995/109, ordinary364 with exact discovery membership, separate configured browser53, real import7, actual MariaDB80, Python90, original Windows/Linux each24CV+4letters, plus9 imported PDFs/18pages. Application source remained frozen; test-only additions were separately qualified. Source-backed missing-record mapping, conservative segmentation/provenance and lifecycle races are remediated. Deterministic extraction remains PARTIAL; real CV-model compatibility/accuracy BLOCKED; human/device/language/print/contrast checks OPEN. Candidate-specific Phase10 assessment/planning is conditionally ready, with no unused deletion candidate verified. Cleanup implementation and production remain NO-GO. No main merge, production deployment or infrastructure change was performed by this workstream.
|
||||
|
||||
Reference in New Issue
Block a user