1# Verification checks (P4)21. Clean re-run: deleted out/results.json, re-ran analysis.py twice, compared — identical (sha256 below). PASS32. Counts identity: n_supported+n_not_supported+n_not_assessable = 2+3+1 = 6 = n_analysed = len(assertions). PASS43. All verdicts in allowed set; one locator and one reason per assertion; locators follow `<source> | Table n | row | column` form or "not reported in <source>". PASS54. Locator source id equals the assertion's `cites` field for all six. PASS65. Conversions: 100(exp(-0.431)-1)=-35.01% (matches printed -35.0%); exp(-0.283)-1=-24.65% (printed -24.7%, not 28.3%); hepatitis 5 km CI ±1.96SE = [-0.896, 0.084] contains 0; 1.99/17.3=11.50%. PASS76. Exclusion ledger: 6 − 0 = 6 = n_analysed. PASS87. Baseline comparison: naive "all supported" baseline agrees with final verdicts on 2/6 (A1, A6). Recorded.98. A5 sex search: regex for men/women/male/female/sex/gender returns 0 lines in arxiv-2609.27732v1. PASS109. results.json sha256 after clean re-runs: 2a8e8d7ed95d5d9569282292a980c979a81e6819e4b5a7e416612548218c6848 (both runs). PASS11