# Verification checks (P4) | # | check | outcome | |---|---|---| | 1 | Delete out/results.json, re-run analysis.py, byte-compare with previous output | PASS (cmp identical) | | 2 | All gate_spec results_keys present in results.json | PASS (0 missing) | | 3 | Every non-boolean content key has a locator | PASS | | 4 | Derived DCR CI contains estimate: -0.8426 < -0.431 < -0.0194 | PASS | | 5 | Printed CIs contain estimates (wage 166<1153<2141; weeks -2.24<-1.99<-1.75) | PASS | | 6 | All SEs positive (0.210, 0.279, 0.187, 0.137, 0.294; derived 503.83) | PASS | | 7 | Significance stars in Tables 6/7 agree with normal-approx p from est/SE (18 cells) | PASS (0 mismatches) | | 8 | HIV 5 km: no star ⇔ significant_10pct=false; approx pā‰ˆ0.2475 >0.10 consistent | PASS | | 9 | Derived CI excludes 0 consistent with ** (p<0.05) | PASS | | 10 | Wage CI near-symmetric (half-widths 987/988) → Wald SE derivation reasonable | PASS | | 11 | % change column: exp(-0.431)-1 = -35.0% matches printed | PASS | | 12 | n_input_rows equal wc -l (10, 134, 58) | PASS | | 13 | Exclusion ledger: 25 āˆ’ 0 = 25 = n_analysed | PASS | | 14 | Input hashes match bundle.json/README | PASS | | 15 | Cross-table: Table 6 SE 0.210 vs A19 0.218 | FLAGGED (source inconsistency; reported in data_issues) | | 16 | Cross-table: 608 vs 640 control regions; obs/(treated+640)=25 | FLAGGED (reported in data_issues) | Note: JSON numbers drop trailing zeros (0.210 serialises as 0.21, -0.340 as -0.34); numeric value identical to printed; printed strings are quoted in report.