Skip to content

Commit 58fef8b

Browse files
committed
docs(cloud-agent-next): scope agent_unresponsive to the right restarts
The activity-capacity carve-out and the dead-event-stream path were described with the wrong reason in the spec and the control-plane doc.
1 parent 5104e36 commit 58fef8b

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

‎.specs/cloud-agent-session.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,8 @@ repository.
119119
A Kilo that stops answering while the sandbox reclaims at its memory cap
120120
MUST be held instead of restarted, for at most ten minutes; the hold MUST
121121
pause the no-progress clock and post a non-fatal notice. A turn failed by a
122-
hang restart MUST say that Kilo was not responding.
122+
hang restart MUST say that Kilo was not responding, unless the restart was
123+
for exhausted activity-tracking capacity while Kilo still answered.
123124
The separate 120-minute execution cap MUST include user waits. Native
124125
cancellation MUST be bounded and confirmed; unconfirmed cancellation MUST
125126
use bounded runtime recovery. Accepted Cloud messages MUST settle once;

‎services/cloud-agent-next/docs/control-plane.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,8 @@ native activity plus the existing Cloud-work and PTY protections.
625625
again, once. Its prompts go back to the front of the inbox in order, with the same `messageID`s
626626
(Kilo stores messages by ID). No real progress means no tool events, so no tool work repeats. A
627627
turn with real progress, or one already submitted again, gets `failed`: `agent_unresponsive`
628-
after a hang restart (including one at the end of a memory hold), otherwise `agent_restarted`.
628+
after a hang restart (including one at the end of a memory hold) other than one for exhausted
629+
activity capacity, otherwise `agent_restarted`.
629630
- That recovery selection occurs only in the restart-completion turn transition. It invalidates
630631
the retired submission chain and rebuilds the existing inbox in original message order, without
631632
waiting for held retired HTTP results. Restart-caused transport rejection is recognized by the
@@ -722,7 +723,8 @@ them through one development-only override.
722723
| Socket down 90 s | Sandbox DO | Stop the sandbox | Accepted fail (`connection_lost`); queued re-prepare |
723724
| Wrapper crash | Supervisor | Restart wrapper; routes re-prepared | Accepted fail (`agent_restarted`) |
724725
| Kilo hang (no events, no HTTP answer) | Wrapper, about 35 s; up to 10 min while the workload reclaims at its memory cap | Restart Kilo, at most 3 in 10 min | Busy turn without real progress: submitted again once; otherwise accepted fail (`agent_unresponsive`) |
725-
| Kilo crash or dead event stream | Wrapper | Restart Kilo, at most 3 in 10 min | Same as Kilo hang, but the reason is `agent_restarted` |
726+
| Kilo crash | Wrapper | Restart Kilo, at most 3 in 10 min | Same as Kilo hang, but the reason is `agent_restarted` |
727+
| Dead event stream (Kilo still answers health) | Wrapper, after 6 reconnects in 2 min | Restart Kilo, at most 3 in 10 min | Same as Kilo hang (`agent_unresponsive`) |
726728
| Kilo restart budget used up | Wrapper | None until the next message | Queued and accepted fail (`agent_unavailable`) |
727729
| Kilo final error | Wrapper | None (Kilo already retried) | Accepted fail with Kilo's reason |
728730
| No real progress for 20 min, including silent tools | Native session supervisor | Bounded tree abort; runtime recovery if unconfirmed | Accepted fail (`no_progress`), or routed error without a current turn |

0 commit comments

Comments
 (0)