mirror of
https://github.com/lllin000/PaperForge.git
synced 2026-07-22 06:50:53 +00:00
- Active queue: Layer 2 added to completed with commit reference - PROJECT-MANAGEMENT: updated header, test counts, component table, Layer 3 replaced health hardening with done status, active queue reprioritized, key file map updated, 7 decision log entries added - Session timeline entry pending (manual update)
2.9 KiB
2.9 KiB
OCR-v2 Active Queue
Status: ACTIVE QUEUE — Four-layer release readiness. Layer 2 delivered. 1278 tests green on
master. Last updated: 2026-07-05 Scope: UI polish → downstream tools
Current Priorities
- ✅ Workstream X: Layout-category truth audit — 11 papers, 6 bug patterns. Report in
docs/superpowers/analysis/2026-07-05-layout-truth-audit-findings.md - ✅ Layer 2: OCR Quality Report + Readiness Policy —
build_quality_indicators(),evaluate_readiness(), human feedback sidecar. Contract polished at commit96fd9771. - 🟡 Plugin UI polish — dashboard cleanliness, maintenance display
- 🟡 Downstream tooling — section-aware vector chunking, figure/table separate handling
Completed This Session (cumulative)
- Workstream A — object writeback seam:
- Added
paperforge/worker/ocr_object_writeback.py - Unified figure/table asset writeback, contained text, side-adjacent text, and consumed-block ownership evidence
- Added
tests/test_ocr_object_writeback.py
- Added
- Workstream B — tail settlement seam:
- Added
paperforge/worker/ocr_tail_settlement.py - Added
TailSettlementReportand attached it toDocumentStructure - Preserved legacy tail/body/backmatter behavior with focused regressions
- Added
- Workstream C — v3 pre/post normalize split:
- Added
paperforge/worker/ocr_pre_match_normalize.py - Added
paperforge/worker/ocr_post_match_normalize.py - Added
OCR_PIPELINE_V3toggle andnormalize_mode="seed_only" - Updated figure/table matching to accept
role_candidate > role > seed_role
- Added
- Pre-merge blocker cleanup:
- Fixed page-qualified object writeback lookup
- Guarded contained figure claims by page
- Restored rescue equivalence inside
post_match_normalize() - Added merge-gate regression tests for all four blockers
- Verification:
tests/test_ocr_pipeline_v3.pytests/test_ocr_tail_settlement.pytests/test_ocr_object_writeback.pytests/test_appendix_figure_numbering.pytests/test_ocr_rendering.py- Result: 105 passed, 0 failed
- Layer 2: OCR Quality Report + Readiness Policy:
- Added
paperforge/worker/ocr_quality.py—build_quality_indicators()with 5 normalizers - Added
paperforge/worker/ocr_quality_feedback.py— human feedback sidecar (per-mark hash, stale detection) - Added
paperforge/policies/ocr_readiness_v1.yaml— default readiness policy (weights, hard-red, use-case gates) - Added
evaluate_readiness()— policy evaluator with deep-merge, user override bypass - Contract polish:
status/gates/reasonsoutput shape, hash validation, non-mutating append - 22 new tests (17 quality + 5 feedback), 1278 total green
- Master commit:
96fd9771
- Added
Immediate Next Checks
- Send 6 bug patterns to GPT for solution design
- Fix 37LK5T97 two-column figure 1 bug (Round 2 RED)
- Archive stale queue docs from pairing-framework phase