diff --git a/docs/orchestration-v2/orchestrator-mcp-server.md b/docs/orchestration-v2/orchestrator-mcp-server.md index cf23884731c609990c1e85b73b39d06822fc4562..37f469dab3710d3ad0fc5ad8f7b54a6deb6a868d 100644 --- a/docs/orchestration-v2/orchestrator-mcp-server.md +++ b/docs/orchestration-v2/orchestrator-mcp-server.md @@ -9,7 +9,7 @@ agent can use this endpoint to: - wait for or poll the sub-agent's durable result; - cancel an active delegated task; and - create one or more ordinary top-level T3 threads; -- list and incrementally read project threads; +- list a project's threads and incrementally read any thread; - rename threads, regenerate titles, and link or unlink pull requests; - send or steer follow-up messages; and - wait for or interrupt ordinary thread runs. @@ -20,7 +20,7 @@ only the supplied task prompt, plus an optional role instruction supplied in the same tool call. Parent conversation history is not copied into the child. `ThreadManagementService` is the shared server application boundary for V2 -WebSocket commands and MCP. It owns project-scoped lookup, listing, send-mode +WebSocket commands and MCP. It owns thread lookup, listing, send-mode selection, durable send postconditions, wait polling, and interrupt selection; `OrchestratorV2` remains the lower-level command/event processor. Transport adapters only authenticate, resolve transport-specific inputs, and shape @@ -331,15 +331,16 @@ launching again. `create_threads` remains the batch option for a shared checkout ### `t3_thread_list` -Lists durable thread shells in the calling thread's project, newest first. -Callers can filter by title, run status, and whether app-owned sub-agent threads -are included. Results are bounded and offset-paginated. Deleted threads and -threads from other projects are never exposed. +Lists durable thread shells in one project, newest first: `projectId` when +given, else the calling thread's project. Callers can filter by title, run +status, and whether app-owned sub-agent threads are included. Results are +bounded and offset-paginated. Deleted threads are never listed. ### `t3_thread_read` -Reads a project-scoped thread's durable state, recent runs, and visible -timeline. The default `messages` view returns user messages, assistant +Reads the durable state, recent runs, and visible timeline of any thread in +the environment by thread ID. A deleted thread returns `thread_not_found`. The +default `messages` view returns user messages, assistant messages, and proposed plans. The `activity` view also returns summarized tool, reasoning, checkpoint, handoff, and runtime-request items. Large item text is bounded and reports whether it was truncated. `afterPosition` and @@ -353,7 +354,7 @@ distinguishable from human-authored messages. ### `t3_thread_update` -Updates metadata for the calling thread or another thread in the same project. +Updates metadata for the calling thread or any other thread in the environment. The typed actions are `rename`, `regenerate_title`, `link_pull_request`, and `unlink_pull_request`. A link input supplies the repository, number, and URL; the server records the target thread's project ID. Branch and workspace changes @@ -367,7 +368,7 @@ detail also exposes an in-flight title regeneration. ### `t3_thread_send` -Sends a message to an ordinary or delegated thread in the calling project: +Sends a message to any ordinary or delegated thread in the environment: - `auto` starts an idle thread, steers a fully active turn, or queues behind a turn that is not yet steerable; @@ -434,9 +435,11 @@ results use the latest assistant content from the final work turn. mode. It may not escalate privileges. - A child interaction mode may stay equal to or narrow from `default` to `plan`. It may not escalate from `plan` to `default`. -- General thread management is limited to the calling thread's project. Send - additionally enforces the same runtime and interaction privilege ceiling as - child creation. +- Thread tools take any thread in the environment as a target. For a thread + caller, list and search cover one project: its own unless `projectId` is given. +- A tool that changes another thread needs the calling thread's live run, and + the target's runtime and interaction modes may not be broader than the + caller's. This is the same privilege ceiling as child creation. - Provider instances must be enabled, installed, available, authenticated, and backed by a V2 adapter. - A requested model must be advertised by the selected provider when the @@ -497,7 +500,7 @@ Coverage includes: - async status polling; - cancellation; - batch ordinary-thread creation; -- project-scoped thread listing and timeline reads; +- thread listing and timeline reads, including another project's threads; - ordinary-thread send, wait, steering, and interruption; - inheritance and per-thread provider overrides; and - idempotent retries.