···5252 Description: "Starts a subtask with its own context and a restricted tool whitelist, then returns a structured result envelope.",
5353 })
5454 }
5555+ if viper.GetBool("tools.acp_spawn.enabled") {
5656+ addToolPreview(extraPreviews, toolPreview{
5757+ Name: "acp_spawn",
5858+ Description: "Starts a one-shot external ACP agent subtask over stdio and returns a structured result envelope.",
5959+ })
6060+ }
5561 // Runtime tools are injected in run/serve/telegram/slack.
5662 toolsutil.RegisterRuntimeTools(r, toolsutil.LoadRuntimeToolsRegisterConfigFromViper(), toolsutil.RuntimeToolLLMOptions{})
5763 for _, name := range []string{toolsutil.BuiltinPlanCreate, toolsutil.BuiltinTodoUpdate} {
···1010 - `read_file`, `write_file`, `bash`, `url_fetch`, `web_search`, `contacts_send`.
1111- `engine-scoped` tools:
1212 - `spawn`: registered when an agent engine is assembled for a run; depends on the current subtask runner, parent tool lookup, and default model.
1313+ - `acp_spawn`: registered when an agent engine is assembled for a run; depends on ACP agent profiles plus the current subtask runner.
1314- `runtime-dependent` tools:
1415 - `todo_update`: runtime-injected, depends on active LLM client/model plus TODO/contacts paths from runtime config.
1516 - `plan_create`: runtime-injected, depends on active LLM client/model.
···6667Flow notes:
67686869- Phase A (static): build base registry via `RegisterStaticTools`.
6969-- Phase A.5 (engine tools): register engine-scoped tools such as `spawn` when `agent.New(...)` assembles a runnable engine.
7070+- Phase A.5 (engine tools): register engine-scoped tools such as `spawn` and `acp_spawn` when `agent.New(...)` assembles a runnable engine.
7071- Phase B (runtime deps): build `RuntimeToolsRegisterConfig`, then inject via `RegisterRuntimeTools`.
7172- Phase C (task shaping):
7273 - `run`/`serve`/integration run-engine: inject runtime tools directly into execution registry.
···89909091- `tools` command prints:
9192 - `Core tools`: from base registry.
9292- - `Extra tools`: preview of engine-scoped and runtime-dependent tools (currently `spawn`, `plan_create`, `todo_update`).
9393+ - `Extra tools`: preview of engine-scoped and runtime-dependent tools (currently `spawn`, `acp_spawn`, `plan_create`, `todo_update`).
9394 - `Telegram tools`: static preview rows for Telegram runtime tools.
94959596## `read_file`