Skip to content

ADR-004 — Modular Monolith First

Status: Proposed

Decision

Implement the initial NestJS backend as a modular monolith with explicit engine ownership and API/event boundaries. Deploy background workers separately where operationally useful. Extract services only when justified by scale, reliability, independent deployment or team ownership.

Rationale

The migration already contains significant domain redesign and multi-tenancy risk. Premature distributed transactions/service operations would increase delivery risk without proving business value.