Override: a new, additional, immutable artifact appended to the record’s overrides array. The original Decision and Execution remain exactly as they were.
Fields
| Field | Type | Description |
|---|---|---|
overrideId | string | Unique identifier for the override. |
businessTransactionId | string | The transaction being corrected. |
authorityId | string | The Authority who approved the override, per both SDKs’ models. |
reason | string | Why the override was made. |
approvedAt | Date | When the override was approved. |
Parmana’s runtime authorization model is allow-or-block with no human-in-the-loop escalation during evaluation — a Decision is not paused mid-flight to wait for a human. Override is a distinct, after-the-fact correction mechanism, not a runtime approval step.
OverrideService is a real, working service, but it is not exported from packages/runtime/src/index.ts, not wired into ExecutionTrustApplication, and not exposed by any route under packages/api/src/routes/ — there is currently no REST endpoint or SDK method that creates or reads an Override. examples/07-human-approval’s run.ts is an unimplemented stub (console.log("Parmana Example 07 - Human Approval") and nothing else) — it does not yet demonstrate this pattern in code. See Guides → Human Override for how to use OverrideService directly today.