Hsmmaelstrom -
State: Processing. An unexpected event arrives — not an error, just unlikely . The guard condition frays. The machine forks. Two regions of the orthogonal HSM wake simultaneously. They send signals across the boundary without a handshake. A transition is taken before the exit action completes.
– none. The HSMMaelstrom does not crash. It recursively deepens. Every attempted reset initializes a new layer beneath the current chaos, leaving the old one to rotate forever as a shadow state.
And below it, in silent comment: // TODO: add exit action before destruction. HSMMaelstrom
The HSMMaelstrom begins where all clean hierarchies end: at the edge of a state that refuses to settle.
State: Idle. Events queue in neat rows. Transitions are labeled, guarded, deterministic. A parent state smiles down at its children. "Stay within the boundary," it says. The children nod. State: Processing
State: Runaway. All hierarchical containment fails. A state in one region calls changeState on a sibling region, which triggers an ancestor’s entry action, which spawns a temporary orthogonal region, which immediately receives a deferred event from three cycles ago. The stack of active state configurations becomes a tangled tree. Depth-first search for the current state loops.
Recursive Gyre
At the center, a single line of log output, printed once per million cycles: "State entry action returned OK. Next event: (null)."