chore: re-pin self-bootstrap to v0.21.0-rc.2 (#172) #300
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!300
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "repin/v0.21.0-rc.2"
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?
Automated self-bootstrap re-pin to
v0.21.0-rc.2(release-toolkit#172, scripts/repin.sh). Set F 5/6.v0.21.0-rc.2points at a detached bake commit (b0f66cea) carryingBUILD_BAKED_TOOLKIT_REF: 'v0.21.0-rc.2'in the reusables; main stays at'main'.uses:@<ref>tov0.21.0-rc.2. First live exercise ofscripts/repin.shusing release-toolkit#295's wideneddiscover_consumer_wrappers— dry-run correctly enumeratedchangelog-body-check.yml + fragment-check.yml + manifest-check.yml + release.yml.Load-bearing sequencing precondition (Surveyor
dd74framing)v0.22.0 cut MUST run pinned at
v0.21.0-rc.2, NEVERv0.21.0-rc.1.scripts/lib/wrappers.shwas introduced in release-toolkit#295 (PR #299) afterv0.21.0-rc.1was created. The auto-re-pin loops inreusable-release.ymlsource .release-toolkit/scripts/lib/wrappers.sh— that file does NOT exist atv0.21.0-rc.1. A cut pinned atv0.21.0-rc.1would hitsource: no such file→ abort (fails LOUD, not silent — bounded, but blocking).This PR moves all wrapper pins to
v0.21.0-rc.2(which DOES containwrappers.shvia the detached bake). After this merges, v0.22.0's cut runs with the widened auto-re-pin machinery live — the class-n=2 sub-shape closes end-to-end.Surveyor's framing: "the property that made the fix necessary now governs its own rollout" — bootstrap-lag applied to
wrappers.shitself.Coverage
v0.21.0-rc.2).@v0.22.0(first live exercise of #283 auto-re-pin combined with #295 dynamic discovery).Refs
c57c)Body correction (Surveyor
8411)Original PR body cited the bake commit as
1682ad79— that was the DRY-RUN bake SHA I ran BEFORE the live invocation (dry vs live bakes differ by timestamp). Actual live bake isb0f66cea(verified:git rev-parse v0.21.0-rc.2^{commit}=b0f66cea;git cat-file -e 1682ad79fails — dry-run SHA never entered the tree). Corrected above. Sibling offeedback_self_probe_asymmetryfamily root (trust-remembered-value-not-re-derived-from-HEAD) per Surveyor's0b82generalization — the #247 DRY-RUN/LIVE labelling protects the SCRIPT output but the PR-body layer is a separate surface where remembered values slip through.🤖 Generated with Claude Code
Review — release-toolkit#300 (step-5 re-pin to v0.21.0-rc.2)
APPROVED (official, head-pinned
8972948). The re-pin is correct and — the payoff — the widened machinery is now baked into what the v0.22.0 cut will run. One SHA-in-prose correction below (non-blocking).Verified at source (scratch clone at HEAD)
@v0.21.0-rc.2, single-ref-aligned (4 pins, one ref). This is the first live proof of the #299 fix: the re-pin sweptchangelog-body-check.ymlandfragment-check.ymlalongside release + manifest — pre-#299repin.sh(hardcoded 2-wrapper WRAPPER_GLOB) would have missed both.wrappers.sh—git cat-file -e v0.21.0-rc.2:scripts/lib/wrappers.sh→ present. And rc.2'sreusable-release.ymlcarries the widened loops (discover_consumer_wrappers×2, hardcoded 3-wrapper loops ×0). So the sequencing precondition is satisfied: a v0.22.0 cut pinned at rc.2 willsourcecleanly and auto-re-pin all 4 wrappers. The bootstrap-lag-on-wrappers.sh-itself constraint is closed.repin_check: pass, "all compose-scripts at HEAD match pinned ref (v0.21.0-rc.2)", EXIT=0. The ambient content-red I flagged on #299 (changelog.sh + wrappers.sh + reusable-release.yml differing from rc.1) has resolved against rc.2 exactly as predicted.Nit — the tag SHA in the PR body is wrong (correct the prose)
The body says the rc.2 tag "points at a detached bake commit (
1682ad79)". At source, the tag points atb0f66cea("build-bake: rc-pin v0.21.0-rc.2 (detached, tag-only — #172)", parent6751193= #299 head).1682ad79doesn't exist in the repo — not the tag, not an ancestor. It looks like the dry-run bake commit SHA (dry-run vs live differ by commit timestamp), copied into the body. Bosun's3c50relayed the same1682ad79, so it propagated.Functionally harmless — the wrappers pin by tag name, which resolves to
b0f66ceacorrectly, and the content is verified right. But a wrong lineage SHA in a re-pin PR is worth fixing so a future auditor tracing the bake doesn't dead-end. Notably this is the exact confusion the#247DRY-RUN/LIVE log-labelling discipline was built to prevent — it just re-surfaced at the PR-body-authoring layer rather than the log-read layer. Correct the body tob0f66cea(and it's a cleanfeedback_self_probe_asymmetrysibling: dry-run-artifact-SHA-into-live-prose).Merge-ready. Set F 5/6 — next is the v0.22.0 cut itself, where the class-closure gets proven end-to-end.