The resolution execution
When an override is approved, the governance runtime does not simply mark it as approved and return. It re-executes the decision under override authority — producing a new signed execution record that proves:- The exact execution that was overridden (via
execution_fingerprint) - The identity of the approver (
approved_by,approver_role) - The reason for the override (
reason) - The signature of the override authorization
resolution object returned by POST /override:
What resolveOverrideFromContext does
The server callsresolveOverrideFromContext() from @parmanasystems/execution-runtime:
- Loads the pending execution context (token, fingerprint, provenance, runtime manifest)
- Calls
executeDecision()with the stored context under override authority - Transitions replay state from
EXECUTING→OVERRIDDEN - Returns a signed execution result
Using the resolution
After the override is resolved, your application can proceed with the authorized action:After rejection
When an override is rejected, the execution stays blocked:Replay state after resolution
After successful override approval:- Redis state for the
execution_fingerprinttransitions toOVERRIDDEN - A second attempt to approve the same
executionIdreturns 409 - The
OVERRIDDENstate is terminal — the execution cannot be re-run
- The execution is marked
rejectedin the audit database - No second override approval is possible (409)
Troubleshooting
Resolution returned but action was already taken — Ensure your application checks the resolution status before taking the action. A rejection must not proceed to execution. Override approved butresolution.status !== "executed" — This indicates an internal error during override execution. Check server logs for [SYS-022], [SYS-023], [SYS-024], or [SYS-025] error codes.
Want to redo an override decision — Once an override is resolved (approved or rejected), it cannot be changed. If the business decision needs to change, create a new execution with a new executionId and go through the governance flow again.