1
2
3
4
5
6
7
Trigger
first voice turn · chat send · whatsapp inbound · /integrations opened
ensure_runtime(user_id)
provisioner inside sudo-api
container running?
yes → return URL
no
_spawn() · docker run
named volume · plugins bind-mount (ro) · entrypoint = /bin/sh -c _SEED_AND_EXEC
_SEED_AND_EXEC (boot script, runs on every start)
writes /opt/data/config.yaml · seeds MEMORY.md
heals legacy state · exec upstream entrypoint
gateway run
api_server :8642 + twilio_whatsapp :8651 + sudo_chat :8652 + sudo_voice :8653
_wait_healthy · poll GET /health until 200 (default 120s) → return URL