## TL;DR
OCR misread 7.7 as 1.1, and the cross-reference linker trusted the raw text and pointed at section 1.1. Rebuild the section index from actual headings with a strict numbering pattern, resolve every cross-reference against that index, and flag any reference that matches nothing. Re-OCR the suspect regions at higher quality to fix the underlying misread.

## The symptom
```text
paragraph numbering misread  -  OCR turned '7.7' into '1.1' and the agent's cross-reference linker pointed at the wrong section
```

## Steps
### 1. Rebuild the section index from headings
Parse the document for heading patterns like '7.7', 'Section 7.7', or '7.7 ' at line starts. Build the authoritative list of sections that actually exist. 7.7 should be there; 1.1 may not be.
Expected: A section list matching the document's real structure.

### 2. Resolve references against the index, not raw text
For each cross-reference ('see Section X'), look X up in the index. If X is not in the index, do not link it; mark it unresolved instead of linking to a wrong section.
Expected: No link points at a section that does not exist.

### 3. Re-OCR the suspect number regions
Crop the regions around misread numbers and re-OCR at higher DPI or with a different engine. 7 vs 1 confusion usually clears up at 300+ DPI with a clean crop.
Expected: 7.7 reads as 7.7; the index and the references agree.

### 4. Add a confusion-matrix post-pass
For number-like tokens in references, check common OCR confusions (7/1, 8/6, 0/O) against the index: if '1.1' is not a section but '7.7' is, prefer the index member and flag the correction.
Expected: References resolve to real sections even when the OCR wobbles.

## When to use
- Cross-references point at sections that do not exist
- Section numbers in references differ by one confused glyph from a real section
- The linker followed raw OCR text without validating against the document structure

## When not to use
- The document's numbering is genuinely broken or duplicated (needs human review)
- References are correct but the target text moved (different problem)
- The document has no numbered sections (nothing to index)

## Why it happens
Digits like 7 and 1 are visually close at scan resolution, so OCR confuses them. A linker that trusts raw tokens then resolves '1.1' literally, landing on the wrong section or a nonexistent one. Validating against the document's actual section structure catches the misread before it becomes a wrong link.

## Edge cases
- Multi-level numbering (7.7.3): validate each level; partial matches are still wrong.
- Appendices with letter numbering (A.1): keep a separate index so digit confusions do not cross over.
- Hand-amended numbers in redline: the newest number wins; note the amendment.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_lzMLqkU5NEE0KX9KylCGGw
