The change and its event are saved in one transaction
A common pattern is to save a record and then publish an event about it. If the process stops between the two steps, the data has changed and no other service knows. Or the event is sent twice and a charge is applied twice. The platform closes this gap. The event is written in the same transaction as the change, so both are saved or neither is. A separate delivery step then sends the event.