{
 "P0": {
  "status": "passed",
  "checks": [
   "contract.md written covering question, estimands, outputs, info rules, invalidity"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "sha256 matches README/bundle",
   "417x7, no duplicate months, consecutive",
   "missing: neworder_chg 1992-01/02 only",
   "README discrepancy on 1992-01 noted",
   "outliers listed"
  ],
  "notes": "data_audit.md"
 },
 "P2": {
  "status": "passed",
  "checks": [
   "naive and expanding-mean baselines computed with same 60-origin RMSE/MAE rule (rmse_naive, rmse_mean)"
  ],
  "notes": ""
 },
 "P3": {
  "status": "passed",
  "checks": [
   "analysis.py implements ridge spec exactly, expanding standardisation, no randomness"
  ],
  "notes": ""
 },
 "P4": {
  "status": "passed",
  "checks": [
   "rerun byte-identical",
   "independent recomputation max diff 4.7e-11",
   "leakage test 0.0 change",
   "count/identity/chronology checks pass (checks.md)",
   "gate run 20261030T041136.221986Z: all P4 contract checks ok (results keys, exclusions, chronology, reproducibility); remaining failures were P5 deliverables not yet written"
  ],
  "notes": ""
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md with 6 sections citing results keys",
   "claims.json 4 claims referencing existing keys",
   "final gate run 20261030T041202.510719Z: PASSED 0/38 failed"
  ],
  "notes": ""
 }
}