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
Command handlers should never be considered as merely “blindly converting a command into an event that occurred in the past.”
— highlight from Highlights of Real-World Event Sourcing
Since nothing happened as a result of this command, no event was emitted.
— highlight from Highlights of Real-World Event Sourcing