# 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.
