Repository navigation
fix(orchestration): address Antigravity groups from the agent catalog - #21655
Conversation
Adopt group routing and unknown-address diagnostics from PR #20549; retain current generated guide content and omit the documentation enumeration ratchet. Co-authored-by: OrcaWin <orcawin@users.noreply.github.com>
|
Fresh live verification on the current migration stack (head
ELI5: current Orca can deliver the task and keep its assignment alive without pretending it observed the agent start working. This machine's agy receives the task but generation returns HTTP401 This was normal local startup, not a reproduced 15–60 second boot or a Windows/SSH test. Both test Dispatches were explicitly stopped and their test terminals closed afterward. Authentication and hooks were unchanged. No new production change was needed for the injection/receipt checks; #21655 changes group addressing separately. Visual proof below is a rendered report derived from the actual CLI receipts, rather than a screenshot of the lifecycle preamble (which contains private capability material). |
|
Independent verification update:
Scoped verdict: Approve after stack order for canonical-catalog group addressing. Live successful Antigravity mailbox consumption and Windows/SSH federation remain unverified, as documented by the PR. |
|
Independent verification (2026-09-20):
Verdict: approve after stack order for canonical agy group addressing. Tests cover enqueue/RPC and provider-group contracts; successful mailbox consumption and Windows/SSH federation remain unverified. No merge performed. |
|
Verification update (test-only follow-up): exact PR head e7cb711 adds a regression for delayed host identity. A group send before identity discovery creates no mailbox rows; retry after the same pane is identified as antigravity delivers to its live Dispatch mailbox. Focused suites pass: 73 tests; node/CLI typechecks pass on the prior head. Full CI is running on this head. |
|
Follow-up: corrected the test to use checked inferred RPC typing (no assertion); oxlint and the focused 38-test suite pass locally. Pushed head f4103d0. Fresh CI is required because the previous head had a static-analysis failure. |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Agent groups derived from the catalog —
groups.tsdrops the hand-maintainedAGENT_NAME_GROUPSliteral and buildsGROUP_AGENT_IDSfromALL_TUI_AGENTS, so@antigravity(and every future agent) is addressable the day it lands; the legacy@mimoalias is preserved viaLEGACY_GROUP_NAME_ALIASES. - Unknown groups reported as typos — new
isRecognisedGroupAddressplus an earlyinvalid_argumentthrow insend-group.tsdistinguish a misspelled@namefrom a known group with no current members, before the sender's Run-binding error can obscure it. - Coverage —
groups.test.tsratchets every canonical agent id to an addressable pane, pins@antigravityrouting, the@mimoalias, and title-only refusal;send-group.test.tscovers the unbound-sender typo, live Antigravity delivery, retry after the host learns the identity, and typo-vs-empty separation. - Docs and guidance — CLI spec notes,
orchestration.mdx, and themessaging-and-gatesreference now describe@all,@idle,@worktree:<id>, and@<agent>; the bundled guides are regenerated and the guidance test's expected group list is updated.
Verified against ALL_TUI_AGENTS: TUI_AGENT_DISPLAY_NAMES and TUI_AGENT_CONFIG are both exhaustive Record<TuiAgent, ...>, so the addressable set matches what --agent accepts, and isRecognisedGroupAddress / resolveGroupAddress share the same map and prefix constant, so the two never disagree. Ran the focused suites (groups.test.ts, send-group.test.ts) — 73 passed.
DeepSeek Flash (free via Pullfrog for OSS) | 𝕏
|
Final local validation on head 403314a: pnpm tc:node passed; focused send-group suite passed 38/38; oxlint and formatting hooks passed. The delayed identity regression now checks the RPC receipt via toMatchObject (no unchecked unknown access). Fresh CI is pending on this final head. |


Latest verification — 2026-09-20: Authenticated supervised worker using the agy alias, selected model and high effort completed successfully, settled with zero failures, and was released: proof. This supersedes the earlier 401 worker-completion limitation. Group addressing still has the recorded live enqueue evidence; successful group-mailbox consumption is not independently claimed. All checks at the unchanged PR head are green. Earlier screenshots and test notes below describe their original runs.
ELI5
Orca could recognize an Antigravity terminal but still could not address it as
@antigravity. The message router had an outdated list of agent names. It now uses the same catalog as the rest of Orca, and tells you when a group name is misspelled.What Changed
Derives agent-name groups from
ALL_TUI_AGENTS, keeps the legacy@mimoalias, and reports unknown groups before checking the sender's Run binding. Updates CLI and messaging documentation without a second agent-name list. Delivery still uses host-resolved identity and the existing Run/workspace audience restrictions.Adopts #20549 (
c72f556e95edcd03e05af9d12abc46bd2a3ee343) with contributor credit. Regenerates bundled guides from the current branch and omits its broad documentation-enumeration test. Stacked on #21654.Why
Adding only Antigravity to another allowlist would leave the next supported agent with the same defect. Deriving the names from the canonical catalog prevents that drift. Titles remain insufficient evidence for routing, so a Codex pane discussing Antigravity does not receive Antigravity's messages.
Linked Issue
Addresses the group-messaging portion of #11721. Related #15125; this does not fix the separate
dispatch --injectreadiness/allowlist or arbitrary vendor-command requests.Visual Proof
Actual CLI error receipts before and after rebuilding the isolated macOS app, rendered together in an Orca terminal. The report replaces the sender handle with
<sender>and omits request IDs. Both probes intentionally addressed the typo@antigravtyand delivered no message. The lower section summarizes separate tests; this is not a successful agent task or worker completion demonstration.Further live check: actual
dispatch --injectandworker-start --agent antigravityaccepted task input. The supervised Dispatch remained active with zero failures 63 seconds later. A subsequent group send enqueued one message to each of the two test Dispatch mailboxes. The first lookup shortly after direct injection found no recipients; this transient remains unexplained. Generation still fails HTTP401, so consumption and worker completion are not verified. Both test Dispatches were stopped and test terminals closed.Testing
72 group/RPC tests pass. The Antigravity RPC routing regression fails against the parent code with
No recipients resolved for group address: @antigravity. A separate resolver test consumed an actual host snapshot from the installed agy validation panes: all five Antigravity identities selected, none selected as Gemini. This verifies identity matching, not live mailbox consumption.Live CLI typo check changed from an unrelated Run-binding error to
Unknown group address. Fullpnpm tc, changed-code quality, bundled-guide verification, and dev main/preload/renderer/embedded-web build pass. Commit lint/format hooks pass. Proof terminal closed afterward; authentication and hooks unchanged.AI Disclosure
Review
Checked Run membership, workspace audience, title-only refusal, missing identities on older hosts, sender exclusion, and the preserved legacy alias. Real Windows/SSH and successful Antigravity mailbox consumption/worker completion are still unverified. Draft pending CI.
Agent skill upstream boundary
docs/reference/agent-skill-sharing-upstream-boundary.mdand copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.Notes
No new RPC fields, stream opcodes, process probes, or platform branches. Clients already send arbitrary string addresses; an older server still rejects newly supported groups. Host identity remains required, so an older host that omits identity supplies no agent-name recipients. Remote federation routing is unchanged. Folder-workspace pane identities were used for the local live snapshot.
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)