Commit graph

1394 commits

Author SHA1 Message Date
Research Assistant
7e9987bf73 docs: update Phase 1 results with -50 figure_caption_candidate from panel label pattern fix 2026-06-17 19:26:17 +08:00
Research Assistant
e12f355fd0 feat: extend PANEL_LABEL_PATTERN to match lowercase sub-panel labels (a)(b) 2026-06-17 19:25:47 +08:00
Research Assistant
3e96d65310 docs: record Phase 1 layout-first OCR results and audit evidence 2026-06-17 19:06:03 +08:00
Research Assistant
e8afb97401 feat: make caption candidate downgrade selective not global 2026-06-17 19:05:57 +08:00
Research Assistant
1258e44c4a feat: allow plausible media_asset blocks into table matching 2026-06-17 19:05:52 +08:00
Research Assistant
688575532d feat: add layout-first margin noise and figure-inner-label role rules 2026-06-17 19:05:33 +08:00
Research Assistant
ea9e7faf0b test: add layout-first OCR regression tests 2026-06-17 19:05:28 +08:00
Research Assistant
6732f5cc89 feat: add layout-first margin noise and figure-inner-label role rules 2026-06-17 19:01:51 +08:00
Research Assistant
fe934fe848 feat: add diff_audit.py for differential audit after pipeline changes 2026-06-17 17:20:17 +08:00
Research Assistant
8260f03b09 fix: add ocr_raw_integrity to rebuild path health 2026-06-17 16:12:40 +08:00
Research Assistant
fe5e7bc0e2 style: fix lint issues in ocr_blocks.py and ocr_pdf_spans.py 2026-06-17 15:48:38 +08:00
Research Assistant
ccd08abb58 test: add synthetic PDF unit tests for pdf text fallback 2026-06-17 15:41:10 +08:00
Research Assistant
ef021a4c7a feat: add ocr_raw_integrity health stats for pdf text fallback 2026-06-17 15:40:20 +08:00
Research Assistant
b99f3e3f36 feat: wire pdf text fallback into OCR postprocessing pipeline 2026-06-17 15:39:52 +08:00
Research Assistant
a2447a830c feat: add ocr_raw_error role for unrecovered OCR text failures 2026-06-17 15:39:21 +08:00
Research Assistant
efcd115906 feat: add backfill_missing_text_from_pdf for OCR extraction failures 2026-06-17 15:37:46 +08:00
Research Assistant
8280ffe511 docs: make ponytail always-active with auto-trigger rules 2026-06-17 01:36:41 +08:00
Research Assistant
cc4b9c73b7 docs: add ponytail mode + PROJECT-MANAGEMENT rules to AGENTS.md 2026-06-17 01:34:58 +08:00
Research Assistant
fa9d035883 docs: CHANGELOG 1.5.9 - tail rendering fix 2026-06-17 01:33:21 +08:00
Research Assistant
95935e0a32 docs: record K7 tail rendering fix in PROJECT-MANAGEMENT 2026-06-17 01:32:26 +08:00
Research Assistant
7fde6236a2 fix: skip backmatter section grouping on pages without ref heading
On two-column tail pages with reference items but no explicit reference
heading (e.g. K7R8PEKW page 16), forced backmatter section grouping
overrides the natural column-sorted reading order.

- _reorder_tail_run: add skip_section_grouping param. When set, emit
  blocks in column-sorted order with reference items grouped at end,
  bypassing the backmatter/body section grouping logic entirely.
- _order_tail_blocks: detect pages with ref items + no ref heading and
  pass skip_section_grouping=True.
- _normalize_backmatter_roles_after_boundary: remove forced conversion
  of body_paragraph to backmatter_body inside backmatter region (body
  paragraphs attach naturally via _find_owning_heading in Phase 1).
2026-06-17 01:31:38 +08:00
Research Assistant
8636a2cf89 fix: restore K7 abstract + Introduction paragraph 2026-06-16 21:33:03 +08:00
Research Assistant
f139bb36e0 fix: set cluster_bbox on sidecar-partitioned figures for composite crop 2026-06-16 20:38:45 +08:00
Research Assistant
a78e6b37c7 fix: add narrow-caption same-page figure fallback 2026-06-16 20:34:24 +08:00
Research Assistant
66ee7ab412 docs: record narrow-caption sidecar fallback scope 2026-06-16 20:25:31 +08:00
Research Assistant
8ba7d60fa1 fix: add narrow-caption same-page figure fallback 2026-06-16 20:25:21 +08:00
Research Assistant
22e70e7aed fix: route narrow-caption same-page figure layouts 2026-06-16 20:19:21 +08:00
Research Assistant
3f879e20b2 test: add sidecar layout routing coverage 2026-06-16 20:17:35 +08:00
Research Assistant
29be73b977 test: lock same-page narrow-caption figure ownership 2026-06-16 20:16:44 +08:00
Research Assistant
358255b412 docs: record parked adjacent-caption figure case 2026-06-16 19:27:30 +08:00
Research Assistant
671731d979 fix: update Figure 3 ownership to include blocks 7 and 13 2026-06-16 19:27:03 +08:00
Research Assistant
6ae3cf575b fix: conservatively expand matched multi-panel figures 2026-06-16 19:26:53 +08:00
Research Assistant
b9c5fde6ee test: add conservative figure merge unit coverage 2026-06-16 19:14:34 +08:00
Research Assistant
5c77829eee test: tighten K7R8PEKW figure ownership contract 2026-06-16 19:13:42 +08:00
Research Assistant
2155197b87 fix: remove preproof page 1 entirely instead of suppressing roles 2026-06-16 14:15:21 +08:00
Research Assistant
9f5cb9095c chore: update gold figure merge ownership expectations after group-first refactor 2026-06-16 14:12:42 +08:00
Research Assistant
2d9da180d4 fix: propagate group_type/group_evidence and use page-qualified asset tracking 2026-06-15 21:19:52 +08:00
Research Assistant
9eae13a948 feat: report grouped figure match health metrics 2026-06-15 15:43:23 +08:00
Research Assistant
72109ce858 test: verify reader figures preserve grouped strict matches 2026-06-15 15:42:17 +08:00
Research Assistant
3cd8403b6f fix: prevent fallback from splitting grouped figure assets 2026-06-15 15:39:46 +08:00
Research Assistant
06bcf344a9 feat: match figure legends against candidate media groups 2026-06-15 15:29:03 +08:00
Research Assistant
8fd7596079 refactor: add candidate figure group scaffolding 2026-06-15 15:17:31 +08:00
Research Assistant
416232d638 test: add failing pair-group figure inventory case 2026-06-15 15:16:35 +08:00
Research Assistant
ab81677419 docs: update PROJECT-MANAGEMENT with rebuild script docs, review fixes, table ordering 2026-06-14 23:20:01 +08:00
Research Assistant
644309473b fix: review findings — page1_candidates variable bug, page2 doc_title gate, same-page table pre-ref emission
- ocr_document.py: page1_candidates filter now uses b.get('block_id')
- ocr_structural_gate.py: page 2 doc_title requires source anchor to accept
- ocr_render.py: emit matched figures/tables before ## References to fix
  same-page table-after-refs ordering (A8E7SRVS Table 10)
2026-06-14 23:17:54 +08:00
Research Assistant
9acfb160f3 docs: update PROJECT-MANAGEMENT with Phase 13e box merge, author detection, table fix 2026-06-14 22:22:05 +08:00
Research Assistant
a4634aeb20 fix(ocr-render): apply normalize_ocr_math_text to structured_insert _container_text 2026-06-14 22:19:15 +08:00
Research Assistant
80b91f73fd fix(ocr): merge Box N / Key insights content boxes into structured_insert callout
Add _merge_box_content() post-processing to normalize_document_structure:
detects structured_insert blocks whose text starts with Box N or Key
insights, then consumes following body-like blocks as box content.
Consumed blocks get role=noise + render_default=False to suppress
double-rendering. Column-crossing boxes (common in multi-column
layouts) are handled by removing the x-overlap heuristic.
2026-06-14 22:16:57 +08:00
Research Assistant
b0fe93f0df fix(ocr-roles): robust author list detection with name-pair counting 2026-06-14 21:40:35 +08:00
Research Assistant
ae01067240 fix: suppress Box 1 structured_insert leak, recover table inventory from table_caption_candidate
- ocr_render.py: structured_insert respects render_default (fixes Box 1 endnote
  leaking as > [!NOTE] callout). Add table_caption_candidate to skipped roles.
- ocr_tables.py: build_table_inventory now collects table_caption_candidate
  blocks as captions (was silently skipping them)
2026-06-14 21:28:52 +08:00