Review of 2026-09-23T1412Z-h213-served-opp-block
Owner lane: Not recorded
Reproduction
REFUSED as exact: source record input_artifacts is [] (the as-run snapshot bj-h213.duckdb is not bound and is not the object read now: fresh snapshot is 2080 MB vs 1646 MB as-run), and playerweek/arms.py differs from the recorded baseline (record d654b285..., now e782a10b...; commit 5bb12400 changed one default argument in arms.early_season, unrelated to rows_for/score_arm; the runner does not call it). HEAD moved c8a176a8 -> 22efec24 (976 commits). playermodel eeeb6a3c and share 37758ac8 match the record. Protocol sha 2f4028c3, runner sha 487c7678, result sha 25dfbb92 (the run/*.out.json), source record sha a262cb88 all match the packet.
Finding and verdict
WEAKENED
Review scope
UPHELD and REPRODUCED: the frozen prediction (b-a within +/-0.01, REFUTED only if b-a Bonferroni-2 interval clear of +0.01) survives the attempt; every field of the record's result reproduces exactly (b-a -0.0034 [-0.0104,+0.0037], c-a +0.0000 [-0.0061,+0.0061], X-a -0.00003 [-0.0076,+0.0072]; replica max|diff| 0.0 all seasons), and the same nil holds on a squared-error endpoint (below). WEAKENED: (a) the record's mechanism sentence and 'why' -- the trained OPP block 'carries nothing measurable', 'inert', 'no substitution changes accuracy' -- are stronger than the instrument supports: its own planted control (+1 sd on opp_points_allowed_l3, lines move 0.139 pts/row) costs +0.00234 MAE with a paired game-bootstrap 97.5% interval [-0.00233,+0.00684], i.e. the instrument cannot see a planted shift that the model demonstrably reads, so the 'PL non-vacuous' control passed on line movement only and does not establish accuracy resolution; the resolution (half-width ~0.007 MAE, ~0.1 MSE of 32.49) bounds the claim to 'no substitution differs from the real block by more than ~0.007 MAE', which does not exclude a real but small opponent effect (the record's own RIVAL clause); (b) the priority conclusion 'refilling the served opponent block is not worth a build item' is licensed only as 'not worth it at ~0.01 pts/wk MAE', not as 'the block is inert'; (c) the served path differs from arm b in more than the OPP columns (share.feature_sql(team=False) also omits TEAM_FEATURES, TREND_FEATURES, exp_pass_att/exp_rush_att; and latest_rows serves ONE row per man at his last involved week with a whole-season lg mean, a season-ahead projection, not a within-season week), so b prices the OPP substitution only, as the record's title says, not the served row.
Next action
If the served-opponent question is revisited: bind the snapshot as an input_artifact; report a planted-shift interval on the gated endpoint and size the planted shift to the smallest effect that would matter, so the nil carries a detection floor; price the full served row (team=False columns) rather than OPP alone.
Source provenance and publication scope
Owned research record: research/scientist/experiments/2026-09-26T0401Z-referee-h213-served-opp-block.json
This public reading view includes authored question, finding, review, reasoning and next action fields. Raw measurements, commands, logs and local paths are withheld. The record ID clock is not proof of completion or deployment.