The message repository's core: conversations, participants and messages
as plain domain types, the ports around them (ConversationManager,
ConversationRepository, MessageRepository) and the ConversationService
use case. No storage, no Spring, no Jackson — depend on this when you
only speak the domain; the adapters live in mc-message-repository.