Repository navigation
Conversation
A Claude agent whose membership the runner dispatches through the agent gateway opens a native generation for its turn at the route revision it was dispatched with, with the turn's frozen headers, and gives it to one Claude process of its own. Admission is sealed at Claude's qualifying idle, and the generation closes once the process has exited, so no other turn runs on it or overlaps it. A route that moves on revokes the generation natively and ends its process. Nothing waits on gateway readiness or re-reads a route to retry. A turn whose route moved past its dispatch, a refusal, a native side that can't be reached, or a protected agent fails visibly before anything spawns; it never runs on Claude's own configuration instead. A turn the runner sent to Claude's own configuration (`gatewayFallback`) runs there unchanged. Compaction reads the route once, without waiting: where Claude's turns go through the gateway, so does compaction, on a generation of its own under the control's context; where they would fall back, it is refused; where the route doesn't forward Claude, it runs on Claude's own configuration. An interrupt during a held admission stops the compaction and leaves a queued turn uninterrupted. The harness declaration stays off until its wire proof. Co-authored-by: Coder1 <db50ef1f1688dc7f3e536c17351e8e994a7466bcbe009794f61d64355c0ffc2e@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Philip Azar <pazar@squareup.com>
A wake that falls back from the agent gateway has no request to carry its notice. Once Claude has taken the message, the runtime keeps the notice by that message's id, and the Activity transcript shows it as a status right after the prompt Claude saved under the same id. A message Claude never took has no id, so its notice shows nowhere rather than on a later turn. Mentions keep showing theirs on the request. Notices are kept in memory while the app runs, at most 100 per agent. Co-authored-by: Coder1 <db50ef1f1688dc7f3e536c17351e8e994a7466bcbe009794f61d64355c0ffc2e@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Philip Azar <pazar@squareup.com>
3 tasks
Contributor
|
🤖 Design review at Source review only. No screenshots supplied; I did not run tests, the app or a live gateway, or verify rendered themes, widths, enlarged text, keyboard/focus, interrupt or compaction behavior. |
Contributor
|
🤖 Could you add a screenshot or short video of the change to the PR? Design uses these for faster reviews. |
This branch has not been deployed
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.
Why
The runner can now dispatch a Claude agent's turn through the build's agent gateway (#2632), and the host can forward Claude Code's model traffic natively (#2916). Nothing yet connects the two for Claude Code. A wake that falls back from the gateway also has no request to carry its fallback notice, so the user never sees why it fell back.
What
How
gatewayFallback) runs there unchanged.Risk
Low today. The Claude harness declaration is off, so no build forwards Claude turns yet. The change touches the Claude Code runtime and the Activity transcript, so a regression there would affect every Claude agent.
Testing
Local pre-push lane at
017c8dbb2(bin/node scripts/check-push.mjs, clean tree): 986 files passed, 9 skipped; 18,612 tests passed, 23 skipped. An earlier run of the same lane failed under heavy machine load and did not reproduce.Not run yet:
Bigger picture
Review order: #2632 (shared gateway client) → #2479 (Pi) → #2916 (native forwarding) → this PR → goose caller. The stack conflicts with current
mainand needs a main integration before merge. Ready for review does not mean ready to merge.🤖 Generated with Claude Code