Commit graph

2 commits

Author SHA1 Message Date
LLLin000
96fd9771ef fix(ocr-quality): contract polish — 4 P0/P1 fixes
1. compute_use_cases output uses status/gates/reasons (not recommended/gate_results)
2. write_feedback validates every mark has result_hash and fulltext_hash
3. load_readiness_policy(policy=...) bypasses user override (reproducible)
4. confidence_and_fallbacks yellow for degraded=True or weak span coverage

Minor: append_mark doesn't mutate caller dict; has_figure_evidence includes
unmatched_legend_count and held_count.
2026-07-04 23:38:03 +08:00
LLLin000
3299c606d7 feat(ocr-quality): add human feedback sidecar
Standalone module (ocr_quality_feedback.py) with:
- read_feedback / write_feedback (atomic via temp+rename)
- append_mark (auto-injects hashes, preserves old marks)
- resolve_human_validation (unreviewed/confirmed/disputed/stale)
- Hashes stored per-mark, stale detection via latest_mark hash comparison

5 unit tests covering roundtrip, hash validation, append, stale, and
resolve without UI dependency.
2026-07-04 23:24:06 +08:00