Pragmatic hybrid style coined by the Trezy team (half-jokingly 'all rights reserved'): start from a CRUD Rails codebase, introduce events where they add value, extract aggregates for critical invariants, and eventually separate read/write models only where the business considers that area important. The same transaction can write both the aggregate's event stream and a legacy CRUD read-model row so the team can adopt event sourcing gradually without rewriting half the system or introducing a second database.