When does pending override occur?
An execution enterspending_override state when the policy rule that matches the signals has requires_override: true. This means the governance system has made a decision, but that decision requires explicit human authorization before the action may proceed.
Example policy rule that triggers override:
POST /execute returns:
The lifecycle
What is stored during pending_override
When execution enterspending_override:
- The attestation is recorded in
audit_decisionswithexecution_state: "pending_override" - A pending override record is created in
audit_overrideswithresolution_status: "pending" - The pending execution context (token, fingerprint, provenance) is stored so it can be re-executed if approved
- The replay state in Redis remains in
EXECUTING(not yet confirmed)
Detecting pending override
What to do next
- Do not execute the action — the execution is blocked. The governance system has determined that human authority is required.
- Store the
executionId— you will need it to resolve the override. - Route to your review process — email, Slack, JIRA, your internal ticketing system.
- Wait for reviewer action — the reviewer calls
POST /overrideto approve or reject.
Checking override status
Use the audit decision endpoint to check the current state:Troubleshooting
Execution returnedpending_override but audit_db is false — Without Postgres, pending override state cannot be tracked. The override record will not be stored, and POST /override will return 404. Postgres is required for the override workflow.
Application acted on a pending_override decision — Always check execution_state before authorizing an action. pending_override means the action is blocked, regardless of decision.action.
Override state is pending for longer than expected — The override must be explicitly resolved via POST /override. It will not auto-resolve. See Approval and Rejection.