An agent demo can hide state in a prompt and treat every tool call as success. A runtime cannot. It must know what happened, what is allowed to happen next, and how to recover when a dependency or model behaves unexpectedly.
## make state explicit
I prefer workflows where plans, tool results, retries, approvals, and terminal outcomes are first-class records. This gives long-running tasks a stable shape and lets operators inspect progress without parsing a transcript.
Explicit state also makes replay possible. You can reproduce a decision from the same inputs instead of hoping a free-form conversation follows the same path twice.
## design the stop conditions
Retries, budgets, cancellation, and human checkpoints should be designed before adding more tools. Autonomy is not the absence of limits; it is useful work performed inside limits that remain visible.
▊ end of file