Correct two run.log digests that only a Linux runner could see were wrong - #1
Merged
Merged
Conversation
The first release-gates run after these repositories became public failed on two digests under experiment 011. Both had been recorded over the bytes as they sat in a Windows working tree, still carrying the CRLF framing the capture terminal emits. Git stores the file LF, as .gitattributes here requires, so the recorded value described bytes that were never committed. WHY THE SWEEP EARLIER THE SAME DAY MISSED THEM That sweep ran on Windows and verified against the working tree, where the stale CRLF copies still sat. `text=auto` makes Git compare NORMALISED content, so `git status` called the tree clean and the digest agreed with itself. A digest recorded from that tree agrees forever on that one machine and fails everywhere else. The mismatch is only visible where the checkout equals the committed bytes, which is every fresh clone and every Linux runner. So the sweep was not wrong about the bytes it saw. It was looking at the wrong bytes, and it reported PASSED while two artifacts would have failed for the first external reviewer who ran sha256sum -c. WHAT CHANGED Only the two recorded digests, which now describe the committed bytes. The measurements are untouched: the committed blobs have not changed at all, and each file keeps its original recorded value as a comment. The working-tree copies were refreshed from HEAD, which is a checkout repair rather than an edit to evidence. A tree-wide comparison of working-tree bytes against committed bytes found exactly four divergent files, all in this repository. Two are these run.logs. The other two are under experiment 012 and no digest file covers them, which is why nothing failed there; those checkouts were refreshed as well. mcl-core/tools/check-evidence-digests.sh now compares the working tree against the committed blob before verifying anything, so this blind spot cannot recur on any platform. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
mcl-release-governor
Bot
requested review from
0j0bit and
sed-boi
as code owners
September 12, 2026 18:05
0j0bit
approved these changes
Sep 13, 2026
0j0bit
left a comment
Contributor
There was a problem hiding this comment.
Reviewed as 0j0bit: only the two 011 SHA256SUMS.txt records change; no evidence bytes altered; the corrected digests match the committed LF blobs; build (gcc) and build (clang) green.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Correct two run.log digests that only Linux could see were wrong
The first release-gates run after these repositories became public failed on
two digests under experiment 011. Both had been recorded over the bytes as they
sat in a Windows working tree, still carrying the CRLF framing the capture
terminal emits. Git stores the file LF, as .gitattributes here requires, so the
recorded value described bytes that were never committed.
WHY THE SWEEP EARLIER THE SAME DAY MISSED THEM
That sweep ran on Windows and verified against the working tree, where the
stale CRLF copies still sat.
text=automakes Git compare NORMALISED content,so
git statuscalled the tree clean and the digest agreed with itself. Adigest recorded from that tree agrees forever on that one machine and fails
everywhere else. The mismatch is only visible where the checkout equals the
committed bytes, which is every fresh clone and every Linux runner.
So the sweep was not wrong about the bytes it saw. It was looking at the wrong
bytes, and it reported PASSED while two artifacts would have failed for the
first external reviewer who ran sha256sum -c.
WHAT CHANGED
Only the two recorded digests, which now describe the committed bytes. The
measurements are untouched: the committed blobs have not changed at all, and
each file keeps its original recorded value as a comment. The working-tree
copies were refreshed from HEAD, which is a checkout repair rather than an
edit to evidence.
A tree-wide comparison of working-tree bytes against committed bytes found
exactly four divergent files, all in this repository. Two are these run.logs.
The other two are under experiment 012 and no digest file covers them, which is
why nothing failed there; those checkouts were refreshed as well.
mcl-core/tools/check-evidence-digests.sh now compares the working tree against
the committed blob before verifying anything, so this blind spot cannot recur
on any platform.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com