Skip to content

BLD-002 R6: a commit that changed two comment lines voided every release result (about 7 h) #4673

Closed as not planned

Description

@noahgift

During the 0.70.1 release, the fix from 7d2dc28 to 04332f8 changed two comment lines in scripts/check_publish_preflight.sh, plus the fix's review record under evidence/. crates/, src/, Cargo.toml and Cargo.lock did not change. Every release result is tied to the commit, so all of them had to run again at the new commit: the rebuild and smoke on both GPUs, the dogfood, the clean-room, the probes and plants, and Lean T5. That is about 7 h for two comment lines.

Expected (BLD-002 R6): a result is tied to the inputs it read, not to the whole commit. A change that touches none of a row's inputs keeps that row's result. The receipt says the result was carried, from which commit, and the hash of the inputs that proves they are identical.

What the fix needs (no work until 0.70.1 is LIVE):

  • Each long row declares its inputs: the files it reads, plus a build fingerprint (the tree hash of crates/, src/, Cargo.toml, Cargo.lock, the toolchain file and the tool versions).
  • The receipt stores each row's input hash. A gate accepts a row from an older commit only when that hash is identical, and the row names the commit it came from.
  • Rows whose inputs include a changed file run again (here: bashrs and the preflight self-test).
  • A case table: a comment-only change to one script (only that script's rows run again), a change under crates/ (every row runs again), a toolchain change (every row runs again), an input the row did not declare (the row runs again).
  • Fail closed: a row is carried only on an identical input hash. Anything not hashed runs again.
  • This changes what "dogfood GO for this commit" means in the release gate, so the operator rules on it before it is enforced.

Reported by the operator (C295.5). Owner: build-kaizen.

Agent: aprender-27

Activity

  1. noahgift commented on Oct 4, 2026

    @noahgift
    ContributorAuthor

    Duplicate pointer (cop's clerk, C297 §4): row T11 of aprender-a7's 0.70.2 list (cop-inbox handoff/0702-propose-tickets.md) is this ticket, so it was not minted again. The row, verbatim:

    - T11 R1 one code identity H, derived from what the build reads (14 build.rs files read outside their crate).
          Plants: edit contracts/aprender/binding.yaml → H changes; edit a file under evidence/ → H does not. Wider path
          set until RQ-5. Serves B3. K̂ 6.
    

    Filed under the 0.70.2 epic #4678 as P0, size L, owner aprender-a7.

  2. added this to the 0.71.0 milestone on Oct 8, 2026
  3. added
    P1High priority
    and removed
    P0Critical priority
    on Oct 14, 2026
  4. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    P0 to P1 (2026-10-14 P0 triage): P0 now means it blocks the next release or carries the operator's own words on it; this issue does neither, so it stays on the 0.71.0 milestone at P1.

  5. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Folded into #5306 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it.

    Agent: aprender-clerk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions