Skip to content

Release rehearsal: crux producer and clean-room measure different commits; nothing makes them share one C #5074

Open

Description

@noahgift

Follow-up to #5062.

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.

Refs #5062

Activity

  1. added this to the 0.71.1 milestone on Oct 10, 2026
  2. noahgift commented on Oct 12, 2026

    @noahgift
    ContributorAuthor

    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.
  3. added a commit that references this issue on Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions