Write the section as a numbered checklist, one line per step, with these columns: step, action, owner role, time budget, verification command or check, and rollback or escalation if the check fails. Aim for a complete run in under 30 minutes for a single agent, and state that budget at the top of the section so the on-call engineer knows the target.
| # | Action | Owner | Budget | Verification |
|---|
| 1 | Declare the stop in the incident channel and name the incident commander | On-call engineer | 2 min | Incident record exists with timestamp and commander |
| 2 | Freeze ingress: deny new requests at the gateway or disable the trigger | Platform engineer | 3 min | Gateway rejects the agent identity; trigger shows disabled |
| 3 | Throttle rather than kill if partial service is safe, to avoid half-written state | Platform engineer | 2 min | Rate limit applied; queue depth stops rising |
| 4 | Snapshot state: logs, traces, prompts, tool calls, queue contents, file exports | Agent owner | 5 min | Snapshot stored, checksum recorded, restore tested once |
| 5 | Revoke credentials: agent identity, refresh tokens, scoped API keys, task grants | Identity owner | 3 min | Revocation response confirmed and a resource denies the token |
| 6 | Terminate execution units: containers, jobs, scheduled runs | Platform engineer | 3 min | Zero running pods or jobs; no restart events after termination |
| 7 | Drain or quiesce outstanding work to a terminal state | Agent owner | 5 min | Queue empty or items explicitly parked; each parked item has an owner |
| 8 | Confirm quiescence: no calls, no writes, no queued work for a full observation window | On-call engineer | 5 min | Monitoring shows zero agent actions for the window |
| 9 | Notify affected stakeholders and open the restart decision record | Incident commander | 5 min | Notice sent; restart criteria documented |
Three details in that table carry most of the weight:
Freeze ingress before snapshotting. If the agent keeps accepting work while you copy logs, the evidence is moving under you and the queue keeps growing. The exception is a partial throttle, which sometimes beats a hard stop because a half-completed write is harder to reason about than a bounded intake. Write down which of the two your team defaults to.
Verification means the resource denies, not the issuer responds. Revoking a refresh token stops new issuance. It does not prove the resource rejects an access token already in hand. The OAuth revocation specification requires support for refresh-token revocation, recommends access-token revocation, and acknowledges propagation delay RFC 7009 via the operational analysis. Self-contained tokens can be validated locally, so issuer-side changes need resource-side enforcement to bite immediately. Your verification step should be an actual denied call from the agent's identity, not a green checkmark in an admin console.
Snapshot before you kill. Terminating processes destroys the fastest source of evidence: in-memory state, the current context window, the exact tool call in flight. Capture first, unless execution is actively causing harm, in which case your scope document should say so and you swap steps 4 and 6 in that specific scenario.
Here is a verification sequence you can adapt for the credential step, written as a test anyone on call can run:
# 1. Confirm the token is rejected by the resource, not just the issuer
curl -s -o /dev/null -w "%{http_code}\n" \
-H "Authorization: Bearer $AGENT_TOKEN" \
https://api.example.com/v1/orders
# Expect 401. A 200 means revocation has not propagated.
# 2. Confirm execution units are gone
kubectl get pods -l agent=invoice-bot -o wide
# Expect empty list, then wait one full observation window and repeat.
# 3. Confirm no queued work can start
kubectl get jobs -l agent=invoice-bot
# Expect no active jobs; inspect any parked items one by one.
The acceptance report is the last artifact: a short record of what was checked, when, by whom, and what was observed, per the runtime policy guidance that a stop needs a testable outcome the operational analysis. It doubles as the evidence a board or auditor asks for, alongside activation thresholds and named owners the governance discussion.