Restore the notices proof that reads a tree with a dependency added (#37) - #154
Merged
iderex merged 1 commit intoAug 21, 2026
Merged
Conversation
) This does not finish #37. Its other two legs ask for both artefacts to be generated by the release build and attached to the release, and neither is touched here. `cmd/notices/tree_test.go` landed on the default branch in `82c245fbce624dd7c1749891702da68758345a4e` and is not on it today: git log --diff-filter=D --format='%H %s' origin/main -- cmd/notices/tree_test.go d3edfc9 Name the version the pinned commit actually is (#151) That commit describes a change to one workflow pin comment and removes seven paths, this one among them. The file restored here is the blob that was on the default branch before it, byte for byte: git rev-parse 90656ba:cmd/notices/tree_test.go 8415e80 What its absence costs is that a build read wrongly stops being noticed. With `build.Deps = append(build.Deps, module)` in `cmd/notices/main.go` replaced by a discard, the default branch as it stands runs green in all eleven packages, so nothing there separates a binary whose modules were collected from one whose modules were dropped. With this file back the same edit reddens exactly one test and leaves its two neighbours in the package alone: --- PASS: TestTheModuleTableOfARealBinaryReachesTheDocument (1.61s) --- PASS: TestABrokenInvocationIsNotARefusal (1.16s) --- FAIL: TestATreeWithADependencyAddedProducesADocumentThatListsIt (3.32s) How it was found: reading the history of the default branch for the evidence this issue's earlier notes say is landed on it, and finding the file gone. Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com>
iderex
deleted the
notices/the-dependency-proof-left-the-default-branch
branch
August 21, 2026 03:45
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 #37
What this changes
It puts
cmd/notices/tree_test.goback on the default branch. The file landed in82c245fbce624dd7c1749891702da68758345a4eand is not in the tree today:That commit is described by its message as a change to how one workflow pin is
commented, and it removes seven paths. What it did to the other six is outside
this change and is written up in #155.
The bytes here are the bytes that were on the default branch, not a rewrite of
them:
The means is Go, and it is the means the artefact already had. This restores a
file the suite under
cmd/noticesalready compiles, so it adds no language, noruntime and no dependency, and it is testable by the suite that exists rather
than by a parallel one.
What failure it prevents
A build read wrongly reaching the notices document with nothing to catch it.
buildOfincmd/notices/main.gocollects the modules the toolchain recordedinside a binary. With line 137,
build.Deps = append(build.Deps, module),replaced by a discard, the default branch as it stands runs green in all eleven
packages:
Every package there is green because none of them starts from a tree. The two
neighbours in
cmd/noticesread a binary built from this repository, which hasno third-party module, so a collector that drops everything and a collector that
works produce the same document: the one saying there is nothing to disclose.
internal/noticeswrites its module sets out in full, so it never runs thecollector at all.
With the file back, the same one-line edit reddens exactly one test and leaves
its two neighbours alone:
and across the module it reddens
cmd/noticesand nothing else:cmd/notices/main.gois untouched by this change. The edit above was made tomeasure the difference and reverted before the commit:
There is a second failure the absence carried, and it is about what a reader is
entitled to believe. Two notes on #37 say the third leg of its done-when is
landed on the default branch. Until this merges, that is not true of the branch
a reader will check out.
What was run
At
9f1ad61de2d27d66946e823b3d5f23546aa6e6db, 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 ran on one platform. The other two the build covers were not run here
and the jobs on this pull request are what covers them.
What this does not do
It does not finish #37. That issue's two remaining legs ask for the notices and
the bill of materials to be generated by the release build and attached to the
release, and there is no release workflow in this tree and no release:
Both of those sit behind #41, which is unstarted for a reason written on it.
It restores one of the seven paths that commit removed and leaves the other six
alone, because they belong to other issues and to work running beside this. What
is missing from each of them, with the commands, is #155.
It does not touch the collector the test judges, so nothing here makes the
notices document more correct. What changes is that a wrong one would be caught.
No second person has read this change. The evidence above stands in place of
that reading rather than beside it.