Baseleg Docs

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)