From 49f109deb1136aef25e1261ead6b6cc6230b047c Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Sat, 29 Aug 2026 08:12:42 +0200 Subject: [PATCH] agent: the loop must never stop itself A run ended with a clean exit 0 while the display title read "Loop interval optimization", leaving four files uncommitted in the tree. Nothing crashed -- the loop was ended, and ending the loop ends the run: the container exits and there is no next iteration. The prompt said the agent did not NEED to arm a wakeup. It never said not to stop one, and an agent that reads about a pacing control will reasonably try to use it. Now explicit: do not call ScheduleWakeup at all, and if the cadence is wrong, say so and leave it to a human -- the interval is set outside the prompt. Recorded with the date and the symptom, because "the container exited cleanly" looks like a finished job rather than a self-inflicted stop. --- docker/agent/loop-task.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docker/agent/loop-task.md b/docker/agent/loop-task.md index cd5a0d79..3f61fa12 100644 --- a/docker/agent/loop-task.md +++ b/docker/agent/loop-task.md @@ -120,3 +120,13 @@ turn ends — but sequential tool calls within a turn are fine. The loop runs on a fixed interval set by the harness, so you do **not** need to arm the next wakeup yourself. Spend that attention on the write-up instead. + +**And never stop it.** Do not call `ScheduleWakeup` at all — not to re-pace the +loop, not to tidy up, and above all not with `stop`. Ending the loop ends the +run: the container exits, and the next iteration never happens. If the cadence +is genuinely wrong, say so in your reply and leave it to a human — the interval +is set outside this prompt and is not yours to optimise. + +This is not hypothetical. A run ended at 2026-08-29 04:0x with a clean exit 0 +while the display title read "Loop interval optimization", leaving four files of +work uncommitted in the tree.