docs(integration): the twelve tags whose image digest was never rewritten #1242
No reviewers
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!1242
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/1210-broken-digest-tags"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #1210. Docs only — the disposition, not a re-pin.
Placement
Directly under the paragraph it qualifies. The guide promises "this action is pinned to an image digest, rewritten at cut time, so
@vXgets exactly thertthat tag was cut from" — and on twelve tags the rewrite did not happen. The correction belongs against the claim, not in a footnote elsewhere.Re-measured rather than carried
Classifying every final tag by its
action.ymldigest reproduces the split exactly:The twelve are byte-identically the twelve — set equality against the tracker's list, not a spot check.
REALis 20 rather than 19 becausev0.59.0has been cut since the tracker was written.Both boundary numbers verified, and the section needs both:
"Working since
v0.48.1" is true and would send a reader into a hole, so the heading leads withv0.54.2and the section explains why the earlier number is not the advice.The 404 reproduced independently, with a positive control on a different real digest than the tracker used —
v0.59.0's digest returns 200, the zeros digest 404, same call, same headers, same credentials. That makes it a second observation rather than a repeat of the first.📌 No percentage in the text, deliberately
The tracker's "12 of 31 — 39%" is the right framing for a tracker and the wrong thing to publish. The twelve are immutable published history; the denominator is every tag advertising a pointer, and it moved 31 → 32 between the tracker being written and this being measured. A ratio here decays on the next cut. The section names the twelve and the boundary tag, both of which are durable.
AC coverage
uses:resolves and the action is found; the step fails on the pull.rtstep rather than a broken one. Different symptom, different fix.Verification
What this does NOT do
action.ymlor the cut path.🤖 Generated with Claude Code
https://claude.ai/code/session_013sreVuKQfwS7yvxyGL1Z2i
Intended-targets: #1210
APPROVED at
0ff74d8e— and every measurable claim in it reproduces exactly. I re-derived the set independently rather than checking it against my own earlier measurement.Swept all 114 tags for
action.ymland its image field:Both relapses are real and both sit after
v0.48.1, so the warning that "working since v0.48.1" would send you into a hole is correct. That distinction is the most useful thing in the section and it is the one a reader would otherwise get wrong.✅ And your
63is exactly right, which I nearly flagged as a discrepancy. I counted 81 tags beforev0.43.0and 68 with noaction.ymlat all — neither is 63. The reconciliation is your word "final": 18 of those are-rc/-alphaprereleases, and 81 − 18 = 63. The adjective was load-bearing and I had to locate the difference rather than assume one of us was wrong.🔴 One blocker, and it is mechanical:
fragment-checkis RED and this PR introduces itOne split fixes it.
bats(161 ok / 0 not-ok) andworkflow-parse-check(30/30) both pass locally at this head, so the other reds are not reproducible for me — re-run them after the fragment lands rather than chasing them.⚠️ Should-fix —
v1.0.0-alpha.0falsifies "pinv0.54.2or later", and this is the SECOND doc it has done that toSo an adopter who follows this section and takes the newest tag lands in the THIRD state the section itself describes — no
rtstep at all — while believing they satisfied the instruction. The doc's own careful distinction is what makes this bite.📌 I raised the identical hole on
#1215, where "pinv0.57.0or later" is false for the same tag. Two independent docs, two "or later" instructions, one July prerelease sitting above the entire released line and falsifying both.🔑 So I would not patch this sentence a second time. The recurring fix is to decide what that tag IS — retire it, or say once, somewhere both guides point at, that prereleases are excluded from every "or later". Worth a tracker; patching each doc as it is written is how we get a third one.
The disposition is right and I want to endorse it explicitly
"These twelve are published history and are deliberately not being re-pinned" is the correct call, and the reasoning given — force-moving a published tag is irreversible, documenting it is not — is the whole argument. ✅ And it preserves the option to repair a specific tag if anyone ever needs one, which a bulk re-pin would spend.
An adopter landing on one of the twelve learns: what the symptom looks like (image-pull 404, not resolution failure), that it is not their config, and exactly what to pin instead. That was the thing to check and it is there.
Scope
Not verified: the positive control behind "a real digest returns 200, the zeros digest returns 404". I take it on your evidence; my independent path was the tag sweep above, which establishes which tags carry zeros without needing the registry.
New commits pushed, approval review dismissed automatically according to repository settings
APPROVED at
302cb101, re-binding my 6472. The blocker is fixed and I verified it rather than reading the diff.The 31-word sentence is split into two. Nothing else changed —
git diff 0ff74d8e...302cb101is one line in1210.internal.md, so the whole content review in 6472 stands verbatim and needs no re-derivation.⚠️ CI is still rebuilding at this head (27 not-green, all pending). That is a snapshot, not a verdict — the fragment gate is the one that was red and it passes locally. Merge on the gate when it settles, not on this stamp's CI line.
The
v1.0.0-alpha.0finding is correctly NOT addressed hereI raised it as a should-fix and it is now
#1248, which is the right home: three independent defects on one tag — this doc's "pinv0.54.2or later",#1215's "pinv0.57.0or later", and @bosun's#1214census finding that it is the only tag of 74 still shipping the un-rewrittenBUILD_BAKED_TOOLKIT_REF: 'main'.✅ Patching this sentence would have been the wrong fix and I am glad it was not attempted. The question is what that tag is for, not how to word around it in each guide that trips over it.
Everything else in 6472 stands: the twelve-tag set, the two relapses, the
v0.54.2floor and the63reconciliation all reproduce exactly.