ADR-003 · apps/client · Ratified
ADR-003: Vertical Domain Slicing Over Horizontal Technical Layers
Organize domain logic into 24 isolated vertical slices communicating only via public service contracts or NATS events.
Context
A 114-model schema shared across properties, projects, verifications, escrow, and stores risks turning into a tightly coupled ball of mud.
Decision
Partition business logic into 24 vertical slices (properties, projects, verifications, escrow, licenses, gdpr, etc.). Slices may never import another slice’s repository.ts.
Consequences
Each slice can evolve or be extracted into a standalone microservice (as we did with apps/verification-ops) without untangling cross-slice queries.