lllin000_PaperForge/paperforge
LLLin000 36d7f79d50 fix: rescue single narrow side-caption figure layouts
Add a narrow sidecar rescue for the 37-like pattern:
- one formal narrow figure caption on a page
- same-row right-side image
- no x-overlap required
- bounded x-gap and strong y-overlap
- only when primary same-page matching missed the caption

This preserves the existing >=2 narrow-caption sidecar behavior while
rescuing left-caption/right-image layouts that previously fell to
cross_page_reservation.

Verified on real vault:
- 37LK5T97 page 2: FIG. 1 now matches as figure_001 via sidecar
- QGCAFI3P page 4: narrow side-caption rescued
- QZXT9L27 page 11: narrow side-caption rescued

Targeted tests: 296 passed
2026-07-06 02:38:59 +08:00
..
adapters feat: add ocr_redo frontmatter field + sync preservation 2026-06-01 11:23:32 +08:00
command_files feat(skills): add /pf-log-reading and /pf-log-session slash commands 2026-05-12 20:55:32 +08:00
commands feat: rebuild speed-up with parallel rebuild, threaded asset cropping, maintenance refactor, embed progress, CLI docs 2026-07-05 19:43:07 +08:00
core feat: runtime contract hardening + skill/command truth alignment (Package A+B) 2026-05-16 22:38:43 +08:00
doctor chore: commit session work before hotfix switch 2026-05-18 22:47:30 +08:00
embedding feat: add LanceDB evaluation backend scaffold 2026-07-05 14:19:37 +08:00
memory fix: close 4 review gaps — registry, body/object-unit schemas, compat vector arm 2026-07-05 15:13:43 +08:00
plugin feat: surface drift state and invalidate maintenance cache 2026-07-05 16:52:17 +08:00
policies feat(ocr-quality): add evaluate_readiness() with YAML policy evaluator 2026-07-04 23:28:06 +08:00
retrieval fix: add paper-lookup next action on empty results 2026-07-05 15:24:24 +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: P0 fixes (ref sort, caption insert) + P1 figure containment render hygiene 2026-06-27 22:56:22 +08:00
setup fix: remove v prefix from git tag references in install URLs; update versions.json 2026-05-25 11:45:11 +08:00
skills feat: classify OCR errors and degraded completions 2026-06-08 12:34:44 +08:00
worker fix: rescue single narrow side-caption figure layouts 2026-07-06 02:38:59 +08:00
__init__.py bump: 1.5.14 -> 1.5.15 2026-06-01 19:46:46 +08:00
__main__.py fix: force UTF-8 encoding for all subprocess and stdout on Windows, fix pre-existing logger bug 2026-05-11 19:16:18 +08:00
cli.py feat: rebuild speed-up with parallel rebuild, threaded asset cropping, maintenance refactor, embed progress, CLI docs 2026-07-05 19:43:07 +08:00
config.py feat: runtime contract hardening + skill/command truth alignment (Package A+B) 2026-05-16 22:38:43 +08:00
logging_config.py chore: rename PaperForge Lite -> PaperForge across 27 files 2026-04-28 01:25:51 +08:00
ocr_diagnostics.py feat: bump PaddleOCR model from VL-1.5 to VL-1.6 2026-06-01 00:32:46 +08:00
pdf_resolver.py fix: add creators/extra to load_export_rows row dict, fix journal key lookup for first_author/journal/IF in library-records; add first_author, journal, impact_factor columns to Base views; fix PDF storage/ subdirectory resolution 2026-04-27 20:25:35 +08:00
query_planning.py style: fix lint issues in new Phase4.1/Phase5 code 2026-06-05 12:23:55 +08:00
setup_wizard.py feat: add Gemini CLI agent platform support (.gemini/skills) 2026-06-01 19:46:17 +08:00