# Step 0: reading-order-checks ## Read First - /AGENTS.md - /PLAN.md - /PROGRESS.md - /docs/HARNESS.md - /docs/IMPLEMENTATION_PLAN.md - /docs/ARCHITECTURE.md - /docs/CONVERSION_POLICY.md - /phases/2-marker-adapter/step2.md ## Task Create reading-order verification helpers over normalized blocks. Use page numbers and bounding boxes to detect obvious ordering anomalies in multi-column or inserted-text layouts. ## Sprint Contract - Done means: reading-order checks produce diagnostics that later enrichment and evaluator steps can use. - Hard thresholds: checks are deterministic; tests include a multi-column-like fixture; helpers do not reorder content silently. - Files owned: `src/pdftomd/enrichment.py`, tests, `PROGRESS.md`, `phases/4-semantic-enrichment/index.json`. - Dependencies: Phase 2 normalized block model. ## Acceptance Criteria ```powershell python scripts\validate_workspace.py .\venv\python.exe -m pytest tests ``` ## Verification 1. Run the acceptance commands. 2. Confirm diagnostics are actionable and tied to page/block ids. 3. Update `PROGRESS.md` and this phase index. ## Do Not - Do not override Marker ordering without tests. - Do not render Markdown. - Do not call Marker or Nougat.