Repository navigation
fix(release): compare the agent compatibility record against the last published release, not the last tag - #1193
Merged
antoinetoussaint-byte merged 1 commit intoOct 27, 2026
Conversation
… published release, not the last tag tools/agentcontract took the previous release to be the newest stable tag merged into HEAD, then downloaded that tag's agent-requirements.json and failed closed when the release was missing. A tag whose release workflow failed is a state the runbook expects (published tags are never moved), so one such tag blocked every later release: v0.1.216's workflow failed at 'Qualify the clean tag' (fixed by #1191), and v0.1.217's then failed at 'Prepare agent compatibility record' with 'release not found' for v0.1.216. The previous release is now the newest stable tag merged into HEAD that has a published (non-draft) GitHub release. Release listing errors still fail closed, and stable tags with no published release among them are an error rather than a silent first release. The listing is skipped when there is no stable tag to compare against. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Oct 27, 2026
antoinetoussaint-byte
deleted the
fix/agentcontract-previous-published-release
branch
October 27, 2026 03:55
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.
What broke
A tag whose release workflow fails stays on origin, because published tags are never moved (runbook: "the release commit and tag are immutable and remain even if the release workflow later fails").
tools/agentcontracttook the previous release to be the newest stable tag merged into HEAD, then rangh release download <tag> agent-requirements.json, which fails closed. So one burned tag blocks every later release:v0.1.216(release: v0.1.216 #1190): failed at Qualify the clean tag on the GoReleaser 2.18 deprecation. Fixed by fix(release): drop the cask's url.verified, which GoReleaser 2.18 refuses as deprecated #1191.v0.1.217(release: v0.1.217 #1192): failed at Prepare agent compatibility record withrelease not foundforv0.1.216(run 40440975313).The change
previousTagnow returns the newest stable tag merged into HEAD that has a published, non-draft GitHub release (gh release list --exclude-drafts). It still fails closed in three cases:list published CLI releases: …);The runbook's If it fails list gains one entry naming the burned-tag path.
Reused: the existing tag walk, the
ls-treeintroduction check, the asset download and the release-notes logic are unchanged. Classification: fix, in the tool that owns "which release is previous". No gate is relaxed: the asset is still required for the release that is chosen.Verified
go test ./tools/agentcontract: new cases for burned tags (newest two tags unreleased → picks the last released), a prerelease never chosen, no released stable tag → error, a listing error propagates, no stable tags → listing never called.e89a8e57(main),go run ./tools/agentcontract --tag v0.1.217:main:read previous CLI contract: exit status 1, the CI failure reproduced;Agent requirements unchanged from v0.1.215.After merge
codefly publishcutsv0.1.218from main.v0.1.216andv0.1.217remain tags without releases.🤖 Generated with Claude Code