From eec9c1d84ebdfd5117de0084c0b1c7bcc3ba4cb3 Mon Sep 17 00:00:00 2001 From: brett-bonner_infodesk Date: Tue, 16 Jun 2026 07:30:20 -0700 Subject: [PATCH] docs(agents): clarify background delegation durability --- AGENTS.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index e032f765447..eb769fa2502 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -954,9 +954,10 @@ Enable/disable per platform via `hermes tools` (the curses UI) or the ## Delegation (`delegate_task`) `tools/delegate_tool.py` spawns a subagent with an isolated -context + terminal session. Synchronous: the parent waits for the -child's summary before continuing its own loop — if the parent is -interrupted, the child is cancelled. +context + terminal session. By default the parent waits for the +child's summary before continuing its own loop. With `background=true`, +Hermes returns a delegation id immediately and the result re-enters the +conversation later through the async-delegation completion queue. Two shapes: @@ -978,9 +979,9 @@ Key config knobs (under `delegation:` in `config.yaml`): `orchestrator_enabled`, `subagent_auto_approve`, `inherit_mcp_toolsets`, `max_iterations`. -Synchronicity rule: delegate_task is **not** durable. For long-running -work that must outlive the current turn, use `cronjob` or -`terminal(background=True, notify_on_complete=True)` instead. +Durability rule: background `delegate_task` is detached from the current +turn but still process-local. For work that must survive process restart, use +`cronjob` or `terminal(background=True, notify_on_complete=True)` instead. ---