# Verification checks (P4, 2026-10-30) | # | check | outcome | |---|---|---| | 1 | Delete out/results.json, re-run analysis.py twice, `cmp` outputs | PASS (byte-identical) | | 2 | n_supported + n_not_supported + n_not_assessable = 6 = n_analysed = len(assertions.json) | PASS (2+3+1=6) | | 3 | Extract SHA-256 equal README values | PASS (both) | | 4 | n_input_rows equal `wc -l` (14, 134, 58) and JSON item count (6) | PASS | | 5 | A1: 100(exp(-0.431)-1) = -35.01% vs printed -35.0%; |t| = 0.431/0.210 = 2.05 consistent with ** | PASS | | 6 | A3: 100(exp(-0.283)-1) = -24.65% vs printed -24.7% (source's own conversion consistent) | PASS | | 7 | A4: CI ±1.96SE = [-0.896, 0.084], ±2SE = [-0.906, 0.094]; both contain 0; no stars printed on -0.406 | PASS (consistent) | | 8 | A5: regex search for men/women/male/female/sex/gender in DCR extract returns 0 lines | PASS | | 9 | A6: -1.99/17.3 = -11.50%; CI [-2.24,-1.75] contains -1.99 | PASS | | 10 | Each locator has the required form; one per assertion | PASS | | 11 | Source-internal consistency: A19 SE 0.218 vs Table 6 0.210; 640 vs 608 controls; abstract fatal 35% vs Table 7 -29.8% | Inconsistencies FOUND in the source; reported in data_issues (not fixable by us) | | 12 | Baseline (naive number-presence) vs final verdicts: agree on 4/6; differs on A2 (sign ignored) and A5 (no numbers) — expected failure modes of the naive rule | Recorded |