Real Decision
How modules communicate without turning the platform into a dependency graph.
Problem
Business modules need to react to invoices, recurring tasks, privacy requests and workspace activity without becoming tightly coupled to each other's internal implementations.
Decision
Introduced durable domain events as an integration mechanism between modules, allowing new workflows to be added without changing existing services or expanding direct service dependencies.
Why Not
Connect modules through direct synchronous calls everywhere.
Share internal domain logic across modules to avoid integration contracts.