Reduces a %Spectre.Result{} into the host's next lifecycle decision.
Decisions are intentionally closed over lifecycle, while effect and awaitable kinds remain open data.
Summary
Functions
Decides what the host should do next for a result.
Functions
@spec decide(Spectre.Result.t()) :: Spectre.Turn.decision()
Decides what the host should do next for a result.
Authoritative pending state is read through Spectre.Result, so a host does
not lose an open policy or pending effect when a transition-local list is
omitted while reconstructing a result.