1{2 "P0": {3 "status": "passed",4 "checks": [5 "TASK.md read fully",6 "contract.md written"7 ],8 "notes": ""9 },10 "P1": {11 "status": "passed",12 "checks": [13 "SHA-256 matches README",14 "schema/missing/duplicates/contiguity checked",15 "yoy recomputed from levels (<5e-5)",16 "exclusion ledger sums: 345-35=310"17 ],18 "notes": "COVID training exclusion decided"19 },20 "P2": {21 "status": "passed",22 "checks": [23 "naive = gdp_yoy(t-2) computed for 48 origins x 2 horizons; rmse/mae_naive_* written"24 ],25 "notes": ""26 },27 "P3": {28 "status": "passed",29 "checks": [30 "analysis.py reads only data/, deterministic, no RNG (random_seed null)",31 "192-row forecasts.csv written"32 ],33 "notes": ""34 },35 "P4": {36 "status": "passed",37 "checks": [38 "clean rerun byte-identical",39 "info-rule dates verified per row",40 "independent reimplementation matches 3 forecasts",41 "RMSE>=MAE>0, rel_improvement identity",42 "gate run 20261030T050212.682868Z: contract/reproducibility OK; only P5 files missing (expected at P4)"43 ],44 "notes": "see out/state/checks.md",45 "gate_receipts": [46 "out/state/gate_receipts/20261030T050212.682868Z.json"47 ]48 },49 "P5": {50 "status": "passed",51 "checks": [52 "report.md with 6 sections citing keys",53 "claims.json 5 claims, keys exist",54 "final gate 20261030T050248.040985Z: PASSED 0/43 failed"55 ],56 "notes": "",57 "gate_receipts": [58 "out/state/gate_receipts/20261030T050248.040985Z.json"59 ]60 }61}