You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Split out of #35018 (part of the #35021 event audit). The audit aligns the session shell schema with the Shell service (session.shell.started { shell: Shell.Info } / session.shell.ended { shell, output: Shell.Output }, projected SessionMessage.Shell reusing the same types). This issue is the missing implementation — today the V2 shell events have no publisher:
SessionV2.shell is a stub returning OperationUnavailableError (packages/core/src/session.ts)
There is no V2 protocol route for session shell (only server.shell)
The TUI composer shell mode still posts to the legacy V1 route (packages/tui/src/component/prompt/index.tsx → V1 session.shell), which emits V1 message events
Concurrency: session shell occupies the session's run-coordinator slot (serialized with assistant drains — a prompt admitted mid-shell wakes after the shell settles). Deterministic, no running-shell placeholders. Revisit richer concurrency later.
Durable shell.ended embeds Shell.Output truncated to a fixed cap with truncated: true; full output remains fetchable from the Shell service while the shell exists.
Blocked on the #35018 schema alignment landing first.
The implementation landed upstream in #35183 (publisher, route, execution-slot queueing, and the TUI composer retarget). The one remaining piece from this issue's scope, aligning the event payloads with the Shell service schemas, is up in #35229 and tracked by #35018.
Activity
kitlangton commentedon Jul 3, 2026
The implementation landed upstream in #35183 (publisher, route, execution-slot queueing, and the TUI composer retarget). The one remaining piece from this issue's scope, aligning the event payloads with the Shell service schemas, is up in #35229 and tracked by #35018.