## M01 — Monorepo skeleton (done) **Built:** repo layout per SPEC §11, both Dockerfiles, compose stack, toolchain. **Notes for next milestone:** - DB schema empty; M02 owns all tables and seeds. - `entrypoint.sh` for api supports `migrate` mode and calls `vendor/bin/phinx`. - Healthcheck payloads are stubs; later milestones extend them. - Service-token bootstrap deferred to M03 (needs `api_tokens` table first). - CI runs locally via `./scripts/ci.sh` (Docker-based, no host PHP/Node needed). No GitHub Actions workflow per project decision. - `composer.json` config pins `platform.php` to 8.3 in both subprojects so dependency resolution matches the FrankenPHP runtime image even when the build host's `composer:2` image ships a newer PHP. **Deviations from SPEC:** none. **Added dependencies beyond SPEC §2:** none.