Messaging infrastructureStart
Development setup
Choose the Linux control-plane workflow or native macOS workflow based on the backend under test.
Development setup — contract and behavior
- Docker runs the FastAPI control plane with PostgreSQL on macOS or Linux but enables no device backend unless composition config adds one.
- Native macOS is required for mac-relay because Messages.app automation and chat.db access need host entitlements and files.
- MOST_COMPOSITION selects the registered backend set; development and production compositions intentionally differ.
- Unit tests do not prove live Apple, device, carrier, or webhook delivery and must be paired with the matching smoke procedure.
Commands and examples
make testmake lint