Use this for domains like orders, payments, or inventory where change history tracking matters and you need audit logs explaining 'why this state occurred.' Describe the domain model to get an event sourcing architecture with event store design, CQRS separation, and snapshot strategies — with code.