Files
deepseek-harness/packages/subagent
Hypatia May a26d03960a feat(subagent): sibling delegations are concurrency-safe
One assistant message carrying several subagent calls now overlaps them
under the rolling pool (maxParallelToolCalls) instead of serializing each
foreground delegation behind an exclusive barrier; results still commit
in model order.

tool-subagent declares isConcurrencySafe: () => true for every call form:
children work in their own sessions, a run never mutates the parent
session, and sibling workspace coordination already belongs to the model
for background, continuable, and workflow children. The former
serial-execution pin flips to a parallel pin plus a gated genuine-overlap
test, and the authored subagent-parallel snapshot pins the assembled
transcript (tool/call, tool/call, tool/result, tool/result) with
interchangeable twin children, which replay race-free under the existing
first-call binding and createdAt harvest ordering.

The provider seam now requires concurrent starts and continuable
preparations for distinct children to isolate operation-local state,
cancellation, settlement, and cleanup; a continuable gate test proves a
cancelled preparation leaves no Agent or durable Session while its
sibling persists independently.

Closes deepseek-harness/deepseek-harness#1489
2026-08-11 12:41:24 +08:00
..
2026-08-11 03:20:36 +08:00
2026-08-11 03:20:36 +08:00
2026-08-11 03:20:36 +08:00

subagent/ — subagent capability family

English | 中文

This family lets an agent delegate work to child agents. Multiple named providers may coexist in one context.

Package Role ctx key
subagent/ Defines provider registration, delegation, and continuation ctx.subagents
subagent-inprocess/ Provides the shared in-process run driver
subagent-spawn/ Starts a fresh in-process child registers on ctx.subagents
subagent-fork/ Starts an in-process child from the parent's completed history registers on ctx.subagents
subagent-acp/ Starts an out-of-process child over ACP registers on ctx.subagents
subagent-codex/ Starts a real Codex app-server child registers on ctx.subagents
subagent-claude-code/ Starts a real Claude Code child through the official Claude Agent SDK registers on ctx.subagents
subagent-dsh-sdk/ Starts 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 child messaging and listing to the model registers on ctx.tools
tool-subagent-report/ Provides the child-to-parent report channel registers in child scopes

See the decisions for the capability family, continuable children, and control tools.

The subsystem reference — start requests, results, live runs, the provider contract, continuable background children — is docs/subsystems/subagent.md; design rationale in the subagent capability seam, continuable background subagents, and merged subagent control service Agent Notes.