Repository navigation
docs: acceptance runs can be silently cancelled; release notes state facts - #451
Merged
Merged
Conversation
The comment on the acceptance-suite concurrency group said "Queueing costs wall-clock and nothing else." That is wrong. A concurrency group holds one running run and one pending run; when another joins, the older pending run is cancelled. cancel-in-progress: false protects only the running one. So several pull requests pushed in a burst leave all but the newest with every acceptance job CANCELLED -- not a failure, not coverage, and not blocking, since acceptance is not a required check. It happened to three of four v3.0.2 PRs in one afternoon. Worse, a release gate that is pending rather than running is cancelled by a PR joining behind it, and the builds and npm publish that need it never run. The same comment also cited "a single named test failing while a release ran concurrently" as a second instance of the collision. That was the outpost custom-domain test, and it was not a collision: the API returns a 500 after the domain is already created, and the harness retry then gets a 409 for the test's own hostname. The misdiagnosis had become evidence; it is now recorded as a counterexample instead. The review skill gains "a cancelled acceptance run is not a run either", with how to re-run one at a time. The release checklist gains a gate: no acceptance run in progress or queued before `gh release create`. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012XtSQ2kfpcRXXqweskgXkH
The voice guide told the Summary to "name the shared shape when fixes rhyme" and entries to "make the damage concrete". Following both produced a v3.0.2 draft framed as "the one to act on", "the other three share a shape", and consequences like "a script was told they did not exist" -- editorial rather than factual. The guide now says a note states what was wrong, what the CLI does now, and what the reader must do, and gives a before/after table of clauses to cut. The Summary is one or two sentences: contents and any required action. The model entry it asks writers to match lost its own editorial clause, so the guide follows its rules. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012XtSQ2kfpcRXXqweskgXkH
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.
Two corrections, both documentation. No code changes.
The acceptance concurrency comment was wrong
.github/workflows/acceptance.ymlsaid "Queueing costs wall-clock and nothing else." It does not queue. A concurrency group holds one running and one pending run; when another joins, the older pending run is cancelled.cancel-in-progress: falseprotects only the running one.This afternoon that cancelled acceptance on three of four v3.0.2 PRs, and later a merge to
maincancelled a re-run.CANCELLEDis not a failure and acceptance is not required, so nothing blocked the merges.It also applies to the release gate: a release whose acceptance run is pending is cancelled by a pull request that joins behind it, and the builds and npm publish that depend on it never run.
The same comment cited a red
TestOutpostTenantPortalAndCustomDomainas a collision. It was not — the custom-domain API can return a 500 after the domain is created, and the harness retry then gets a 409 for the test's own hostname. Now recorded as a counterexample.acceptance.ymlgh release createRelease notes: factual, not editorial
The voice guide told the Summary to "name the shared shape when fixes rhyme" and entries to "make the damage concrete". Following both produced an editorial v3.0.2 draft. The guide now says a note states what was wrong, what the CLI does now, and what the reader must do, with a before/after table. Its model entry lost its own editorial clause.
🤖 Generated with Claude Code
https://claude.ai/code/session_012XtSQ2kfpcRXXqweskgXkH