State Machines (id_effect_fsm)

The id_effect_fsm crate adds typed finite-state machines, sagas, and linear session types on top of id_effect. It is the Phase FP FSM slice from the FP Kitchen Sink roadmap.

Why FSMs in an effect library?

Business logic often has explicit states (order lifecycle, connection handshake, approval gates). A pure transition table keeps routing declarative; Effect programs attach side effects at the edges via run_blocking.

Crate layout

When to use workflow bridge

For single-process restart resume, pair FSM stepping with id_effect_workflow. For multi-service orchestration, prefer an external engine (Temporal, Step Functions).