Make Impossible States Impossible
How explicit state machines turn scattered flags into a finite map of valid app behavior.
episodes
- 001 The bug is impossible combinations Why boolean flags create invalid workflow states, and how named modes remove them. 1
- 002 Name the modes How named states turn scattered flags into a finite map you can draw, count, and reason about. 2
- 003 Events only make sense from somewhere Events are not global commands — each one only makes sense from specific states. 3
- 004 Context is the backpack States describe location. Context carries data. Separating them keeps the graph small. 4
- 005 Guards are doors Guards make conditional transitions visible — conditions on arrows, not hidden branches in handlers. 5
- 006 Effects live on the edges Side effects belong on transitions, not buried in handlers. XState calls them actions. 6
- 007 The machine is not the process The machine is an immutable blueprint. The actor is the running instance that receives events and produces snapshots. 7
- 008 The complete picture Everything in one place — states, context, guards, and effects. The complete machine. 8