Skip to content

What the checks caught

Building this surfaced 11 real defects. The interesting part is which check found each one.

Which check caught each defect11 defects found while building; caught by: Coverage check: 1; Converter warning: 2; Spot check vs source: 1; Reading the output: 5; Evidence lines / flags: 1; Crash: 1. The structural validator and strict build caught none of them.CoveragecheckConverterwarningSpot checkvs sourceReadingthe outputEvidence lines/ flagsCrash1. Cleanup deleted real instructions (a factory-reset procedure)Cleanup deleted real instructions (a factory-reset procedure): caught by Coverage check2. Assumed headings appear in outline order (multi-column pages)Assumed headings appear in outline order (multi-column pages): caught by Converter warning3. Hidden control characters in outline titlesHidden control characters in outline titles: caught by Converter warning4. Page-number footer leaked into a section; empty stub chaptersPage-number footer leaked into a section; empty stub chapters: caught by Spot check vs source5. A download was for a different product (Play mk3 vs MK3)A download was for a different product (Play mk3 vs MK3): caught by Reading the output6. Other-language text leaked into English sectionsOther-language text leaked into English sections: caught by Reading the output7. Running page headers used as section titlesRunning page headers used as section titles: caught by Reading the output8. Spec parser misread numbers (1,000 mA as 0; wrong rail; a row size as a width)Spec parser misread numbers (1,000 mA as 0; wrong rail; a row size as a width): caught by Evidence lines / flags9. A non-UTF-8 page crashed the fetcherA non-UTF-8 page crashed the fetcher: caught by Crash10. A fix silently did not apply; the table looked freshA fix silently did not apply; the table looked fresh: caught by Reading the output11. Tags that match everywhere carry no informationTags that match everywhere carry no information: caught by Reading the outputStructural validator and strict build: 0 of the failures listed here (they check form, not fidelity).

Dots show the check that caught each defect. No single check caught them all.

What it shows

  • The structural checks (schema validation and the strict build) caught none of these, because they test form, not fidelity. A clean build does not mean correct content.
  • The most valuable check was measuring completeness against the source (the coverage check), which exposed a factory-reset procedure that a well-meant cleanup step had silently deleted.
  • Several defects were found only by reading the output against the source. Automated checks narrow the search; they do not replace looking.

The defects

# Defect Caught by How it showed Fix
1 Cleanup deleted real instructions (a factory-reset procedure) Coverage check Coverage check showed 97.5% recall; missing words named the culprit Keep figure text; drop only pure noise
2 Assumed headings appear in outline order (multi-column pages) Converter warning Converter warnings: six headings 'not located' Locate each heading in its own page window
3 Hidden control characters in outline titles Converter warning Same warnings Strip control characters
4 Page-number footer leaked into a section; empty stub chapters Spot check vs source Spot check against the PDF Strip page numbers; skip title-only stubs
5 A download was for a different product (Play mk3 vs MK3) Reading the output Reading the document's own title Not ingested; correct file matched by content
6 Other-language text leaked into English sections Reading the output Reading the converted output Crop to the English column; cut at first non-English heading
7 Running page headers used as section titles Reading the output Reading the converted output Explicit heading patterns per manual
8 Spec parser misread numbers (1,000 mA as 0; wrong rail; a row size as a width) Evidence lines / flags Wrong-looking numbers, the disagree flag, raw evidence lines Line-anchored, sign-aware patterns; override with reasoning
9 A non-UTF-8 page crashed the fetcher Crash The crash Tolerant decoding
10 A fix silently did not apply; the table looked fresh Reading the output A value that should have changed still read 0 Confirm changes took effect; regression diff
11 Tags that match everywhere carry no information Reading the output Reading tag frequencies Heading-only tags; drop the bare word 'gate'

More: how correctness is checked.