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
The 0.3.0 work (dual-era MCP support, removal of HTTP sessions) makes every authenticated client of a workspace share one Runtime instance. Several resource pools are global to the workspace and can be exhausted by a single client:
Active command slots: MAX_ACTIVE_COMMANDS = 16 — one agent can starve another out of exec_command.
Retained output: 32 entries / 16 MB per workspace, shared across clients.
CommandRun output cursors: snapshot_since_cursor() consumes a single per-command cursor, so two clients polling the same command_id steal each other's output. This is pre-existing semantics from Share command runs across MCP sessions #34 (workspace-shared commands), not introduced by 0.3.0.
Context
The 0.3.0 work (dual-era MCP support, removal of HTTP sessions) makes every authenticated client of a workspace share one
Runtimeinstance. Several resource pools are global to the workspace and can be exhausted by a single client:MAX_ACTIVE_COMMANDS = 16— one agent can starve another out ofexec_command.CommandRunoutput cursors:snapshot_since_cursor()consumes a single per-command cursor, so two clients polling the samecommand_idsteal each other's output. This is pre-existing semantics from Share command runs across MCP sessions #34 (workspace-shared commands), not introduced by 0.3.0.Why not now
_meta.clientInfois request-scoped and self-reported; a stable principal likely comes from the OAuth-workspace binding discussed in PR feat: add persistent OAuth, workspace-bound sessions, gateway, and Admin UI #35.Scope sketch