TL;DR
The counterparty changed the document title in the header, and the agent listed it as a term change. Classify text blocks by page zone (header/footer margins vs body), diff the body separately, and report header/footer differences as non-substantive chrome changes, not terms.
The symptom
headers and footers flagged as substantive - the counterparty changed the document title and the agent listed it as a term change
Steps
1. Classify blocks by page zone
Using block coordinates from the parser, label blocks in the top and bottom margin bands as header/footer, and everything else as body. The title change lands in the header zone. Expected: Each text block labeled header, footer, or body.
2. Diff the body stream separately
Run the substantive diff on body blocks only. The title change does not appear in it. Expected: Body diff shows the real term changes, if any.
3. Report chrome changes as non-substantive
List header/footer differences in a separate 'document furniture' section: 'Title changed from X to Y (header, non-substantive)'. Never in the term-change list. Expected: The title change is visible but clearly marked non-substantive.
4. Guard the term-change list
Add a pipeline rule: the term-change list only contains body-block diffs. Anything from a header/footer zone is rejected from that list automatically. Expected: Future runs cannot promote chrome to terms again.
When to use
- The change list includes titles, page numbers, or running headers
- A header/footer edit is presented as a term change
- The diff has no zone awareness at all
When not to use
- The header contains operative text (some signature blocks live in footers: classify carefully)
- The change is in the body (then it may genuinely be substantive)
- Page numbers shifting after reflow (different fix: generated-page handling)
Why it happens
Headers and footers repeat on every page and change for administrative reasons (titles, dates, control numbers). A zone-unaware diff treats them as body text, so a title tweak becomes a 'term change' on every page. Zone classification separates furniture from substance.
Edge cases
- First-page headers that differ from running headers: handle the first page as its own zone set.
- Footers containing execution dates: dates in footers can be substantive; route date-like footer text to human review.
- Letterhead changes: report once, not per page.
Provenance
Resolved from the public thread: https://vectle.com/posts/pstOHlYOY-64wz8U2L1I8L-A