chore(release): v0.53.0 #982
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!982
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "release-prep/rolling"
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?
Changelog density — clean
Advisory mirror of the cut-time gate, computed when this description was written. It carries no authority: the cut re-runs these checks against the section as it stands then, and this branch is recreated from
mainon every compose.Added
Changed
Fixed
mainbefore the new tag exists (#995)Removed
None.
Deprecated
None.
Upgrade
None.
Internal
Refactors:trailer convention (#492)checksums.txtis safe on both early-exit paths (#643)aeee8b7b216cd5c44ab46cd5c44ab4c1b2733d95c1b2733d95ade826bf2eade826bf2eb416daf1a4b416daf1a4ba3a2a0ba7ba3a2a0ba7f0bc87a751f0bc87a751a1c383ea6fREQUEST CHANGES @
f0bc87a751459d37d1fc5bb54b1ce217fb3294cb—workflow-parse-checkcannot pass on this PR, and it is not a flake, a stale base, or the cut's content. It is circular by construction, and this is the first cut to meet the new gate.🔴 The gate resolves to a tag that this PR creates
rt preprebakes the ref to the version being cut; the tag for that version does not exist until the cut merges. So the gate checks out a ref that cannot exist yet, on every cut PR, forever.The diff shows the rebake explicitly:
🔴 And the
#456override exists for exactly this and does not fire hereThe resolver has a floating-pin escape hatch, commented "keeps toolkit-self floating pins from resolving a transient pre-cut tag (#456)" — the precise failure above. I replayed its logic against this branch:
🔑 The override was written for the CONSUMER shape (
frankenbit/release-toolkit/….yml@main) and this repo invokes its own reusable workflow by local path. An emptyWRAPPER_REFis the self-hosted case and it falls through to the baked value — which on a cut PR is always the unpublished tag.✅ Why the other five baked gates pass and this one does not
Six workflows carry
v0.53.0after the rebake.reusable-ac-closure-check.ymlis the exception — it is still'main'. So there is already precedent for a gate that is not rebaked, and whatever excludes that one is the natural place to exclude this one.📌 Three candidate fixes, and I would not choose for you:
WRAPPER_REFasmain— extends#456's override to the self-hosted invocation. Smallest change; fixes every future cut.rt prep's rebake, asreusable-ac-closure-check.ymlalready is.toolkit-self gatejobs already do — they buildrtfrom the PR and are the only reason the other gates are green here.📌 This is the gate's first encounter with a cut
workflow-parse-checklanded at48d87084(00:48);#982was created 23:15 and is the first release cut since. There is no prior green to contradict this — the gate has simply never met a cut PR before, so the interaction was unobservable until now.⚠️ And it is not
#982's defect. The cut is doing exactly whatrt prepis supposed to do. The fix belongs in the gate or in the rebake exclusion, not in this branch — though this branch is where it surfaces and will keep surfacing.Everything else on the cut, checked while I was here:
ac-closure-checkhas since gone green on its own;manifest-checkwas still pending at my read. I will re-read the artifact — VERSION, fragment consumption, bullet fidelity, stale-version sweep — once the parse question is resolved, since a rebase or a gate change may move the head and I would rather grade the tree that is going to merge.📌 Binding correction to
5909, and the finding SURVIVES the regenerationMy review body says
@ f0bc87a751…. The row bound toa1c383ea6f713aa73f12a708b4afa62d3baabf2d— the cut regenerated while I was writing it. I omitcommit_idon every stamp, so the substrate supplied the current head and the read-back disagreed with what I had read. Read5909's header asa1c383ea.✅ Re-verified at the bound head — the defect is unchanged:
Every clause of
5909holds. Nothing in it needs re-deriving.📌 What actually changed between the two heads is unrelated to the finding:
That is
#985landing onmainand the cut absorbing it — the comment-onlychecksums.txtsafety note I approved at5904. A rolling cut regenerates rather than rebases, so it picked the merge up automatically. Correct behaviour, and worth stating so the delta is not read as someone editing the cut.⚠️ CI is re-running at 25 contexts. I expect
workflow-parse-checkto red again for the same reason — the regeneration re-baked the same unpublished tag. If it goes green instead, that is a fact I would want to see before believing, because nothing in the resolution path changed.a1c383ea6ffc7bf493a0fc7bf493a0d1d487fdd5d1d487fdd58323fa58baAPPROVE @
8323fa58bac32257d20f760f0ebcc198490ef841— supersedes myREQUEST_CHANGESona1c383ea.CI: 25/25 contexts green at this head, read latest-per-context. The
#995circularity that blocked this cut is not live — verified per workflow rather than assumed from the fix landing.✅ The four things I owed on the artifact
📌 My first bullet-fidelity pass reported 8 of 11 missing. That was my needle — fragments begin
- **, whichgrepread as options.grep -F -egives 11/11. Recording it because a false "3 bullets landed, 8 didn't" on a release cut is the kind of finding that gets acted on.✅ THE CIRCULARITY IS CLOSED — but by THREE different routes, not one
#996changedreusable-workflow-parse-check.ymlandworkflows.bats; it did not touch ref resolution elsewhere. So I resolved each marker-bearing workflow individually:All seven resolve to
main, so no gate checks out a tag that does not exist. I nearly filed the opposite: seeingv0.53.0baked in files whose#456override cannot fire on local invocation reads as the#995bug still live. It is not — those files are invoked FULLY-QUALIFIED@main, so their override does fire.⚠️ LATENT —
rt prepREPINNED 6 OF 7 MARKER-BEARING FILES AND SILENTLY SKIPPED ONEAll seven carry
# release-toolkit-build-ref (auto-updated by rt prep / rt repin). Six moved; one did not.🔴 And it is the one file where that matters most:
It is correct today only because it was skipped. If
rt prepever does repin it, the result isREF=v0.53.0, a local invocation soWRAPPER_REFis empty, no#456override, and no#996branch to catch it — the exact#995failure, in the one file that lacks the fix for it.✅ The durable repair is to give it the same empty-ref branch
workflow-parse-checknow has, so it is correct whether prep repins it or not. Then the skip becomes a cosmetic inconsistency rather than the thing holding the gate up. Requesting a tracker rather than widening this cut.📌
#996's branch FATALs when the wrapper is neither a local call nor a recognised pin — a refusal rather than a silent fallthrough. That is the right shape and the reason copying it to the sibling is cheap.Nothing blocks the release. The artifact is faithful, the fragments are fully consumed, the version sweep is clean, and every gate resolves to a ref that exists.