{
  "P0": {
    "status": "passed",
    "checks": [
      "contract.md written covering question, estimands, outputs, info rules, invalidity conditions"
    ],
    "notes": ""
  },
  "P1": {
    "status": "passed",
    "checks": [
      "sha256 matches bundle.json",
      "2000x3, 0 missing, 0 duplicates, 50 firms x 40 obs",
      "exclusions.csv sums: 2000-0=2000"
    ],
    "notes": ""
  },
  "P2": {
    "status": "passed",
    "checks": [
      "naive OLS se_ols=0.02412 computed and stored"
    ],
    "notes": ""
  },
  "P3": {
    "status": "passed",
    "checks": [
      "analysis.py reads only data/, no randomness (random_seed null)",
      "CR1 manual cross-check assert passed"
    ],
    "notes": ""
  },
  "P4": {
    "status": "passed",
    "checks": [
      "rerun byte-identical (cmp)",
      "checks.md items 1-7 pass",
      "gate run 20261030T033309.206846Z: output-contract/reproducibility checks ok; failures only for P5 deliverables not yet written"
    ],
    "notes": "gate receipt out/state/gate_receipts/20261030T033309.206846Z.json"
  },
  "P5": {
    "status": "passed",
    "checks": [
      "report.md with all 6 sections citing results keys",
      "claims.json C1-C4 referencing existing keys",
      "final gate run (see notes)"
    ],
    "notes": "final gate receipt out/state/gate_receipts/20261030T033329.159701Z.json: PASSED 0/32 failed"
  }
}