lllin000_PaperForge/docs/superpowers
LLLin000 d82949ee58 C1: shadow normalize in pre_match_normalize + _match_role helpers
- Rewrite pre_match_normalize to run a shadow normalize pass that
  populates role_candidate on each block while preserving public role
- Add _match_role(block) helper to ocr_figures.py (role_candidate > role > seed_role)
- Port matching-time role reads in figure builders to use _match_role
- Add _match_role(block) helper to ocr_tables.py (same priority)
- Port matching-time role reads in table builders to use _match_role
- Port role reads in FigureCorpus.from_blocks and TableCorpus.from_blocks
- Add 3 C1 tests to test_ocr_pipeline_v3.py
- All 325 OCR tests pass (6 C0+C1 + 4 rendering + 5 writeback + 310 figures)
2026-07-04 16:02:55 +08:00
..
analysis fix: complete reference detection fixes — 5 problem families 2026-07-03 01:46:27 +08:00
checklists feat(ocr): tail regime remediation + style-aware heading profiles + boundary detection 2026-06-05 22:47:13 +08:00
plans C1: shadow normalize in pre_match_normalize + _match_role helpers 2026-07-04 16:02:55 +08:00
specs fix: appendix numbering cross-cutting bugs (TABLE regex, int block_id, table alpha prefix, weak-caption tie-break) 2026-07-04 01:29:06 +08:00