fix(subagents): make eval and queued steering nonblocking
Make agent_eval return a running projection by default so follow-up steering does not wait for child model calls. Keep checkpoint resume blocking by default unless block=false is explicit. Teach /agent, /swarm, prompts, and docs to poll workers nonblocking and reserve block:true for deliberate terminal waits. Add Ctrl+S as a reliable queued-message send path before falling back to draft stash. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+7
-5
@@ -254,11 +254,13 @@ workspace/branch, lifecycle events, artifact refs, follow-up target, takeover
|
||||
target, usage provenance, and verification provenance.
|
||||
|
||||
`agent_eval` returns these fields at the top level of the session projection and
|
||||
inside `worker_record`. A running or continuable interrupted child should be
|
||||
continued through the returned `follow_up` target (`agent_eval` with the same
|
||||
agent id or session name). A local takeover should use the returned `takeover`
|
||||
instructions; unsupported future cases must say why instead of leaving the
|
||||
operator to guess.
|
||||
inside `worker_record`. It is nonblocking by default: use it to poll status or
|
||||
deliver follow-up input while the parent keeps coordinating. Pass `block:true`
|
||||
only when deliberately waiting for a terminal child result. A running or
|
||||
continuable interrupted child should be continued through the returned
|
||||
`follow_up` target (`agent_eval` with the same agent id or session name). A
|
||||
local takeover should use the returned `takeover` instructions; unsupported
|
||||
future cases must say why instead of leaving the operator to guess.
|
||||
|
||||
Follow-up delivery is explicit. If a message was delivered, the worker record
|
||||
stores a bounded preview and timestamp. If the child had already terminated,
|
||||
|
||||
@@ -190,7 +190,7 @@ The active model-facing sub-agent surface is persistent and intentionally small:
|
||||
| Tool | Niche |
|
||||
|---|---|
|
||||
| `agent_open` | Open a named sub-agent session for independent work. Returns a session projection immediately so the parent can keep coordinating. |
|
||||
| `agent_eval` | Send follow-up input, block for completion, or fetch the current projection/transcript handle for an existing session. |
|
||||
| `agent_eval` | Send follow-up input or fetch the current projection/transcript handle for an existing session. Nonblocking by default; pass `block:true` only for a deliberate wait. |
|
||||
| `agent_close` | Cancel or release a sub-agent session by name or id. |
|
||||
|
||||
See `agent.txt` for the delegation protocol and
|
||||
|
||||
Reference in New Issue
Block a user