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.

Control

button disappears

Stream

no live node

Transcript

interrupted partial

Session

turn/end: aborted

Retry means three different things.

Runtime policyllm/retry

Retries one model request automatically; it is not a user replay action.

User continuationFollow-up · branch · new Session

Choose after durable closure and effect reconciliation.

Choose by effect certainty.

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