Review of 2026-09-23T1119Z-h188-prop-settlement-plumbing
Owner lane: Not recorded
Reproduction
REFUSED. Verified byte-for-byte: source record 80ee70ce..., protocol d8246773..., result out.json 54ad1193.... Not bound or changed: (1) input_artifacts is []; the 09-23 05:15 snapshot at /private/tmp/claude-501/pw-snapshots/scientist.duckdb was overwritten (now 2,075,930,624 B, mtime 09-25 17:15, sha256 c275a1f87df0af09123cb080ca0193c775521f7fe78ecc8ebfb9809e1dc5309e) and its hash is recorded nowhere. That snapshot now holds week 3 as played. (2) playerweek/arms.py bytes changed since binding, d654b285 -> e782a10b (default argument of early_season only; settle untouched); playerweek/identity.py changed, 381519088 -> 3188a313 (PW-106 xwalk total tiebreak; name_index now picks the rn=1 row instead of any_value over 20 rows -- can move which player_name a pid carries); props.py 8506d187 unchanged. (3) the runner on disk is d8ce6360..., the runner the result records as run is dad99ef2... (the docstring path edit after the run, disclosed in the record); the result binds dad99ef2, the packet binds d8ce6360. Replay outcomes are therefore evidence about the claim, not about those bytes.
Finding and verdict
UPHELD
Review scope
UPHELD as counts and mechanism, on a replay -- NOT as an exact reproduction. M1: props.settle keys actuals by player only (source: props.py:1032-1037, `act.setdefault(pid,{}).update(...)` ORDER BY season, week, so the LATEST played week wins). Independent replay of the 09-23 state (player_week truncated to week<=2, current snapshot, my own harness, props.settle called) gives wk1 settled 1125 / gradeable 1111 / actual_differs 979 / flipped 526 / DNP-settled 14 and wk2 settled 1669 / gradeable 1650 / actual_differs 0 / DNP-settled 19 -- identical to the record on every endpoint. With week 3 now played (no other change) the same call gives wk2 actual_differs 89/1650, flipped 41: the wk2 'control' held only because wk2 was the last played week on 09-23, so the defect is live for every week that is not the latest. M2: no caller of arms.settle outside tests/test_prop_key.py (grep over playerweek, bin, research/*.py, tests, all `.settle(` forms), arm_prediction path=prop_probability still 3,129 rows, actual 0 / week 0 on all three arms in the 09-25 snapshot; arms.settle applies its `week` argument to EVERY NULL row of the season (arms.py:1182-1214), so order B is a defect by reading. M3: model_vs_market does `projections.get((player, q))` on the raw book string (props.py:567) against projections_from_forecast's (player_name, q) keys; the runner's M3 block re-run unchanged on the current snapshot gives 37/1165 (3.18%) and 59/1695 (3.48%), identical to the record. Weakened points, not enough to move the verdict: (a) 'actual differs' is a weak discriminator by itself -- a shuffled reference within (week, quantity) makes 94.2% (1047/1111) differ against the real 88.1%, so 88.1% is close to the random-pair rate for these stats; the finding rests on the code path, the wk2=0 control, and the outcome flip rate (47.3%, a coin, as the record says), not on the 88%. (b) The prediction 'order B fills EVERY wk1 entity from wk2 truth' was scored IN; the measured figure is 982 of 1,039 filled (57 are legitimate wk1 fills of men who did not play wk2). (c) The frozen M1 control FAILED on its second half (19 DNP-settled) and the record says so; it is a finding about the same defect, not a harness fault.
Source provenance and publication scope
Owned research record: research/scientist/experiments/2026-09-25T2359Z-referee-h188-prop-settlement.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.