| 1 |
Clean re-run (delete results.json, rerun analysis.py) reproduces byte-identical results.json |
PASS (cmp identical) |
| 2 |
n_supported+n_not_supported+n_not_assessable = 6 = n_analysed |
PASS |
| 3 |
verdicts/locators/reasons each have exactly keys A1–A6; labels in allowed set |
PASS |
| 4 |
Source SHA-256 match README |
PASS |
| 5 |
A1: printed % (-35.0) equals 100(exp(-0.431)-1) = -35.01 rounded; |
z |
| 6 |
A3: printed -24.7% equals implied -24.65%; asserted 28.3% ≠ |
PASS (assertion contradicted) |
| 7 |
A4: 95% CI [-0.896, 0.084] contains estimate and zero; same under 2.0 ([-0.906, 0.094]); asserted interval equals ±1 SE [-0.656,-0.156] |
PASS (assertion contradicted) |
| 8 |
A5: regex search for men/women/male/female/sex/gender in DCR extract returns no lines |
PASS (not_assessable) |
| 9 |
A6: CI contains estimate; 1.99/17.3 = 11.50% |
PASS |
| 10 |
data/ unchanged after accidental write (data/out removed; hashes re-verified; listing shows only original files) |
PASS |
| 11 |
Baseline vs final: 4/6 agree; disagreements (A2 sign, A5 missing subgroup) are explained by baseline ignoring sign and population |
PASS (expected) |
| 12 |
Internal inconsistency A19 SE 0.218 vs Table 6 0.210 |
Reported in data_issues; |