SIGN IN SIGN UP

docs(acp): record why native subagent sessions stay unadvertised

The old note said the schema crate cannot deserialize `subagent_spawned` /
`subagent_state_update`. That was true and is no longer the reason:
`air_async_task_delta` demonstrates a raw pre-dispatch reader gets around
the schema for any variant.

The real reason is worse, and reads straight out of the adapters.
Advertising makes both of them SUPPRESS the `Agent`/`Task` tool call —
claude-agent-acp's router returns null for it, commented "Native
Agent/Task control calls are intentionally not transcript tools"; codex
diverts its `subAgentActivity` item the same way. That tool call is what
codeg registers as the agent capsule, nests the child's tool calls under
by `meta.claudeCode.parentToolUseId`, and attaches the child's prose to.

`subagent_spawned` cannot stand in for it: it carries a child session id,
a name and a task, and no parent tool-use id. The child's own updates keep
theirs — but it names the call that was just suppressed, so they would all
arrive as orphans. And the child output is not new information; the router
rewrites only `sessionId` and leaves the routing meta codeg already reads
untouched.

So the trade is a precise rendering for a poorer one plus a
connection-level session router, against a draft
(agent-client-protocol#1992) that the adapter itself marks as temporary.
X
xintaofei committed
b59230f019aeeee324f27ed48fe729c6bb5b8237
Parent: 6a0a79d