Files
api/api/services/docling
kcarandClaude Opus 4.8 621d283ceb S5-5: centralized part-box synthesis (band-y x content-margins)
Add synthesize_part_box() as the single authoritative S5 part-box projection
(T3 swap point): content-margin x-extent x part-band y-extent, BOTTOMLEFT
coords; label_box retained as a separate anchor. build() attaches box per part.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-07 20:38:25 +01:00
..

API Docling first-pass auto-map package

This package is the in-API home for the S5 exam-template/first-pass/v1 extraction pipeline copied from /home/kcar/dev/docling-exam-spike.

auto_map(pdf_bytes) returns the editable first-pass template.json shape consumed by downstream exam-marker mapping. The pipeline keeps margins as constraining inputs: document left/right and per-page top/bottom margins are derived before template assembly, then part/question bands and furniture/figure boxes are constrained through those margins.

dsync Redis env wiring

The OCR path uses dsync.py for docling-serve GPU locking, page cache, and retry. Configure with env-var names only:

  • DOCLING_SERVE
  • DOCLING_REDIS_URL
  • DOCLING_REDIS_HOST
  • DOCLING_REDIS_PORT
  • DOCLING_REDIS_PASSWORD
  • DOCLING_REDIS_DB

If Redis is unavailable, dsync falls back to no cache/lock and logs that state. Do not put secret values in this file.