Pattern
Command
Phase handlers as dispatchable commands.
Where: src/flow/phases/*.ts.
The rule: each phase is a self-contained unit with enter,
skip, exit. They're commands: you dispatch one, it runs,
transitions to the next.
Why: phases are testable in isolation. You can also log/record phase transitions for replay or telemetry.