Files
deepseek-harness/packages/subagent
Chinesezjc 114e8c9b09 test: drop two host-paced assumptions the hosted image exposes
The ACP plugin-config case drove a real dispose with 150ms graces. On the hosted
image the SIGKILL escalation landed while the managed scope could not take the
signal — systemctl failed the kill ("Failed to send signal SIGKILL to auxiliary
processes: Invalid argument") — so the run reported a teardown failure the
configuration never asked for. The case asserts that config graces reach the
real run, so the values only need to clear the host's scope handling. Its mock
refuses stdin EOF and SIGTERM by design, so the case waits out both graces and
carries its own budget for that fixed cost.

Both illegal-UTF-8 residual cases relied on a plain sched_yield leaving each
write as its own read chunk. A starved reader coalesces hundreds of bytes into
one chunk, which inflates the measured peak for correct accounting too: the
hosted image measured 2563 against the 2048 bound. Pace with a real sleep so
each byte is its own chunk everywhere, and keep each payload above the bound
(3200 bytes; 1100 CESU-8 sequences) so a raw-byte undercount still flushes past
it instead of only at EOF.

(cherry picked from commit 30e0c3ff0415befe3652a55611df8a18d82c18bb)
2026-09-10 17:47:27 +08:00
..

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-in-process-driver/ Provides the shared in-process run driver —
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

Dev Note

None.