Guides  /  Durability and failure

How does an agent wait days for a human decision?

Answer

The run pauses at the approval step, and the runtime holds its state while releasing the resources it was using. Crashes and deployments during the pause do not affect the held run.

When the decision arrives the run resumes at the step where it stopped. The work before the pause is not replayed and the tools called before it are not called again.

The mechanism

A paused run is state the runtime holds.

Holding a decision open by keeping a process alive works until something restarts it. A three-day wait spans several deployments in most organisations, and every one of them ends the process that was waiting.

Durable suspension records the pause as part of the run. The state sits in the journal, the compute is released, and the run reappears when the decision arrives. Duration stops being a design constraint.

12awaiting approvalstate held, resources releaseddeploycrashdeploythree daysapproved34
What a paused run has to keep

Suspension holds more than the position in the sequence.

The step it stopped atThe resume point, so the run continues instead of restarting.
What it was askingThe proposed action, the evidence behind it, and the policy that required a human.
Who may decideThe approver set resolved at the moment the run paused, so a later change to permissions does not silently widen it.
The clockEscalation and expiry deadlines, so a decision nobody makes has a defined outcome.
What this changes

Approval stops being a separate system.

The usual alternative writes the pending item to a database and ends the run. A second run starts when the approval arrives, and that run has to reconstruct the context the first one held. The two implementations drift apart as the system changes.

A held run has no second path. The approval resumes the original execution, so the evidence record shows one run with a pause in it.

Questions

Related questions.

What if nobody approves it?

The deadline set at the pause decides. The run escalates to a wider approver set, or it expires with a recorded outcome. A pending item with no clock becomes a backlog nobody owns.

Does a held run consume capacity?

The state persists and the compute is released, so holding thousands of paused runs costs storage instead of capacity.

Can the approver see what the agent intended to do?

The proposed action and the evidence behind it are part of the held state, so the approver reads what the agent was about to do. A summary written afterwards is not what appears.

What happens if the policy changes during the pause?

The approver set resolved when the run paused is the one that applies. A run that has been waiting for two days is not silently re-scoped by a change made yesterday.

On Akka. Durable human-in-the-loop suspension is a capability of Akka Verify, running on the Akka SDK runtime.