{
 "P0": {
  "status": "passed",
  "checks": [
   "TASK.md read completely",
   "contract.md written"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "SHA-256 of all 7 data files computed and matched README/bundle",
   "line counts recorded",
   "per-source anomalies recorded in data_audit.md",
   "exclusion ledger out/exclusions.csv written (5->5->4->2)",
   "availability: S2/S3 uncertainty not printed -> not poolable"
  ],
  "notes": ""
 },
 "P2": {
  "status": "passed",
  "checks": [
   "baseline unweighted mean theta of poolable studies = -0.1788 (baseline_unweighted_mean_poolable) and of harmonised = -0.1343 recorded in results.json"
  ],
  "notes": ""
 },
 "P3": {
  "status": "passed",
  "checks": [
   "out/analysis.py reads only data/, asserts each relied-on source line contents, prints them",
   "writes results.json, table1.csv, figure1.png; no randomness (random_seed null)"
  ],
  "notes": ""
 },
 "P4": {
  "status": "passed",
  "checks": [
   "clean re-run x2: results.json/table1.csv/stdout identical",
   "21 internal consistency checks PASS (out/state/checks.md)",
   "gate run 1: out/state/gate_receipts/20261030T053247.826600Z.json \u2014 passed=false; all results/keys/CI/SE/exclusion/reproducibility checks ok; failures only for P5 deliverables not yet written (report.md, claims.json, sections) and non-terminal P4/P5 ledger \u2014 expected at this stage"
  ],
  "notes": ""
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md written with the 6 required sections, quantitative statements cite results keys",
   "claims.json: 8 claims, all results_keys exist",
   "gate run 2 at end of P5: out/state/gate_receipts/20261030T053334.698674Z.json \u2014 passed=true (0 of 47 failed)"
  ],
  "notes": ""
 }
}