Event sourcing, and the two things that break
Neither of them is the fold. Determinism is lost somewhere else entirely.
Lesson 02 of 06 · 10 min
The definition is deliberately narrow: capture all changes as a sequence of events, stored in the order applied. The falsifiable test is the one that matters — you can discard application state completely and rebuild it by re-running the events on an empty application.
If you cannot delete your tables and rebuild from the log, you do not have event sourcing. You have an event log next to a database.
Where does replay determinism actually leak first?
The rest of this lesson unlocks when you commit above.