Production loops fail in ordinary ways
Tools timeout. APIs return partial data. The model calls the right tool with the wrong argument. A loop reaches its step budget. Context fills up and the most important decision falls out of view. None of that is exotic. That is Tuesday.
A real single-agent loop treats failures as structured observations, not as exceptions sprayed into the transcript. The model needs enough information to recover, and the operator needs enough information to debug.
Context budget is a safety budget
Do not run until the context window is full. Once the margin is gone, the agent loses room for tool results, recovery, compaction, and human handoff. Good agents stop before the wall.
Recoverability beats optimism
Every tool result should say whether it succeeded, whether retry is allowed, what changed, and what the next safe action is. Errors should carry type, message, retryability, and a compact trace id.