DecisionStepApprovedevent type
Q2 multi-step approval: one event per approval step, in order. The projection enforces step_index = next-expected; out-of-order writes are rejected by the writer (state machine check). Emitted exactly ONCE per step.
Full spec
{
"name": "DecisionStepApproved",
"description": "Q2 multi-step approval: one event per approval step, in order. The projection enforces step_index = next-expected; out-of-order writes are rejected by the writer (state machine check). Emitted exactly ONCE per step.",
"current_version": 1,
"actor_type_allowed": [
"human"
],
"object_type": "Decision",
"payload_versions": {
"v1": {
"type": "object",
"additionalProperties": false,
"required": [
"decision_id",
"step_index",
"approver_id"
],
"properties": {
"decision_id": {
"type": "string",
"format": "uuid"
},
"step_index": {
"type": "integer",
"minimum": 0
},
"approver_id": {
"type": "string",
"format": "uuid"
},
"approval_note": {
"type": "string"
}
}
}
},
"projections_consuming": [
"decisions_view",
"raci_view",
"audit_log"
],
"canonicalizer_module": "event-canonicalizers/decision_step_approved.ts"
}