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.
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.
