Separate Structure, Configuration and Lifecycle Calculation
Context
The association map, offering configuration and time calculations serve different readers from individual membership administration. Their boundaries need to remain visible even though they execute within one macroservice.
Decision
This record describes the existing module split. Structure owns unit arrangement and local facets, Configuration owns offering setup, and Terms supplies calculations; Memberships owns operational member work.
Alternatives Considered
Combine all Membership concerns in one module. This would obscure independent readers of structure and the term engine's intended reuse; it is an examination alternative, not a recorded rejection. Move association units into CRM. CRM organization identity does not describe dated association placement or membership affiliations, so that boundary would require a different ownership decision.
Consequences
Each source module has its own API composition and permissions. Merge and deletion explicitly call Memberships persistence inside a local transaction. Member holdings and terms remain outside this module's ownership.