Restore the reason a pin comment names the exact version (#155) - #158
Merged
iderex merged 1 commit intoAug 21, 2026
Merged
Conversation
This does not finish #155. Four more of the path groups that commit removed are still missing. What was wrong. `d3edfc95b8526033c79cb26afe48282c2c090e32` took its tree from an older state of the default branch and landed on top of a newer one, under a message describing a change to how one workflow pin is commented. Two of the seven paths it replaced are the two workflow files that carry the reason for that spelling, so the change kept the state and dropped the argument for it. Sixteen comment lines come back in `.github/workflows/codeql.yml`, saying why the version in a pin comment is the exact one the commit is tagged as rather than the major: both spellings leave the same commit running, so the whole difference is what the comment claims, and a comment reading a major stops being true on the day upstream tags a release without anybody here touching a file. The blob is the bytes that were there: git rev-parse 90656ba:.github/workflows/codeql.yml ea3a07e git hash-object .github/workflows/codeql.yml ea3a07e In `.github/workflows/zizmor.yml` only the comment goes back and the pin stays where it moved to. The header had returned to listing a pin comment that disagrees with its commit as a pedantic hygiene finding the gate does not collect, which is not what the tool does: the regular persona reports it at medium and the gate runs at `--min-severity=low`, so the step below fails the build on one. What failure this prevents is the next edit spelling a pin comment as a major because the two files no longer say why not, and a reader taking the pedantic list for the complete set of what the gate lets through. Both claims the restored text rests on were re-read rather than trusted: git grep -nE 'uses: .*@[0-9a-f]{40} # v[0-9]+$' -- .github/workflows/ exit=1 grep -n 'Fail on actionable findings' .github/workflows/zizmor.yml 82: # skip the "Fail on actionable findings" step below. 90: - name: Fail on actionable findings No line outside a comment changed in either file, and every pin still names an exact version. Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com>
iderex
deleted the
workflows/the-pin-comment-reason-left-the-default-branch
branch
August 21, 2026 14:02
This was referenced Aug 21, 2026
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.
Refs #155
What this changes
Comments in
.github/workflows/codeql.ymland.github/workflows/zizmor.yml,and nothing else. No line outside a comment moves in either file:
Sixteen lines come back in
codeql.yml, saying why the version in a pin commentis the exact one the pinned commit is tagged as rather than the major. Both
spellings leave the same commit running, so the whole difference is what the
comment claims: a comment naming a major is a claim about a reference upstream
moves and stops being true on the day upstream tags a release, while an exact
version is a claim about the commit written beside it and cannot go stale on its
own. That file is the bytes that were there rather than a retyping of them:
In
zizmor.ymlonly the comment goes back and the pin stays where it moved to,which is what #155 asks for on this file. The header had returned to listing a
pin comment that disagrees with its commit among the pedantic hygiene findings
the gate does not collect, and the paragraph saying that reading is wrong, plus
the clause in the rule sentence asking for the exact version, come back with it.
The means is a comment in the file the rule governs, which adds no format, no
tool and no second place to look.
How the absence arrived
d3edfc95b8526033c79cb26afe48282c2c090e32took its tree from an older state ofthe default branch and landed on top of a newer one, under a message describing
a change to how one workflow pin is commented. Both files were among the seven
paths it replaced, and it is the only commit to have touched either since:
So the change kept the state and dropped the argument for it. The pins on the
default branch already name exact versions and are untouched here.
What failure it prevents
The next edit spelling a pin comment as a major because neither file says why
not, and a reader taking the pedantic list in
zizmor.ymlfor the complete setof what the gate lets through. A pin comment that disagrees with its commit is
not in that set: the regular persona reports it at medium and the gate runs at
--min-severity=low, so the step below it fails the build on one.Both facts the restored text rests on were re-read rather than trusted. No pin
comment anywhere in this tree names a major:
and the step the sentence points at is present:
Nothing in this tree refuses a pin comment naming a major on its own. What
refuses one is the audit job, which is a check on this board rather than a
property of the tree, and these comments are the reason written where the next
editor will meet it. They are prose beside a check, not a check.
What was run
At
fa0816c3da92073b172a09ae917b5d5943d85e7e, on Windows, with no graphicalsession and as an ordinary user:
go build,go vetandgofmt -leach printed nothing, which is the passingresult for all three.
The suite is untouched by this change, so a green run here is evidence that
nothing broke rather than evidence that the comments are right. What judges the
workflow files is the audit job on this pull request.
No test was skipped for needing elevation, and none was run with any.
What this does not do
It does not finish #155. Three path groups that commit removed are still
missing:
LICENSEwith the## Licensesection ofREADME.md, two sections ofdocs/quality-parity.md, and fifteen lines ofdocs/operator-guide.md.It does not touch the second question #155 raises, which is whether anything
here should refuse a merge that removes a tracked path without saying so in its
body.
It does not move any pin, and it does not move #26 or #151. The state both of
those landed is already on the default branch; what was missing is the reason.
No second person has read this change. The evidence above stands in place of
one, and that is a disclosure rather than an assurance.