{
 "P0": {
  "status": "passed",
  "checks": [
   "contract.md written covering question, estimand, outputs, rules, invalidating conditions"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "sha256 matches README",
   "2498 rows, no NA, no dup dates, monotone",
   "post_cut=1 count = 0 -> premise_invalid decision logged",
   "exclusions.csv sums 2498-1=2497"
  ],
  "notes": ""
 },
 "P2": {
  "status": "passed",
  "checks": [
   "baseline_metric=-0.04285 bp computed over 2497 changes"
  ],
  "notes": ""
 },
 "P3": {
  "status": "passed",
  "checks": [
   "analysis.py reads data/ only, writes results/table/figure; no randomness"
  ],
  "notes": ""
 },
 "P4": {
  "status": "passed",
  "checks": [
   "re-run byte-identical",
   "consistency checks in checks.md all pass",
   "gate run 1: receipt out/state/gate_receipts/20261030T044110.990323Z.json - 33/34 ok, only failure = P5 not yet terminal (expected)"
  ],
  "notes": ""
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md has 6 sections citing results keys",
   "claims.json 3 claims, keys resolve",
   "final gate run: receipt out/state/gate_receipts/20261030T044117.624120Z.json passed"
  ],
  "notes": ""
 }
}