Messaging Core Principles 1. Wolverine is the recommended default — MIT licensed, combines mediator + messaging in one library with built-in outbox, saga support, and convention-based handlers. MassTransit is an alternative but requires a commercial license from v9. 2. Outbox pattern for reliability — Always use the transactional outbox to ensure messages are published only when the database transaction succeeds. 3. Choreography for simple flows, saga for complex — If a workflow has 2-3 steps, use event choreography. If it has compensating actions or complex state, use a saga. 4. Messages are…