Implement approval expiry

A human approval should end at a fixed time and when its task or target changes.

01 / The operating case

What changes in a real workflow?

A reviewer approves a production restart for a one-hour window; the agent executes three hours later.

Trace the authority boundary
  1. 01Authority origin
  2. 02Task and grant
  3. 03Current decision
  4. 04Observed outcome

02 / Decision contract

What the executor must check

Bind approval to canonical request and short expiry, recheck task and context at executor, consume the approval and deny after the window.

InputPrincipal · task · action · target
DecisionGrant ancestry · policy · current state
ResultEnforce · record · verify outcome

03 / Failure and evidence

What goes wrong, and what can be proven?

Failure mode

A valid historical approval is treated as timeless authority.

Evidence to retain

Keep approval time, expiry, attempted use, denial and observed resource state.

04 / Canonical scope

Why this reference stands alone

Approval binding describes all dimensions; this page owns temporal validation and delayed work.

Illustrative implementation artifact

Delayed action rule

if now >= approval.expiresAt: DENY
if hash(currentRequest) != approval.requestDigest: DENY
if task.cancelled or grant.revoked: DENY
else consume approval atomically before commit

Primary references

Read the underlying material

Architecture discussion

Choose one consequential action and make its boundary explicit.

Request a Conversation