Status: accepted, built 2026-10-07 — amends ADR-041 ("a task is one turn"); details in docs/a2a-tasks.md
ADR-041 made an A2A task one turn: from its message to its result. A turn is one model response, and a turn can end with the work half done — proteus ended a review with "writing the probe" and went idle, and nothing resumed it; the heartbeats that used to were switched off for burning tokens on nothing. A task that ends with its turn cannot tell finished from stopped. Jimmy proposed supervising the task instead of the session; this is that, after review.
task_update done,
blocked or failed, an MCP tool every session has — or it is cancelled, or it
expires after 24 hours. That is what A2A means by a task (non-terminal states
across many messages, ended by the serving agent); one turn per task was our
shortcut.AckTask, a shrooms
extension), not what closes a task: completed stays final, as in A2A.task_update. Every session is told so (its system-prompt
note, and the header of each task); one that does not is reminded, and in the
end the task is stalled and a person looks — which is the honest outcome.SendMessage now waits until the task is finished or needs input
(at most 10 minutes), not merely until a turn ends.