You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Release rehearsal: crux producer and clean-room measure different commits; nothing makes them share one C #5074
The release rehearsal's pick needs both the crux bundle and the clean-room run on the same commit C. The models-nightly producer picks C as main's head at fetch time, or the commit named in its override-commit file. The clean-room run measures whatever head it saw when it started. Nothing schedules the two to agree, so on most nights they measure different commits and pick stays not_measured.
Today the gap is bridged by hand: an operator or agent writes a commit the clean-room already measured into override-commit before the crux run.
Acceptance:
One side reads the other's C. Either the crux run takes the newest commit the clean-room measured green (when it is an ancestor of main), or the clean-room runs on the crux's recorded C.
A night where the two still differ is reported as a named not_measured reason in the rehearsal receipt, not as a silent miss.
A test row fails when the two Cs differ and the rehearsal does not say so.
Evidence, branch fix/5074-pick-names-split-c @ 0230bb1 (no PR; branch-only).
Criterion 2, done. When no commit in the walk was measured by both sides, pick_c now adds this line: not_measured: the two sides measured different commits (#5074): models-crux newest <sha> (main~a), cleanroom-cpu newest <sha> (main~b). A side that measured nothing in the walk is printed as none in the walk.
Criterion 3, done. New case rows a_split_c_is_named and a_side_with_nothing_in_the_walk_is_named_none. rehearse.sh --selftest passes 271/271. A hand mutation that drops the clean-room side's name turns a_split_c_is_named red.
Criterion 1, not here. The two producers share one C only if the crux wrapper reads the clean-room's C or the clean-room runs on crux's C. Both live in the infra repo (the models-nightly wrapper and clean-room.yml), so this is routed to the infra cop.
Activity
noahgift commentedon Oct 12, 2026
Evidence, branch
fix/5074-pick-names-split-c@ 0230bb1 (no PR; branch-only).pick_cnow adds this line:not_measured: the two sides measured different commits (#5074): models-crux newest <sha> (main~a), cleanroom-cpu newest <sha> (main~b). A side that measured nothing in the walk is printed asnone in the walk.a_split_c_is_namedanda_side_with_nothing_in_the_walk_is_named_none.rehearse.sh --selftestpasses 271/271. A hand mutation that drops the clean-room side's name turnsa_split_c_is_namedred.merge fix/5052 into the #5074 branch: one branch for the rehearsal pick