Closed, inspection-only entitlement-source contract.
This boundary describes which rail owns an entitlement operation. It never
delegates to Accrue.Processor and it does not perform billing mutations.
Summary
Types
Callbacks
@callback outcome(capability()) :: {:ok, Accrue.Entitlements.Source.Outcome.t()} | {:error, Exception.t()}
Functions
@spec capabilities() :: [capability()]
@spec states() :: [state()]