Skip to content

Add subagents RFD - #1992

Open
Ololoshechkin wants to merge 3 commits into
mainfrom
vbr/subagents-rfd
Open

Add subagents RFD#1992
Ololoshechkin wants to merge 3 commits into
mainfrom
vbr/subagents-rfd

Conversation

@Ololoshechkin

Copy link
Copy Markdown

Add subagents RFD

@Ololoshechkin
Ololoshechkin requested a review from a team as a code owner August 20, 2026 00:39
@nikita-ashihmin

Copy link
Copy Markdown

Implementation feedback from AIR and the reference adapter branches:

The canonical capability and lifecycle shape works for both adapters. We only needed _meta.jetbrains.air.capabilities = ["nativeSubagentSessions"] as a temporary negotiation bridge because the released SDKs currently remove the draft subagents fields. We treat this metadata as a compatibility bridge, not as an alternative protocol. It may help to make SDK preservation of the draft fields an explicit rollout prerequisite.

Two edge cases still seem underspecified:

  1. The RFD defines orphan recovery during session/load, but it does not define the immediate Client state when a live connection ends or session/prompt returns without the required terminal update. Clients can otherwise choose failed, keep running forever, or show disconnected. Could the RFD require a local disconnected state for an unknown outcome and clarify whether the Client emits no wire update?

  2. A child can own pending session/request_permission or session/create_elicitation requests when the child or its parent is cancelled. Could the RFD require those requests to resolve or cancel before subagent_state_update, and define how a Client handles a response that races with the terminal update? This prevents a terminal child from retaining a live control or moving that control to the wrong history.

One smaller compatibility note: the current RFD requires task. AIR now treats the older description field only as a temporary input fallback. New adapters emit task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants