ADR-0005: Monorepo delivery
Status: accepted Date: 2026-08-31 Deciders: platform maintainers Supersedes: none Superseded by: none
Context
The Go services share a module and platform package; web applications share a pnpm workspace, UI package, and generated contracts. Splitting repositories would replace atomic contract changes with version choreography and duplicate pipeline policy.
Decision
Keep one repository with path-based ownership, impact analysis, sharded tests, and per-component images/changelogs. A component may be extracted only when it has an independent owner and release cadence, no cross-repository atomic change for two consecutive minor releases, and measured CI or access-control cost that cannot be solved with path gates.
Consequences
Main remains one integration line, while deployables retain independent images and rollback. CI must avoid rebuilding unrelated components and contracts stay committed with their producers and consumers.