Crosswake.Companions.Sigra.StepUpCeremony (crosswake v0.1.2)

View Source

Shared Sigra step-up ceremony decision core.

This module is pure and transport-agnostic. It turns route-auth evaluator outcomes into allow, challenge, or deny decisions while host callbacks own persistence, challenge UI routing, and session mutation.

Summary

Functions

evaluate_or_issue(route, auth_context, opts \\ [])

@spec evaluate_or_issue(
  Crosswake.Manifest.Types.RouteEntry.t(),
  Crosswake.Companions.Sigra.Contracts.AuthContext.t() | nil,
  keyword()
) ::
  {:allow, map()}
  | {:challenge, Crosswake.Companions.Sigra.StepUp.StepUpIntentRecord.t(),
     Crosswake.Companions.Sigra.StepUp.StepUpChallenge.t()}
  | {:deny, Crosswake.Shell.Denial.t()}