ADR-005: Domain boundaries
Date: 2026-04-28 Status: Accepted
Context
Baseleg spans multiple operational concerns (people, aircraft, scheduling, training, billing, compliance). Without boundaries, the codebase will quickly become tangled.
Decision
Use bounded contexts with the initial v1 spine focused on:
- People
- Aircraft
- Scheduling
Other contexts exist but are intentionally shallow until the spine is stable:
- Training, Billing, Compliance, Notifications, Reporting
Consequences
- Each context has its own domain and application packages.
- Cross-context coupling should be explicit and documented.
Alternatives considered
- Single “core” module (increases coupling and slows change)