LLLin000
a138100398
fix(pr1): remove has_any_author gate from affiliation/email fallback
2026-07-04 22:17:43 +08:00
LLLin000
57bb73556b
feat(pr1): add frontmatter render fallback for empty metadata
2026-07-04 21:57:04 +08:00
LLLin000
8dba963394
fix: complete reference detection fixes — 5 problem families
2026-07-03 01:46:27 +08:00
LLLin000
9aa228d60c
feat: layout robustness layer — robust banding, role-aware gating, two-column continuation
...
Task 1: Add robust band estimator core module (ocr_banding.py)
- LayoutBandEstimate, UsableContentDecision dataclasses
- collect_layout_band_candidates, estimate_layout_bands
- choose_runtime_bands, decide_usable_content
Task 2: Expose dry-run robust band diagnostics in normalize_document_structure
- layout_band_estimate field on DocumentStructure
- Serialized diagnostics with legacy vs robust comparison
Task 3: Enable robust runtime band selection
- _order_tail_blocks uses robust estimate + choose_runtime_bands
- Falls back to legacy-safe bands when robust holds
Task 4: Make layout band gating role-aware
- decide_usable_content replaces _is_in_usable_content
- Strong roles (reference_heading/item/body, backmatter_heading/boundary)
bypass band gating entirely
- backmatter_body gated at Phase 4b after heading ownership check
Task 5: Column-aware two-column continuation reference attachment
- _block_column(), _should_attach_reference_item_to_ref_section()
- rejected_ref_items list replaces body_pool fallback
Verification: 202/202 tests pass, 14/14 paper rebuilds OK,
95FDVE4W reference ordering confirmed
2026-07-02 19:15:44 +08:00
LLLin000
78b9973123
fix: reference-zone ordering fixes (P0-P4)
...
P0: disambiguate table field keys from block_page_by_id in ocr_render.py
P1: add _is_tail_backmatter_continuation() guard, order backmatter correctly
P2: phase 4b tail nonref guard with tail_backmatter_blocks list
P3: page-continuation-marker false reference gate in ocr_families.py
P4: force reference heading before same-page refs, ref_item bypass usable gate
2026-07-02 19:06:06 +08:00
LLLin000
05e75e1b29
fix: PR1 deterministic OCR residual fixes
...
- Clamp backfill words to original bbox (Issue 3)
- Allow validation-first bare tables to fall through (Issue 1A)
- Materialize split table caption continuations (Issue 1B)
- Add short-form OCR health profile (Issue 4)
2026-07-01 21:49:45 +08:00
Research Assistant
943e5995cb
fix: ownership skip also matches str(block_id) for int/string alias
2026-06-25 23:08:07 +08:00
Research Assistant
206669b0da
test: render contract for table ownership and note skip
2026-06-25 22:31:01 +08:00
Research Assistant
87d3e8cae2
test: add regression tests for footnote skip, caption fallback, bare table N matching
2026-06-25 17:23:49 +08:00
Research Assistant
06d36ff501
test: update heading prefix expectation for font-size logic
2026-06-25 16:50:38 +08:00
Research Assistant
224882f697
fix: govern local figure pairing and ownership fallbacks
2026-06-22 22:15:39 +08:00