@@ -207,10 +207,19 @@ them in order. If a handler forwards updates to another task, the application
207207is responsible for any additional projection-drained barrier it needs before
208208treating replay as locally applied.
209209
210- Dropping command handles has no network or inbound-routing side effect. If an
211- application wants stream ergonomics, it can fan typed updates out from the
212- connection handler with an explicit buffering and subscriber policy. MCP
213- attachment and proxy-session helpers are still v1-only.
210+ Dropping command handles has no network or inbound-routing side effect. For a
211+ session created with ` V2SessionBuilder::with_mcp_server ` , the SDK installs the
212+ MCP routes and initially polls their runner tasks before publishing
213+ ` session/new ` , so the agent can connect to those servers during session setup.
214+ Runners may continue asynchronous initialization; custom connectors must be
215+ able to queue connections and messages once constructed. A successful setup
216+ promotes the attachment to the connection lifetime; any setup failure cleans it
217+ up. This attachment requires both ` unstable_protocol_v2 ` and
218+ ` unstable_mcp_over_acp ` . Global proxy attachment and proxy-session helpers
219+ remain v1-only.
220+
221+ If an application wants stream ergonomics, it can fan typed updates out from
222+ the connection handler with an explicit buffering and subscriber policy.
214223
215224## Conductor and proxy initialization
216225
@@ -346,17 +355,19 @@ agent:
346355
347356## Draft schema changes in schema 1.5 and 1.6
348357
349- The ` unstable_protocol_v2 ` API follows the moving draft schema. Schema 1.5 adds
350- semantic newtypes for paths, media types, IDs, and cursors; renames
351- ` DiffPatch.diff ` to ` DiffPatch.text ` ; adds terminal state and output update
352- types; and makes v1/v2 conversions fallible and generic. These are draft API
353- changes rather than stable v1 wire changes. See [ Migrating to
358+ The ` unstable_protocol_v2 ` API follows the moving draft schema. Schema 1.5 added
359+ semantic newtypes for paths, media types, IDs, and cursors; renamed
360+ ` DiffPatch.diff ` to ` DiffPatch.text ` ; and added terminal state and output update
361+ types. The next schema dependency update removes the former schema-wide v1/v2
362+ conversion API: versioned implementations should remain separate, with
363+ purpose-specific adapters at runtime boundaries where the required state and
364+ policy are available. These are draft API changes rather than stable v1 wire
365+ changes. See [ Migrating to
354366v2.0] ( ./migration_v2.0.md#draft-v2-schema-updates ) for concrete source changes.
355367
356368Schema 1.6 adds ` Cancelled ` tool-call and plan-entry statuses to draft v2.
357369Programmatic tool-call names are available in both protocol versions through
358370the separate ` unstable_tool_call_name ` feature. Draft v2 users must enable both
359371` unstable_protocol_v2 ` and ` unstable_tool_call_name ` . In v2, an omitted name
360372leaves the existing value unchanged, ` null ` clears it, and a string replaces
361- it. V1 cannot clear an existing name, so converting a v2 ` null ` name to v1
362- fails.
373+ it. V1 cannot express the explicit v2 ` null ` clear operation.
0 commit comments