1{2 "P0": {3 "status": "passed",4 "checks": [5 "contract.md written with estimands, outputs, rules, invalidity conditions"6 ],7 "notes": ""8 },9 "P1": {10 "status": "passed",11 "checks": [12 "SHA-256/rows/schema/ranges/missing/dups recorded in data_audit.md",13 "assembled file compared to rule-based splice: errors found",14 "exclusion ledger identity holds (987-30-648-1=308)"15 ],16 "notes": "assembled file excluded from computation; 2025-10 missing level"17 },18 "P2": {19 "status": "passed",20 "checks": [21 "baseline mean_growth_12m_2001_2013 computed with same g_t rule = 2.3612"22 ],23 "notes": ""24 },25 "P3": {26 "status": "passed",27 "checks": [28 "analysis.py reads only data/, deterministic, no RNG (random_seed null)"29 ],30 "notes": ""31 },32 "P4": {33 "status": "passed",34 "checks": [35 "clean re-run x2: identical md5 of results.json, analytic.csv, exclusions.csv",36 "14 consistency checks in checks.md all PASS (one initial FAIL fixed: CSV precision)"37 ],38 "notes": ""39 },40 "P5": {41 "status": "passed",42 "checks": [43 "report.md has 6 required sections, all cited keys exist in results.json",44 "claims.json results_keys all exist"45 ],46 "notes": ""47 }48}