Workflow State Machine¶
Workflow Types¶
Current Phase 7 workflow types:
- exception_review
- incident_review
States¶
Open states:
- requested
- in_review
- changes_requested
- escalated
Terminal states:
- approved
- rejected
- overridden
Core Transitions¶
From requested:
- approve -> approved
- reject -> rejected
- request_change -> changes_requested
- comment -> requested
- reassign -> requested
- escalate -> escalated
- override -> overridden
From changes_requested:
- approve -> approved
- reject -> rejected
- request_change -> changes_requested
- comment -> changes_requested
- reassign -> changes_requested
- escalate -> escalated
- override -> overridden
From escalated:
- approve -> approved
- reject -> rejected
- request_change -> changes_requested
- comment -> escalated
- reassign -> escalated
- repeated escalate is rejected
- override -> overridden
From approved, rejected, or overridden:
- comment is still allowed
- all other actions are rejected
Event Log Reflection¶
approve
- appends ApprovalRecorded
- payload.subject mirrors the workflow subject
- payload.decision=approved
reject
- appends ApprovalRecorded
- payload.subject mirrors the workflow subject
- payload.decision=rejected
override
- appends ApprovalRecorded
- payload.subject.subject_type=override
- payload.subject.subject_id={workflow_id}
- payload.decision=approved
start_review
- appends WorkflowReviewRequested
- creates a deterministic trace review workflow id:
{trace_id}:trace_review:{template_id}
- carries template, assignee, priority, SLA, and dry-run context into the workflow runtime
request_change, reassign, comment, escalate
- do not append decision-domain approval events in v1
- are persisted to dg_workflow_actions
- can emit durable workflow notifications
SLA And Notification Behavior¶
- overdue open items are automatically escalated during workflow runtime refresh
- escalation transitions also record a durable
escalationaction and notification assignment,deadline_risk,approval,escalation, andfailurenotifications are deduped per workflow scenario
Permission Gates¶
workflow_review
- approve
- reject
- request-change
- comment
workflow_assign
- reassign
- start trace review / incident review
workflow_escalate
- manual escalate
workflow_override
- override
workflow_export
- export workflow audit payloads
Required Inputs¶
Reason required: - approve - reject - request-change - escalate - override - start_review
Assignment target required:
- reassign needs assigned_account_id or assigned_role
Override confirmation required:
- confirmation phrase must equal OVERRIDE {WORKFLOW_ID_UPPERCASE}