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 recorded and match README",14 "row/col counts, ranges, missing, duplicates audited (data_audit.md)",15 "exclusion ledger sums: 319-79=240"16 ],17 "notes": "UNRATE 2025-10 missing, outside window"18 },19 "P2": {20 "status": "passed",21 "checks": [22 "baseline OLS with iid SE computed: se_iid, baseline_ci_iid_*"23 ],24 "notes": ""25 },26 "P3": {27 "status": "passed",28 "checks": [29 "analysis.py reads only data/, deterministic, writes results.json, exclusions.csv, figure1.png"30 ],31 "notes": "no random seed needed"32 },33 "P4": {34 "status": "passed",35 "checks": [36 "clean re-run: results.json byte-identical",37 "CI contains estimate",38 "SEs positive",39 "exclusion ledger sums",40 "independent manual recomputation matches",41 "see checks.md"42 ],43 "notes": ""44 },45 "P5": {46 "status": "passed",47 "checks": [48 "report.md has all 6 sections citing results keys",49 "claims.json keys all exist in results.json"50 ],51 "notes": ""52 }53}