You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`slot), "running", and "awaiting_director". interrupt_agent unblocks this wait immediately with `+
601
622
`status "interrupted" (a parent-initiated pause — resume_agent, do not spawn_agent a successor against the still-live worker). `+
602
623
`close_agent also unblocks with status "interrupted" but is permanent. Terminal JSON includes stop_reason when the session recorded one `+
603
-
`(interrupted, cancelled, incomplete-report, and similar). awaiting_director is not terminal: re-wait while still pending re-delivers the same question. `+
624
+
`(interrupted, cancelled, incomplete-report, and similar). A "failed" entry with "continuable": true is a recoverable transient `+
625
+
`provider failure (retryable/timeout/overload) — terminal, not a timeout and not a stall: do not re-wait it, and you may spawn at most `+
626
+
`one successor with the same brief. "failed" without the marker (auth, quota, context-overflow, or other errors) is not continuable — `+
627
+
`do not respawn it. awaiting_director is not terminal: re-wait while still pending re-delivers the same question. `+
604
628
`Answer with send_input (soft). Do not call this in a tight zero-progress loop: a timeout means the targets are still `+
605
629
`queued, running, or awaiting a director answer, not "try again right away" — do other work, reply to the operator, or change the brief. Calling again with the `+
606
630
`same targets is a real timed wait, not a spin, but wastes turns if nothing has changed. `+
@@ -1530,6 +1554,17 @@ export function createSpawnAgentTool(deps: AgentFleetDeps): AgentTool {
0 commit comments