Take the two pins the index has published past [#224] - #227
Closed
iderex wants to merge 1 commit into
Closed
Conversation
`go run . pins` refused on the default branch because the workflow audit and
the static analysis engine were both behind what PyPI publishes, and the
comparison runs weekly on a schedule, so the refusal stood for two days with
nothing that would clear it but a change to this file.
go run . pins
zizmor: BEHIND, pinned 1.29.0, pypi says 1.30.0
semgrep: BEHIND, pinned 1.174.0, pypi says 1.176.0
4 pin(s) declared, 4 compared, 2 behind, 0 unresolved.
Run 2026-09-02 at 6541274, elided for length.
What this prevents is the drift each `why` field names: a workflow audit that
has stopped understanding the syntax it audits, and a rule engine release that
turns a pattern which refuses something into one that refuses nothing, both of
which leave every run green. Neither pin carries a checksum, because the
resolver compares against what the index publishes rather than against the
wheel, which is what those two entries already say.
The bump is written by hand rather than by a run of the comparison, which
reports and never writes: a machine that rewrote a version and its checksum in
one commit has proved nothing about the bytes it just trusted.
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.
Closed: this branch cannot carry the trailer the DCO gate requires
Superseded by #228, which carries the same one-line change to
pins.jsonwith aSigned-off-bytrailer.The gate on this pull request refused the head for the trailer being absent:
Run 2026-09-02. A trailer is part of the commit message, so adding one to a
commit that is already pushed rewrites the branch, and this project does not
force-push. The correction is therefore pushed under a new name and this one is
closed rather than repaired in place, which costs one branch name and destroys
nothing.
The two heads carry the same tree:
Run 2026-09-02.
What was wrong, kept rather than removed
Everything below is the body as it stood, so the reason this change was made is
readable here as well as on #228.
What was wrong
The newest completed run of
Pinson the default branch concludedfailure,and #224 is the entry that records it. What it refused on is two of the four
pins in
pins.jsonsitting behind what the index publishes:Run 2026-09-02, elided for length. That run is from 2026-08-31, and the index
has moved once more since: semgrep is at 1.176.0 rather than the 1.175.0 the run
above read.
Run 2026-09-02 against
6541274. Nothing but a change topins.jsonclearsthat verdict: the comparison reports and never bumps, and it runs on a weekly
schedule, so the refusal stands until somebody writes the versions.
What this does
zizmormoves from 1.29.0 to 1.30.0 andsemgrepfrom 1.174.0 to 1.176.0.Nothing else in the file changes. Neither entry gains a checksum, because both
are resolved against what the index publishes rather than against the wheel,
which is what each
whyfield already states.The two versions are read by their workflows out of this file with
jq, sothere is no second copy of either to keep in step, and the invariant that
refuses a version written into a workflow step is what keeps it that way. Both
of those workflows run on this pull request, so the check that the new releases
still pass over this tree is made here rather than after the merge.
Why the drift is worth clearing rather than waiting out. The two
whyfieldsname the same failure from two directions: an audit that has stopped
understanding the syntax it audits, and a rule engine release that turns a
pattern which refuses something into one that refuses nothing. Both leave every
run green, so this is the drift with no other witness in this tree.
The means
pins.jsonand the verb that already reads it. The change is two values in thefile the comparison is written against, so it is decided by the same run that
found the drift, needs no language, runtime or dependency this tree does not
carry, and the claim above carries the command that produced it in both
directions. Writing the versions into the two workflow steps instead would be
refused by the invariant gate, which is the same rule read from the other side.
No second reader
Nothing on this board reviewed this change but the account that wrote it. The
evidence in place of one is the run below and the checks on this pull request,
which include the two tools whose versions this changes.
Closes
Closes #224.
What was run
Both run 2026-09-02 at
3692a5a.