Cancellation is not rollback.An external tool or API effect may have committed before the abort arrived. Reconcile unknown outcomes before resubmitting anything.
A successful Stop has four proofs.
button disappears
no live node
interrupted partial
turn/end: aborted
Retry means three different things.
llm/retryRetries one model request automatically; it is not a user replay action.
Choose after durable closure and effect reconciliation.
Choose by effect certainty.
- 01No tool admitted: send a revised follow-up after durable abort.
- 02Known idempotent result: reconcile by its key, then continue.
- 03Known committed mutation: tell the Agent; do not repeat it.
- 04Unknown tool outcome: verify the external system first.
- 05Ambiguous history: branch at a proven boundary or use a clean Session.
- 06Cancel fails: preserve Remote, Agent phase, and Host evidence.
A safe Retry cannot mean “send the same text again.”
It needs a durable source Turn, visible replay boundary, side-effect gate, new retry identity, click deduplication, and cold-reload tests.
Primary evidence.
Keep the complete decision contract.
The canonical runbook covers freeze routing, side-effect classes, missing Stop controls, ten Retry product gates, and a redacted evidence template.
Read the full runbook