SMS approval state proof.
A redacted or synthetic proof for stateful SMS conversations with opt-in checks, Slack review, approved outbound queue, analytics events, and visible blocked rows. No client data, credentials, live SMS, Slack posts, Claude calls, or health data are used.
Source Script
Conversation State CSV
Slack Approval Queue CSV
Outbound Queue CSV
Analytics Events CSV
Error Log CSV
Runbook
Approved outbound is gated.
Only reviewer-approved drafts enter the outbound queue, and even those rows are marked approved_not_sent in the mock output.
Unsafe rows are visible.
Unknown phone tokens, opt-outs, paused users, and pending approvals produce error rows instead of silent sends.
State and analytics stay linked.
Every drafted row carries user, message, activity, approval, and event evidence for review.
| Input | Decision | Output | Evidence |
|---|---|---|---|
| Known opted-in user asks for an activity. | Draft and approval created. | Approved row appears in outbound-queue.csv. | Conversation state moves from intake_ready to outbound_queued. |
| Known opted-in user receives revise decision. | Send blocked for revision. | Draft remains in Slack approval queue with reviewer notes. | Conversation state moves to needs_revision. |
| Opted-out, paused, unknown, or already-pending user. | Blocked before draft. | Error row records the reason and source evidence. | No outbound row is generated. |