Repository navigation
fix(listener): cancel a manager whose wake mail failed - #682
Merged
TheGreatAxios merged 2 commits intoOct 27, 2026
Merged
TheGreatAxios merged 2 commits into
TheGreatAxios merged 2 commits into
Conversation
TheGreatAxios
force-pushed
the
cl-11594-end-a-manager-the-listener-deployed-but-could-not-mail
branch
from
October 27, 2026 15:43
5a28e7c to
14f3eed
Compare
TheGreatAxios
marked this pull request as ready for review
October 27, 2026 15:43
Contributor
|
Triage: Unsure Waiting on:
Notes:
|
… and take with stock canExecuteWorkflowRun
TheGreatAxios
force-pushed
the
cl-11594-end-a-manager-the-listener-deployed-but-could-not-mail
branch
from
October 27, 2026 18:02
e46f474 to
00b0e90
Compare
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.
When a wake mail from the listener to a manager it just deployed fails for any reason, the listener now cancels that manager. Before this change the manager stayed deployed with nothing to end it.
unwokenstep after it cancels each manager whose mail failed. It uses the stock stop-run route (DELETE /workflows/runs/:runId) through the existingendRunhelper, under themanagegrant stock gives a deployment's creator. The step's output lists each cancelled run with the reason its mail failed, so it shows in the stock run events. The tolerant mail reply typeMailednow carries that reason, and the judge and code review share it.apps/hub/src/manager-state.ts) no longer treats a run as up once its cancellation has been requested. The hub mails such a run nothing and its own take is refused. The pull request's next event deploys a fresh manager that claims it, and so does the reconciler re-queuing the head, which has no verdict.How it was verified:
bun --conditions=intx-src test packages/triage-manager apps/hub: 501 pass, 0 fail. New tests:bun run test:chain: 8 pass, 0 fail. In the new scenario, "a manager whose wake mail failed is cancelled, and the next event deploys a fresh one that posts the verdict", the manager's public key is kept from being recorded, as when a sidecar never acknowledges a deploy. The manager run endscancelled, and the listener'sunwokenoutput names that run with the timeout as the reason. Nothing is written to the pull request meanwhile, and the next push deploys a second manager that posts Triage: Pass and ends the claim.bun run checkandbun run lintpass, with no new warnings.Closes CL-11594