lllin000_PaperForge/project/current
LLLin000 3cda942f96 fix: appendix numbering cross-cutting bugs (TABLE regex, int block_id, table alpha prefix, weak-caption tie-break)
3 distinct bugs found and fixed:

1. TABLE in figure regex (_FIGURE_NUMBER_PATTERN)
   Removed TABLE/Table from figure regex — caused table captions to be
   extracted as figure numbers and roadmapped into figure inventory.
   Added unit tests (table_numeric_caption_is_not_a_figure_number,
   table_appendix_caption_marker_has_no_figure_number).

2. int block_id type mismatch in cross-page lookup
   CrossPageSettlementPass and PrimarySamePagePass compared block_id
   with === but deduped_legends use int keys while ResourceRef stores
   str.  Fixed by casting both to str.  Table continuation lookup
   missed page filter, picking wrong page's same block_id.  Added
   page filter + int_block_id tests.

3. Table appendix support gaps
   - Table prefix regex only accepted digits/roman, not 'TABLE A1'.
     Added [A-Z]\d+ token and strip-leading-alpha in parse.
   - _is_validation_first_table_candidate didn't cover figure_title
     raw_label blocks with table_caption_like style.  Added second
     gate.
   - _is_weak_explicit_table_caption only checked table_caption roles.
     Extended to include validation-first candidates.
   - Same-page tie-break didn't apply for weak-explicit captions.
     Ported _bare_table_tie_break into vnext pass.
   - figure_caption_candidate not excluded from note attachment.
   - Continuation merge stripped leading duplicate table marker.

M84CTEM9 vault verification: 6/6 figures matched (3 main + 3
appendix + assets), 4/4 tables (Table 1,2 + Table A1,A2 + assets),
0 false positives, 0 figure asset leakage.
2026-07-04 01:29:06 +08:00
..
pending-issues revert: undo two adversarial-review changes to _recover_figure_heading_prefix, record issue in project/ 2026-07-03 02:12:50 +08:00
vnext-cutover-diffs 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
vnext-vault-diffs fix(ocr): fix verdict false positives - 26->8 regression, add noise_cleanup/consolidated verdicts 2026-07-03 18:20:00 +08:00
2026-07-03-figure-pipeline-analysis.md feat(ocr): checkpoint layout robustness and figure vnext groundwork on master 2026-07-03 17:48:50 +08:00
2026-07-03-vnext-cutover-corpus-map.md feat(ocr): switch figure inventory wrapper to vnext by default 2026-07-03 17:45:56 +08:00
2026-07-03-vnext-cutover-diff-review.md analysis(ocr): generate vnext cutover diff reports for full corpus 2026-07-03 17:12:39 +08:00
2026-07-03-vnext-cutover-gate-checklist.md test(ocr): complete vnext cutover gate verification — all 4 gates pass 2026-07-03 17:13:35 +08:00
ocr-v2-active-queue.md fix(ocr): unblock pairing framework merge 2026-07-03 22:50:15 +08:00
ocr-v2-generalization-boundary.md fix: converge figure ownership arbitration and add VFS8CBW2 dense-composite diagnostics 2026-06-23 02:42:22 +08:00
ocr-v2-remaining-issues-2026-06-18.md docs: realign OCR truth surface roles 2026-06-19 23:26:40 +08:00
ocr_rebuild_audit.md docs: realign OCR truth surface roles 2026-06-19 23:26:40 +08:00