organization_idstring uuid required
conversation_idstring uuid required
conv_turn_idstring uuid nullable required
node_idstring nullable required
subject_kind'workflow_node' | 'tool_call' required
What a suspended approval is gating — the caller-agnostic dispatch key.
The :class:ResumeDispatcher (HITL-03 §1) routes a recorded decision back to
the right continuation by this value: a workflow ApprovalNode resumes an
edge (WORKFLOW_NODE); a Policy/tool-level gate resumes a partial turn
(TOOL_CALL). Persisted to a VARCHAR(20) — a StrEnum serializes to its
string value, so it needs no migration.
subject_refstring required
suspend_messagestring nullable
approver_rolestring required
decided_bystring nullable
decided_atstring date-time nullable
timeout_atstring date-time nullable
resume_tokenstring nullable
created_atstring date-time required