Disposition
A signed decision on an alert, hash-chained per tenant.
Every decision on an alert — by the policy alone or by a person — is a disposition with the narrative that was signed, the draft's recommendation and confidence, whether the person overturned the draft, and a hash chained to the previous disposition on the tenant. Dispositions are written on the dashboard and through the connector; the API verifies and exports the chain.
Disposition
| Field | Type | Notes |
|---|---|---|
| id | string (uuid) | |
| tenantId | string (uuid) | |
| alertId | string (uuid) | |
| decidedBy | string | policy:<version> when the platform decided alone; operator:<name> when a person signed. |
| decision | "close" | "hold" | "escalate" | "release" | "no_action" | |
| narrative | string | The examiner-shaped narrative that was signed. |
| narrativeModel | string | null | Model alias that drafted it; null when template or human-written. |
| recommendation | string | null | What the draft recommended. |
| confidence | number | null | Draft confidence; never present on a template. |
| policyVersion | string | |
| overturnsDraft | boolean | null | True when the person disagreed with the draft. |
| prevHash | string | null | Hash of the previous disposition on the tenant chain. |
| hash | string | sha256(prevHash | canonical(body)). |
| createdAt | string (date-time) |
No dedicated endpoint. This object is read through the endpoints of the objects that reference it.