ADR 001 Repository Ownership Boundaries
Context
Section titled “Context”Sanmopia modernization needs independent contract generation, backend domain work, frontend presentation, and integration verification. A single repository would blur ownership; duplicated sources across repositories would create a second problem.
Decision
Section titled “Decision”Use four repositories with one owner per artifact:
| Repository | Authority |
|---|---|
contract-repo | OpenAPI, JSON Schema, generated TypeScript and Python contracts |
backend-repo | Domain, application, adapters, interfaces, Supabase migrations |
frontend-repo | Astro pages, Atomic Design UI, NanoStores interaction state |
assembly-repo | Integration manifest, stage topology, E2E orchestration, Starlight docs |
Assembly pins and verifies integration. It does not copy implementation source. Generated contracts flow from contract to backend/frontend. Domain behavior never flows back into contract or frontend repositories.
Implementation Evidence
Section titled “Implementation Evidence”implementation: implemented covers repository ownership split. It does not
claim every feature or cross-repository workflow is complete.
Consequences
Section titled “Consequences”Cross-repository changes require contract-first sequencing and assembly-level verification. Repository references are evidence; they are not permission to duplicate another repository’s source.