lllin000_PaperForge/tests/unit
Research Assistant b1fdbc30eb feat: P0 fixes (ref sort, caption insert) + P1 figure containment render hygiene
P0:
- Fix 2: _ref_number_sort_key handles [N] bracket format (ocr_render.py:481)
- Fix 4: remove figure_caption from _INSERT_CANDIDATE_ROLES (ocr_document.py:3846)
- Fix 5: filter demoted body_paragraph from figure legends (ocr_figures.py:2950)

P1:
- figure containment render-hygiene pass after table inventory writeback
- 6 helpers: _cluster_bboxes_by_proximity, _is_contained,
  _highly_overlaps_any_matched_region, _figure_region_bbox,
  _matched_asset_keys, tag_figure_contained_text
- Wire call site in postprocess_ocr_result() (ocr.py:1891)

Infra:
- Sync workspace fulltext after rebuild (asset_index.py)
- Fix UnboundLocalError on index-refresh (sync_service.py)
- Add missing frontmatter fields to field registry (field_registry.yaml)
- 283 + 19 = 302 tests passing
2026-06-27 22:56:22 +08:00
..
adapters test: lock OCR phase2 figure inventory contract 2026-06-05 00:08:30 +08:00
core feat: runtime contract hardening + skill/command truth alignment (Package A+B) 2026-05-16 22:38:43 +08:00
doctor test: lock OCR phase2 figure inventory contract 2026-06-05 00:08:30 +08:00
memory test: lock OCR phase2 figure inventory contract 2026-06-05 00:08:30 +08:00
schema feat: P0 fixes (ref sort, caption insert) + P1 figure containment render hygiene 2026-06-27 22:56:22 +08:00
services feat(sync): auto-detect orphan papers after sync, show modal in Obsidian 2026-05-19 00:31:19 +08:00
worker feat: P0 fixes (ref sort, caption insert) + P1 figure containment render hygiene 2026-06-27 22:56:22 +08:00
__init__.py v1.4.17rc4 2026-05-09 17:05:07 +08:00
test_paper_resolver.py test: lock OCR phase2 figure inventory contract 2026-06-05 00:08:30 +08:00