feat(subagent): make final reports the continuable return contract

A continuable child could finish without giving its parent a usable
result: the report tool was described as optional and its default
delivery stayed quiet. Install the child-scoped report obligation (tool
description plus the tool:report prompt section), default reportDelivery
to wakeup, bind shipped subagent_fork delegations to one-shot so fork
keeps its prefix reuse, and extend the ACP snapshot harness to pin child
system prompts alongside child tool schemas.
This commit is contained in:
Hypatia May
2026-08-11 11:50:39 +08:00
parent 6d3cabf295
commit 76cf6cbd0b
79 changed files with 916 additions and 326 deletions

View File

@@ -311,12 +311,16 @@
toolName: subagent
backgroundMode: continuable
# Fork stays one-shot: a continuable child's `report` tool and prompt
# section precede the inherited history a fork exists to reuse; one-shot
# fork children install neither, keeping the parent's request prefix.
# See .agents/notes/implemented/architecture/2026-08-10-fork-children-stay-one-shot.md.
- id: tool-subagent-fork
name: '@deepseek-ai/dsh-tool-subagent'
config:
provider: fork
toolName: subagent_fork
backgroundMode: continuable
backgroundMode: one-shot
# Optional direct-child return channel; absent from roots and one-shot agents.
- id: tool-subagent-report