feat(scanner): add native artifact pipeline

Add native IK-style capture processing, Artifact Inventory, explicit promotion and single-result review. Confirm the three live OCR corrections in the eval corpus and preserve extraction/value separation.
This commit is contained in:
AzuTear
2026-07-09 23:30:42 +02:00
parent 28d60eb915
commit 639b0b7f59
92 changed files with 13606 additions and 1703 deletions
+9 -9
View File
@@ -2,10 +2,10 @@
Field-level accuracy measurement for the artifact OCR parser. This is the gate
every OCR, crop, layout, or parser change runs against (see ADR-007).
It is necessary but not sufficient for the IK target: live scan speed and
review/miss rates are measured by `npm run scan:iterate:compare:validated` for
short iteration and `npm run scan:goal:compare:validated` for the final
100-artifact proof. Use the `:wait` variants directly after UAC startup.
It is necessary but not sufficient for live scanner proof: scan speed and
review/miss rates are measured by `npm run scan:iterate:validated` for short
iteration and `npm run scan:goal:validated` for the final 100-artifact proof.
Use the `:wait` variants directly after UAC startup.
## Run it
@@ -14,18 +14,18 @@ npm run eval # full accuracy report for the seed corpus
npm run eval:review-candidates # export unconfirmed review samples for human labeling
npm test # runs the eval gate alongside the rest of the suite
npm run scan:assessment:test # verifies quality-first scan ranking logic
npm run scan:iterate:compare:validated:wait # 20-artifact live comparison
npm run scan:iterate:validated:wait # 20-artifact live scan
npm run scan:repeatability:wait # 20/45/100 current-engine repeatability
npm run scan:goal:compare:validated:wait # final 100-artifact live comparison
npm run scan:goal:validated:wait # final 100-artifact live scan
```
The report prints exact-match rate, overall field accuracy, a per-field
breakdown (critical fields marked with `*`), and every failing case with an
`expected "..." got "..."` diff.
Repeatability runs are single-engine evidence. Use them to prove that the
visible-inventory scanner stays stable across later sessions, but keep
current-vs-IK claims on `scan:goal:compare:validated:*`.
Repeatability runs prove whether the visible-inventory scanner stays stable
across later sessions. They are current-path evidence and should be reported
with review/miss rates plus timing, not just click count.
## How it works