According to the documentation:
:event_id is the UUIDv1 (timeuuid) ID of an event. This is always generated by the client, and should be created when the event happens, not when it is sent to Perhap. This ID will be used to order events.
Since the :event_id is generated by the client, but it also used for ordering of events, how do you preserve out of order events changing state in a way that is not allowed according to the domain? Or do you just allow the impossible thing to happen and require some sort of :invalid_state event to be triggered which could have the system or human take appropriate action?
According to the documentation:
Since the
:event_idis generated by the client, but it also used for ordering of events, how do you preserve out of order events changing state in a way that is not allowed according to the domain? Or do you just allow the impossible thing to happen and require some sort of:invalid_stateevent to be triggered which could have the system or human take appropriate action?