Effect shell for the functional core.
The interpreter records an intent before calling a runtime capability and never calls that capability when the journal already has a result for the same effect id.
Summary
Functions
@spec interpret_pending( Jidoka.Turn.State.t(), Jidoka.Runtime.Capabilities.t(), keyword() ) :: {:ok, Jidoka.Effect.Result.t(), Jidoka.Turn.State.t()} | {:interrupt, Jidoka.Review.Interrupt.t(), Jidoka.Turn.State.t()} | {:error, term()}