Skip to content

ADR 001 Repository Ownership Boundaries

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.

Use four repositories with one owner per artifact:

RepositoryAuthority
contract-repoOpenAPI, JSON Schema, generated TypeScript and Python contracts
backend-repoDomain, application, adapters, interfaces, Supabase migrations
frontend-repoAstro pages, Atomic Design UI, NanoStores interaction state
assembly-repoIntegration 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: implemented covers repository ownership split. It does not claim every feature or cross-repository workflow is complete.

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.