fix(subagent): complete output selection contract

This commit is contained in:
Hypatia May
2026-08-10 22:19:14 +08:00
parent 084638af47
commit 4f23fa84cc
32 changed files with 113 additions and 93 deletions
+3 -6
View File
@@ -315,12 +315,9 @@ const SCENARIOS: Scenario[] = [
// Windows bash process-tree kill is deferred with the Bash execution domain.
{ name: 'cancel-tool-calls', hasModelTurn: true, recorded: false, overridden: true, posixOnly: true },
{ name: 'subagent-spawn', hasModelTurn: true, recorded: true },
// Keyless, authored (like error-finish): a live child cannot be coaxed into
// a max-tokens step that assembled ONLY tool-call blocks — the truncation
// shape whose usage-only empty assistant/message must not erase the child's
// earlier text. The child fixture scripts text + todo_write, then a
// tool-only max-tokens cutoff; the parent's subagent tool result must carry
// the child's real partial answer with the max-tokens stop reason.
// Keyless authored scenario: the child ends at max-tokens with an empty
// usage-only assistant/message after earlier text and a tool call. The
// parent's tool result must retain that assistant output and stop reason.
{ name: 'subagent-max-tokens-partial', hasModelTurn: true, recorded: false },
{ name: 'subagent-multi', hasModelTurn: true, recorded: true },
{ name: 'subagent-fork', hasModelTurn: true, recorded: true },