{
 "P0": {"status":"passed","checks":["TASK.md read fully","contract.md written with estimands, outputs, rules"],"notes":""},
 "P1": {"status":"passed","checks":["SHA-256 of all 4 inputs match README/bundle","line/item counts recorded","6 source anomalies recorded in data_audit.md","exclusions.csv: 6 -> 6, 0 removed","no availability-rule violations"],"notes":""},
 "P2": {"status":"passed","checks":["baseline_literal_number_match computed and written to results.json"],"notes":"Baseline flags A3,A4; misses A2 sign flip and A5."},
 "P3": {"status":"passed","checks":["out/analysis.py reads only data/, prints source lines, writes results.json","no randomness; random_seed null"],"notes":""},
 "P4": {"status":"passed","checks":["clean re-run byte-identical","counts sum to 6 = n_analysed","CI contains estimate","conversions verified (see checks.md)","gate run 20261030T042903.669623Z: reproducibility and all result keys ok; only failures were P5 files not yet written"],"notes":"gate_receipts: [20261030T042903.669623Z.json]"},
 "P5": {"status":"passed","checks":["report.md with 6 required sections, quantitative statements cite results keys","claims.json 8 claims referencing existing keys","final gate run 20261030T042945.464753Z PASSED"],"notes":"gate_receipts: [20261030T042945.464753Z.json (PASSED, 0 of 27 failed)]"}
}
