Commit graph

1106 commits

Author SHA1 Message Date
Research Assistant
c235dbdc68 feat(ocr): journal layout generalization, OCR diagnostics, and debug scripts 2026-06-06 00:46:49 +08:00
Research Assistant
f9b5fb0541 feat(ocr): journal layout generalization — structured boundary, container regime, legend validation
- Task 1: TailBoundary namedtuple with body_end/backmatter_start/references_start
- Task 2: _classify_backmatter_form — 'container' (PeerJ) vs 'flat' (Frontiers) regime
- Task 3: _attach_container_bodies, _container_child flag for ### child headings
- Task 4: Style-family classification already complete
- Task 6: _is_formal_legend threshold raised to 100, more axis_words added,
  low-confidence fallback with legend_uncertain flag for rejected captions
- 2GN9LMCW: authors correct, furniture suppressed, heading hierarchy,
  container child headings, Figure 4 uncertain
- 7C8829BD: 26/26 markers, correct tail order, no regression
- 296/296 tests pass
2026-06-05 23:48:56 +08:00
Research Assistant
8a0f6dd0fb feat(ocr): PeerJ-style remediation — frontmatter zoning, heading hierarchy, backmatter container
- Task 1: Strengthen first-page frontmatter zoning (author/affiliation/furniture zones)
- Task 2: Style-aware heading hierarchy with _infer_heading_level content heuristics
- Tasks 3+4: ADDITIONAL INFORMATION AND DECLARATIONS as backmatter_boundary_heading,
  container ordering (boundary heading emitted first, sub-sections after)
- Task 5: Figure legend validation via _is_formal_legend (width/criterion/axis-vocab rejection)
- Verified on 2GN9LMCW: authors correct, furniture suppressed, heading hierarchy,
  references last
- 7C8829BD regression-free: 26/26 markers, tail order intact
- 296/296 tests pass
2026-06-05 23:27:10 +08:00
Research Assistant
d52ea37e92 feat(ocr): tail regime remediation + style-aware heading profiles + boundary detection
- Task: Bidirectional body/backmatter boundary detection (forward/backward spine + tail spread reconciliation)
- Task: Style-aware heading profiles from PDF span_metadata (extract, cluster, disambiguate)
- Task: Lock tests for tail-candidate overreach, cross-page continuation, style-aware heading detection
- 296/296 tests pass, real-paper 7C8829BD verified
2026-06-05 22:47:13 +08:00
Research Assistant
2e2e8cb8e4 Revert "revert: restore original Phase 2 figure/table matching logic"
This reverts commit 0a2988b89f.
2026-06-05 15:38:04 +08:00
Research Assistant
0a2988b89f revert: restore original Phase 2 figure/table matching logic 2026-06-05 15:36:59 +08:00
Research Assistant
ac3c0c4b8e fix: resolve source_pdf during legacy backfill for figure/table crop extraction 2026-06-05 15:29:55 +08:00
Research Assistant
38663913d5 fix: keep images/ for page render blocks, add path_map for compatibility migration 2026-06-05 15:27:43 +08:00
Research Assistant
332eafe4be fix: write page block images to assets/ primary, mirror to images/ compat 2026-06-05 15:25:54 +08:00
Research Assistant
8e0b4bf7c9 fix: sync images/ to assets/ for structured truth 2026-06-05 15:24:29 +08:00
Research Assistant
7d20aba6ba fix: emit figure/table objects on page completion, include all legends in matching 2026-06-05 15:22:04 +08:00
Research Assistant
cff4107633 fix: stabilize object notes, render heading sanity, health/index detection 2026-06-05 15:13:33 +08:00
Research Assistant
174d2e8ccd fix: stabilize OCR table matching and image-first rendering 2026-06-05 15:11:20 +08:00
Research Assistant
0e41454748 fix: harden OCR figure legend detection and matching 2026-06-05 15:09:47 +08:00
Research Assistant
13566f7f34 fix: recover authors from OCR frontmatter with clean split 2026-06-05 15:06:25 +08:00
Research Assistant
0d9725808f fix: strengthen tests, clean object-note format, fix assets_path compat 2026-06-05 15:04:21 +08:00
Research Assistant
009be8c958 fix: stop paper_title pollution, text-to-heading, table HTML leak, author recovery 2026-06-05 15:02:00 +08:00
Research Assistant
27511b6df6 fix: strengthen frontmatter noise detection and abstract recovery for legacy OCR 2026-06-05 14:45:35 +08:00
Research Assistant
e7c942f68b fix: correct title via Zotero frontmatter, anchor figure/table placement, fix page markers and wikilinks 2026-06-05 13:50:26 +08:00
Research Assistant
b5630bc67b fix: restore OCR render assembly, anchored object placement, and LaTeX normalization 2026-06-05 13:38:48 +08:00
Research Assistant
0fa6dd19a9 fix: correct OCR object asset wikilinks for Obsidian 2026-06-05 13:35:52 +08:00
Research Assistant
73a77acbf4 fix: stabilize legacy OCR structure and metadata recovery 2026-06-05 13:34:43 +08:00
Research Assistant
f3fec67469 test: lock OCR render stabilization regressions 2026-06-05 13:31:50 +08:00
Research Assistant
73a9b9d183 style: fix lint issues in legacy backfill code 2026-06-05 13:01:55 +08:00
Research Assistant
b64c9ed130 test: add legacy OCR backfill e2e smoke test procedure 2026-06-05 13:01:15 +08:00
Research Assistant
76c8d3fc1b chore: update status JSON snapshot for legacy backfilled fields 2026-06-05 13:00:40 +08:00
Research Assistant
491f09854d feat: surface legacy OCR backfill state in doctor and status diagnostics 2026-06-05 13:00:35 +08:00
Research Assistant
7f19dd99ae feat: integrate legacy OCR backfill into sync runtime 2026-06-05 12:58:12 +08:00
Research Assistant
3790460847 feat: add legacy OCR backfill-from-result rebuild path 2026-06-05 12:57:01 +08:00
Research Assistant
3f51dc9d82 feat: classify legacy OCR papers without version state 2026-06-05 12:55:19 +08:00
Research Assistant
151a762cac test: lock legacy OCR classification contract
All 5 tests fail as expected:
- 4 ImportError (classify_legacy_ocr_state does not exist)
- 1 KeyError (legacy_count not in summarize_ocr_runtime_followups)
2026-06-05 12:52:43 +08:00
Research Assistant
1779b8b0ff docs: add legacy OCR backfill and sync integration plan 2026-06-05 12:49:01 +08:00
Research Assistant
98ef3b83db style: fix lint issues in new Phase4.1/Phase5 code 2026-06-05 12:23:55 +08:00
Research Assistant
2c21926444 feat: add OCR evidence-aware query routing for phase5
- Add evidence_query class to build_query_plan() for intent='evidence'
- Add ocr_evidence_available to enrich_query_plan_with_runtime()
- Add OCR evidence enrichment in search.py and retrieve.py
- Add routing contract tests (3 routing + 1 evidence hit)
- All pre-existing tests pass
2026-06-05 12:22:15 +08:00
Research Assistant
c93fa0cc1a feat: add OCR evidence objects and paper-context summary 2026-06-05 12:15:51 +08:00
Research Assistant
aa342c3e6a test: lock OCR phase5 evidence object contract 2026-06-05 12:14:18 +08:00
Research Assistant
5d243c8e72 feat: add OCR role-based search index 2026-06-05 12:13:18 +08:00
Research Assistant
4f6b250ca3 test: lock OCR phase5 role index contract 2026-06-05 12:11:51 +08:00
Research Assistant
d25dd1857a chore: remove unused import and stray blank line in OCR modules 2026-06-05 12:10:53 +08:00
Research Assistant
15cd21b2b7 fix: defer OCR derived rebuilds outside sync critical path 2026-06-05 12:10:32 +08:00
Research Assistant
a1d91b2d2d fix: preserve raw upgrade state across derived rebuilds 2026-06-05 12:09:07 +08:00
Research Assistant
5744e67c0e test: lock OCR phase4.1 runtime cleanup semantics 2026-06-05 12:08:14 +08:00
Research Assistant
5f31d2924f docs: add OCR phase4.1 cleanup and phase5 plan 2026-06-05 12:00:22 +08:00
Research Assistant
1e3b15397b test: finalize OCR structured pipeline phase4 runtime integration 2026-06-05 11:32:46 +08:00
Research Assistant
75d1dae059 feat: tolerate OCR runtime version state in dashboard 2026-06-05 11:31:24 +08:00
Research Assistant
0c3ecb2bc3 feat: surface OCR version runtime state in status and doctor 2026-06-05 11:28:34 +08:00
Research Assistant
5efb4435b4 feat: integrate OCR version state into sync runtime 2026-06-05 11:24:05 +08:00
Research Assistant
0137f73d39 feat: add derived OCR rebuild helpers without changing redo semantics 2026-06-05 11:20:38 +08:00
Research Assistant
6c58212db3 test: lock OCR phase4 rebuild orchestration contract 2026-06-05 11:17:04 +08:00
Research Assistant
633a59f998 feat: classify OCR raw and derived version state 2026-06-05 11:14:24 +08:00