# Source diagnostics

Read 2026-10-24.

MarkItDown 0.1.8, installed converters/_pdf_converter.py, PdfConverter.convert lines 520-590: form extraction per page; no forms triggers whole-document pdfminer; empty result still goes to pdfminer. This is a text fallback, not OCR. Exact installed source is source/markitdown_pdf_converter.py.

PyMuPDF4LLM 1.28.2, __init__.py: use_layout(True) after layout import; _layout_to_markdown defaults use_ocr=True. helpers/document_layout.py select_ocr_function (1183+) returns None when no OCR engines are available. parse_document (1380+) then sets OCRMode.NEVER. Probe result is environment.json; this environment has no Tesseract and selected_ocr_callable=None. No inference about an installed OCR engine's quality is made.

Installed __init__.py SHA-256: b7a37d0a4f78f0511462973a76e317e08dffab826b122b43f79f94496a3f63db
Installed helpers/document_layout.py SHA-256: 60d48d578fff7486538234a251d71e6eacf6091232b6117a563d0fec1f3e4b7e

Baidu Unlimited-OCR main, raw GitHub files accessed 2026-10-24: README infer_multi accepts a sequence of page images. infer.py build_jobs makes a job for each rendered page; build_content accepts one image_path; infer_one posts that content. This is static inspection, not a model execution, and was already described in an external blog. No T4 reproduction is claimed.

Markovo snapshots: mixed.job.pages_ocr=3, job.billing_metrics.pagesOcr=1, convert_response.jobs[0].billing_metrics.ocrPageIndexes=[2]. Preserve distinct fields; do not infer exact final routing from the estimate. scan-image.job.pages_ocr=1 and billing values agree on OCR use. Dates are 2026-10-06; copied from cache on 2026-10-24.
