Since command handlers convert commands into events, they are also responsible for validating the commands. If a command is not correctly made, or could not emit events due to the state it should not emit any events.
This is because an event holds actual change, and not the promise or failure or a change.
Reference
Hoffman, Kevin. Real-World Event Sourcing: Distribute, Evolve, and Scale Your Elixir Applications. The Pragmatic Bookshelf, 2025. The Pragmatic Programmers.
Highlights or timestamps
Transclude of 1756163751-real-world-event-sourcing#^000003
Transclude of 1756163751-real-world-event-sourcing#^000004