- vision/refine.py: tighten crops to the paper band (removes mat
margins and hands beside receipts) and inpaint border-connected
skin regions so fingers disappear from output
- llm/vision.py: identify documents with a local Ollama vision model
(qwen2.5vl); extracts vendor/date/total/form code and flags quality
issues (fingers, blur, glare); falls back to Tesseract when down
- pipeline: drop blank pages, dedupe consecutive captures of the same
document, record refine/LLM fields in report and export summary