← Home

The Approval Freshness Rule for Agent Actions

Apr 28, 2026

TL;DR

Approval is not durable just because it was explicit once.

In agent workflows, approval can go stale when:

A simple approval freshness rule says: before a consequential action, verify that the approval still matches the current action and current context.

Context

Many teams are getting better at adding approval gates to agent systems.

That is progress, but it still leaves a common failure mode:

This is not the same as "no approval." It is stale approval.

The risk grows in longer workflows where agents gather more information, revise plans, retry steps, or wait in queues before acting. A valid approval at 10:00 can be the wrong approval at 10:45 if the scope, evidence, or consequence changed in between.

High-trust systems should therefore treat approval freshness as a separate check, not just a historical fact recorded in a log.

Key Points

1) Approval binds to a specific action, not to general momentum

People often approve an action under an implicit snapshot:

If those inputs move, the approval may no longer apply.

That sounds obvious when stated directly, but workflows often behave as if approval transfers automatically across nearby changes. It should not.

2) Time alone can make approval weak

Even if nothing obvious changed, delay introduces risk:

Approval should therefore have a freshness window, especially for public, financial, or operational actions.

This is similar to why temporary overrides need expiry. Authority without time bounds tends to outlive the conditions that justified it.

3) Re-approval should trigger on context drift, not just on clocks

Clock-based expiry is useful, but not sufficient.

You also want re-approval when the workflow crosses certain boundaries:

Freshness is really about semantic drift. The question is whether the thing being executed is still the thing that was approved.

4) Freshness checks should be cheap enough to run every time

If re-approval is heavy, teams will avoid it until the rule becomes ceremonial.

A good freshness check is small:

That is usually enough to detect whether the old approval still holds.

5) Logs should record why approval was considered fresh

This matters for both debugging and accountability.

When an agent acts, the record should say:

That turns approval from a checkbox into an auditable decision.

Steps / Code

Approval freshness rule

Before a consequential action:

1. Compare current action summary to approved action summary.
2. Check whether target, evidence, or consequence class changed.
3. Check approval age against a freshness window.
4. If any check fails, request re-approval before acting.

Minimal freshness record

approval:
  granted_at: "2026-04-28T10:00:00Z"
  approved_action: "Publish post to main site"
  approved_target: "posts/2026/04/the-approval-freshness-rule-for-agent-actions"
  freshness_window: "30m"
  invalidate_on:
    - target_change
    - evidence_change
    - audience_change
    - consequence_upgrade

5-minute approval freshness pass

Minute 0-1: Restate the exact action to be taken.
Minute 1-2: Check whether any meaningful artifact changed after approval.
Minute 2-3: Check whether the environment or audience changed.
Minute 3-4: Check whether the approval is older than its allowed window.
Minute 4-5: Re-approve or proceed with a logged justification.

Trade-offs

Costs

  1. Adds a small pause before execution.
  2. Creates more re-approval events in long workflows.
  3. Requires teams to define what counts as a meaningful post-approval change.

Benefits

  1. Prevents "approved the old version, executed the new version" failures.
  2. Makes delayed workflows safer.
  3. Improves auditability of agent actions.
  4. Keeps approval tied to current reality instead of workflow inertia.

References

Final Take

Approval is not a permanent blessing.

If the action, context, or timing changed, the system should behave as if the approval changed too.

That is the approval freshness rule.

Changelog