{
  "P0": {
    "status": "passed",
    "checks": [
      "contract.md written with estimand, outputs, rules"
    ],
    "notes": ""
  },
  "P1": {
    "status": "passed",
    "checks": [
      "sha256 matches bundle",
      "no missing/duplicates",
      "treated constant within school",
      "exclusions ledger sums 1000-0=1000"
    ],
    "notes": ""
  },
  "P2": {
    "status": "passed",
    "checks": [
      "se_iid baseline computed in results.json"
    ],
    "notes": ""
  },
  "P3": {
    "status": "passed",
    "checks": [
      "analysis.py reads only data/, deterministic, no seed needed"
    ],
    "notes": ""
  },
  "P4": {
    "status": "passed",
    "checks": [
      "clean re-run identical (cmp)",
      "checks.md 1-8 all PASS",
      "gate run: out/state/gate_receipts/20261030T043624.322438Z.json passed (0/35 failed)"
    ],
    "notes": ""
  },
  "P5": {
    "status": "passed",
    "checks": [
      "report.md 6 sections with keys cited",
      "claims.json written",
      "final gate run: out/state/gate_receipts/20261030T043629.457750Z.json passed"
    ],
    "notes": ""
  }
}