Approval

Approval not found

An approval is bound to one request fingerprint. “Not found” usually means the request being retried is not the request that was approved.

  • Approvals
  • 4 min read

1. The inputs changed

This is the common case, and it is the control working. Any change to the arguments produces a different fingerprint, and the approval you granted does not cover it.

Agents that regenerate their payload before retrying — re-running a model, re-serialising, adding a timestamp — will do this every time. Compare the fingerprint on the approval with the one on the new request; the activity record shows both.

This is the property that prevents a bait-and-switch

If an approval covered “any call to this Ability”, reviewing the input would be theatre. Review the new request on its own terms and approve it if it is acceptable.

2. The approval expired

Pending and approved requests expire automatically. If the retry came late, the approval is gone. See An approval expired before it was used.

3. The retry is a different identity

An approval belongs to the agent that made the request. A retry from a different agent, or from the same agent in a different environment, will not find it. Check the identity on both records.

4. It was already claimed

Approvals are single-use. If the agent already retried successfully once, a second identical call finds nothing. See Approval already claimed.

The fix

Review the new request in the Approval Center and decide on it. Do not look for a way to make one approval cover a class of requests — that is a permission change, and it belongs in the matrix where it is visible.

Approvals

Keep the boundary while you fix the problem.

A good fix restores intended behaviour without creating a second path around WordPress or the governed request lifecycle.