{
 "P0": {
  "status": "passed",
  "checks": [
   "TASK.md read",
   "contract.md written"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "sha256 matches bundle.json",
   "2000x3, 0 missing, 0 dups, 50 balanced firms",
   "exclusions.csv sums: 2000-0=2000"
  ],
  "notes": "no exclusions"
 },
 "P2": {
  "status": "passed",
  "checks": [
   "baseline se_ols and baseline_ci_ols computed with same estimator of beta"
  ],
  "notes": ""
 },
 "P3": {
  "status": "passed",
  "checks": [
   "analysis.py runs, writes results.json, no seed needed"
  ],
  "notes": "CR1 cluster SE, t(G-1) CI"
 },
 "P4": {
  "status": "passed",
  "checks": [
   "clean rerun identical",
   "CI contains estimate",
   "SE positive",
   "counts add up",
   "statsmodels cross-check identical",
   "gate run receipt 20261030T054853.912631Z.json: all P4-relevant checks ok; only P5 files/sections/ledger pending"
  ],
  "notes": "see checks.md"
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md with 6 sections, numbers cite results keys",
   "claims.json written, keys exist",
   "final gate run",
   "final gate receipt 20261030T054913.287937Z.json: PASSED 0/32 failed"
  ],
  "notes": ""
 }
}