# Verification checks (P4) - Clean re-run: deleted results.json/table1.csv/figure1.png, re-ran analysis.py, and the regenerated results.json is byte-identical (cmp). PASS - naive CI contains naive_estimate: PASS. effect CI contains effect_estimate: PASS - effect_se > 0: PASS. CI width / SE = 3.92 (normal 95%): PASS - Exclusion ledger: 1200 - 0 - 12 = 1188 = n_analysed: PASS - model_metric (1.976) < baseline_metric (3.860): PASS (expected, because the adjusted model is nested) - Magnitude vs baseline: the sign reverses (-0.132 to +0.254). This is consistent with skill being positively correlated with hours (0.68) and negatively with growth (coefficient -4.62), i.e. negative omitted-variable bias. Plausible. - Sensitivity: full sample 0.2522, quadratic skill 0.2538, conventional SE 0.00984 vs HC1 0.00981. All stable. PASS - No chronology pairs; skill_index is pre-programme by construction. PASS