ADR-0005: Keep M0 local-first and infrastructure synth-only
- Status: Accepted
- Date: 2026-09-19
- Scope: M0
Context
M0 exists to establish product boundaries, contracts, local developer experience, and reviewable infrastructure without accepting production operational or privacy risk.
Decision
- All M0 development and validation must work without cloud credentials or live providers.
- Docker Compose supplies loopback-bound PostgreSQL and LocalStack S3/SQS.
- Synthetic deterministic mocks stand in for external services.
- CDK may be synthesized locally, but this repository does not authorize deployment.
- Customer data, real meal photos, production credentials, and production integrations are prohibited in M0 environments.
- Local volumes are disposable developer state, not backups.
“Local-first” in M0 refers to development independence. It does not claim an implemented offline mobile database or synchronization engine.
Consequences
- Setup is repeatable and low risk.
- Infrastructure structure can be reviewed without creating resources.
- Local emulation cannot prove cloud security, performance, service quotas, backup, or failure behavior.
- Provider mocks cannot prove vendor compatibility.
- Deployment and operational readiness remain explicit future work.
Follow-up
- Keep the deployment runbook as a synth-only placeholder.
- Require a separate approval and readiness review before any shared or cloud environment.
- Design offline persistence/sync separately; do not infer it from this decision.