{
 "P0": {
  "status": "passed",
  "checks": [
   "contract.md written with estimands, outputs, rules, invalidity conditions"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "SHA-256/rows/schema/ranges/missing/dups recorded in data_audit.md",
   "assembled file compared to rule-based splice: errors found",
   "exclusion ledger identity holds (987-30-648-1=308)"
  ],
  "notes": "assembled file excluded from computation; 2025-10 missing level"
 },
 "P2": {
  "status": "passed",
  "checks": [
   "baseline mean_growth_12m_2001_2013 computed with same g_t rule = 2.3612"
  ],
  "notes": ""
 },
 "P3": {
  "status": "passed",
  "checks": [
   "analysis.py reads only data/, deterministic, no RNG (random_seed null)"
  ],
  "notes": ""
 },
 "P4": {
  "status": "passed",
  "checks": [
   "clean re-run x2: identical md5 of results.json, analytic.csv, exclusions.csv",
   "14 consistency checks in checks.md all PASS (one initial FAIL fixed: CSV precision)"
  ],
  "notes": ""
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md has 6 required sections, all cited keys exist in results.json",
   "claims.json results_keys all exist"
  ],
  "notes": ""
 }
}