SMS Journey Orchestration Contract¶
GiveCare internal. docs/current/sms-journey-orchestration.md.
Key information used in wiki¶
- This is the canonical source for the live
journeyPhasecontract in SMS, including phases likewelcome_pending,consent_pending, the bootstrap subphases,activeSupport,stale_wait,opted_out,unreachable, andcrisis. - It defines the current ownership boundary:
sms/turns.tsis the single host-owned inbound turn surface,sms/turns/*owns loading / planning / deterministic handling / Pi execution / commit-time side effects, and Convex still owns durable writes and outbound transport. - The document makes clear that nearby fields such as
consentStatus,bootstrapCompletedAt,activeLoop, and pending-prompt state matter operationally, but are not themselves the phase enum. - It lists the current supported job types (
followup,weeklyBriefing,welcomeRetry) and explains that bootstrap completion, stale recovery, opt-out, and crisis handling are controlled state-machine transitions rather than ad hoc branches. - It explicitly distinguishes the current live runtime from older target-state architecture docs, which is why architecture pages should use it for present-tense claims.