# Step 3: reference-indexing ## Read First - /AGENTS.md - /PLAN.md - /PROGRESS.md - /docs/HARNESS.md - /docs/IMPLEMENTATION_PLAN.md - /docs/CONVERSION_POLICY.md - /phases/3-formula-pipeline/step3.md - /phases/4-semantic-enrichment/step2.md ## Task Build a reference index for figures, tables, formulas, captions, and body references. The index should support later Markdown rendering by providing stable anchors and high-confidence link targets. ## Sprint Contract - Done means: table, figure, and formula references can be resolved or left plain with reasons. - Hard thresholds: anchors are deterministic; duplicate labels are handled; missing targets do not produce broken links. - Files owned: `src/pdftomd/enrichment.py`, reference models/tests, `PROGRESS.md`, phase index. - Dependencies: Formula links and semantic block enrichment. ## Acceptance Criteria ```powershell python scripts\validate_workspace.py .\venv\python.exe -m pytest tests ``` ## Verification 1. Run the acceptance commands. 2. Confirm figure/table/formula reference fixtures are covered. 3. Update `PROGRESS.md` and this phase index. ## Do Not - Do not rewrite ambiguous references. - Do not make anchors depend on nondeterministic ordering. - Do not render final Markdown here.