Integrate the observed master checkpoint 7ab215e23e5d977aae7eb5d4fb91782d39969dbb without rewriting the earlier published checkpoints. Master adds current-directory events, directory-aware consumers, and retained Git worktrees; its old subagent startup paths overlapped the unified activation implementation. Resolve directory selection within managed startup after acquiring parent ownership. Preserve the original Session origin while setting each new local child directory, retain persisted directory state on cold resume, and pass a required absolute cwd to external providers. Keep unified local/external ownership, full completion notices, parked-input host completion, SDK wait/error/shutdown behavior, and ACP cancellation semantics. Retain removal of the old in-process driver and continuation managers. Combine SDK wait with the new directory requests, preserve the new master directory/worktree fixtures, regenerate derived catalogs from the combined sources, and refresh only the four stale prompt/schema sidecars. Preserve every protected historical schema, archived note, catalog-v2 acknowledgement, and recorded predecessor input. Validation: full build; 59 CI static gates; 855 subagent tests with 100% coverage on changed core/external sources; affected consumer suites including 119 repaired-fixture tests; SDK 11 and headless 16 recorded scenarios; two local headless expected cases; six built nested SDK/ACP cases; lint, strict cast inventory, workspace constraints, and whitespace checks. Native Windows worker diagnostics remain additive and require the next CI run to classify the original crash.
description, kind
| description | kind |
|---|---|
| The subagent package group: the delegation seam, its in-process and out-of-process backends, and the model-facing delegation tools. | package-group |
subagent/ — subagent capability family
English | 中文
Summary
The subagent package family lets an agent delegate a task to a child, continue the child's work, and discover every child it created. Choose a fresh in-process child for isolated work, a history-seeded in-process child when prior conversation matters, or an out-of-process child backed by ACP, Codex, Claude Code, or another Harness runtime. Model-facing tools also let agents message adjacent agents, interrupt work, and list child status. Each child remains visible to its parent whether it is running or stored; the package READMEs document provider-specific setup and limits.
Table of Contents
Packages
| Package | Role | ctx key |
|---|---|---|
subagent/ |
Defines the delegation service: provider registry, one-shot runs, continuable children, and discovery | ctx.subagents |
subagent-spawn-in-process/ |
Runs a fresh in-process child | registers on ctx.subagents |
subagent-fork-in-process/ |
Runs an in-process child seeded from the parent's completed history | registers on ctx.subagents |
subagent-acp/ |
Runs an out-of-process child over the Agent Client Protocol | registers on ctx.subagents |
subagent-codex/ |
Runs a real Codex child through the official app-server protocol | registers on ctx.subagents |
subagent-claude-code/ |
Runs a real Claude Code child through the official Agent SDK | registers on ctx.subagents |
subagent-dsh-sdk/ |
Runs an out-of-process Harness child through the TypeScript SDK | registers on ctx.subagents |
tool-subagent/ |
Exposes delegation to the model | registers on ctx.tools |
tool-subagent-control/ |
Exposes adjacent-agent messaging, interrupt, and listing to the model | registers on ctx.tools |
Related documentation
- Subagent subsystem — the service contract, provider contract, and terminal result semantics.
- historical Subagent capability seam — the design record for the delegation capability family.
- Continuable subagents — durable children that accept follow-up turns.
- tool-subagent-control README — the follow-up, interrupt, and listing surface.
Dev Note
None.