| 1 |
Clean re-run (deleted results.json, table1.csv, figure1.png; re-ran analysis.py) reproduces byte-identical results.json and table1.csv |
PASS |
| 2 |
Figure-only edit (minor ticks) re-run: results.json byte-identical |
PASS |
| 3 |
table1.csv has 27 rows; rel_bias_var empty for all wcb rows |
PASS |
| 4 |
coverage & mc_se_coverage have 27 keys; rel_bias_var 18 keys |
PASS |
| 5 |
all MC SE > 0; all coverages in [0,1]; all mean half-widths > 0 |
PASS |
| 6 |
n_failure_cells == len(failure_cells); failure_cells == {coverage<0.90} recomputed |
PASS |
| 7 |
n_analysed == n_cells × R = 18000; exclusions ledger 18000 − 0 = 18000 |
PASS |
| 8 |
Exact E[V̂_CR0]/Var(ȳ) (closed-form trace computation, state/verify_exact.py) vs MC estimate: z-scores −0.70…+1.40 in 8 cells, +2.46 in G5_icc0.2 (one of 9 beyond 2 MC SE; V̂ is right-skewed at G=5 so the normal MC approximation is rough; no implementation error indicated since the other 8 agree and CR1/CR0 ratio = G/(G−1) exactly) |
PASS (with note) |
| 9 |
MC Var(ȳ)/exact Var(ȳ) in [0.93, 1.06] in all cells (check_mc_var_ybar_over_exact), consistent with sampling error of a variance from R=2000 (SE≈0.032); mean ȳ ≈ 0 |
PASS |
| 10 |
Vectorised WCB t* equals brute-force explicit y* construction (state/verify_wcb.py): max abs diff 7e-15 |
PASS |
| 11 |
Baseline (naive i.i.d. z-interval) behaves as expected: ≈0.95 at ICC=0, 0.29–0.49 with ICC>0 — magnitudes coherent with cluster methods improving on baseline when ICC>0 |
PASS |
| 12 |
No degenerate bootstrap draws (n_degenerate_bootstrap_draws = 0) |
PASS |
| 13 |
Runtime ≈ 2 s (< 600 s limit) |
PASS |