Watchdog
Watchdog observes failed model generations. It ignores user stops and reply-expected board inputs, which messages handles itself.
A temporary provider failure creates a durable watchdog.failure task. The task waits 60 seconds before one continuation.
A failed continuation does not receive another retry. Permanent errors report immediately.
If another run remains active at the deadline, watchdog does not submit a continuation.
Reports use the messages service with a stable request ID. Owned children report to their owner. Other conversations report to the main agent. A failure of the main agent itself produces a notice instead. The service retains the latest 20 reported failures.
Receipts and a high-water mark prevent repeated recovery. Fresh installation excludes historical failures. On reopen, watchdog recovers failures that its observer missed. Retry inputs also use stable request IDs.
Before the main agent receives an input, watchdog can add an idle-branch note. It does not modify the system prompt. The note excludes active branches, concluded branches, user questions, and queued landings when workspaces is available. It waits 30 minutes, or two hours while a branch awaits an agent reply. It repeats only when the branch IDs change.
The tests use the Harness clock and timer options. They advance the durable deadline without a 60-second wall-clock wait.