Command SideWrite model — validates intent, mutates aggregate state, raises domain events
Event BusAsync propagation — events fan out to all registered projections with small lag
Query SideRead model — denormalised, optimised for fast reads. Eventually consistent.