No reviewers
Labels
No labels
bump
major
bump
minor
bump
patch
kind
bug
kind
chore
kind
docs
kind
epic
kind
feature
loop/paused
mirror-drift
priority
critical
priority
high
priority
low
priority
medium
size
L
size
M
size
S
size
XL
status
blocked
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
frankenbit/release-toolkit!1511
Loading…
Reference in a new issue
No description provided.
Delete branch "claude/1510-agents-section2-floating-pin"
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?
Refs #1510
no-changelog: contributor-internal process doc (AGENTS.md); no adopter-visible behaviour changes.
Head
aa9521b7b8754049352950d494b2e8971cbbf18eon basee4c0f35(livemainwhen pushed). One commit, one file.What
AGENTS.md section 2 now starts with the posture toolkit-self actually runs under. It used to open with "the toolkit MUST re-pin its own consumer-side
release.yml" and never mentioned #456.@main(#456), and a routine change needs no re-pin. A table traces how a toolkit-self cut ends up running the commit under test: the wrapper pin, the resolve-ref override, themain)build arm, the drift gate's early exit, and the post-cut skip. Adopters are unaffected. The section also gives the PR-body note for a routine change, and anchors on #1496.9bca7d5(v0.30.0-rc.2). Two cases bring it back:rt repin, with two cautions nobody has exercised yet: the FETCH arm has never run for an rc, and the drift gate guards no Go source.@mainback in a reviewed PR.rt repincannot do that.rt post-cut. The heading name is unchanged, becausedocs/integration.mdcites it by name.cmd/rt/check_self_bootstrap.go:155andinternal/gates/selfboot_check.go:64resolve. It lists the check's three steps in code order, and says a drift red cannot happen under@main.rcTagPrunerfake. 2.5's "both reusables" and "release.yml + manifest-check.yml" now read "every baked reusable" and "every consumer wrapper".The pre-#456 "Why", "The pattern" and "Empirical instances" stay as history under 2.2, with "Under a tag pin" added to "Why".
Decision tree (section 7)
rt repin, the post-cut prune and the gate's drift arm all ship and are tested. Chosen.mainwrappers exist so that a tag pin keeps working. Deleting the procedure would leave that path undocumented.rt repin") also describe mechanisms that have since moved.Self-bootstrap (section 2)
No re-pin: this is a docs-only change, and toolkit-self floats
@main(AGENTS.md 2.1, as amended here). No compose script or Go source moved.Verified at source (section 8)
Everything below was read at
e4c0f35, unless a different date is given.uses: frankenbit/release-toolkit/...lines under.forgejo/workflows/end in@main; a grep for any other ref returns nothing. The 4 wrappers that useuses: ./...areac-closure-check,prepared-uncut-check,workflow-parse-checkandmirror-release.SOURCE="floating-pin-override (release-toolkit#456)"appears in all 9 baked reusables, which match the 9 files ininternal/bake/marker.gocanonicalFiles. Inreusable-release.ymlit is line 331, and the resolve step runs from line 258 to line 354.main)arm.scripts/bootstrap-rt.sh:45-66switches the build source to$GITHUB_WORKSPACEat line 56.cmd/rt/check_self_bootstrap.go: the alignment check is at line 148, and themainearly exit at lines 169-183.DefaultComposeScriptsis ininternal/gates/selfboot_check.go:234-245.cmd/rt/post_cut.go:670-673skips@mainwrappers. Line 626 resets the bake markers to'main'.reusable-release.yml:820passes--pinned-reffromsteps.resolve-ref.outputs.ref.git log --grep='re-pin self-bootstrap' e9eca94..origin/mainis empty.git ls-remote --tags origin, read 2026-10-02, hasv0.30.0-rc.2as its newest rc tag andv0.63.1as its newest cut tag.rt repinaccepts only rc tags.rcTagShapeis atcmd/rt/repin.go:24.goreleaser.yml:464, which quotes the #648 job comment. Whether goreleaser would publish assets for an rc tag is not measured, and the doc says so.golang:1.25:rt register-check AGENTS.md: 0 hits.rt register-check --git-log e4c0f35..HEAD: 0 hits.go test -count=1 ./...: 29 packages ok.closeKeywordREbefore sending, and contain no close targets.Found in passing, not changed here
The same staleness exists in other files. Each would make this PR more than a docs change, or would touch a contract table under its own gate:
.forgejo/workflows/check-self-bootstrap.yml(lines 10-16) still says a red on a compose-script PR is expected.cmd/rt/check_self_bootstrap.go:233-235still says to tag an rc and re-pin. That advice is right for a deliberate tag pin, and wrong for an accidental one.docs/architecture/contracts/cli-surface.md:98givesrt repin's caller ascheck-self-bootstrap.yml (at RC cut time). That workflow does not invoke it.docs/architecture/arc42/11-risks-technical-debt.md:14(Bootstrap-lag) still says the check "goes (correctly) red post-merge to signal 're-pin needed'".cmd/rt/repin.godoes not carry the #456 note that the retiredrepin.shheader had.Verify at source, please (section 6)
@alex: this is a verify-at-source request, not an FYI. Please re-read the substrate rather than this summary. In particular:
DefaultComposeScriptslists no Go source (internal/gates/selfboot_check.go:234-245).Review fixes will come as new commits on this branch, after a
HOLDcomment (section 15, step 5).🤖 Generated with Claude Code
Landing identity record
aa9521b7b8754049352950d494b2e8971cbbf18eaa9521b7b8754049352950d494b2e8971cbbf18eThis is a post-merge identity record. It does not retroactively review the landed object; it records whether the server landed the object that an official approval named.