Complete composite verification facts, returned only after all selected checks.
mode and unit preserve the configured policy; required lists only required
slot IDs, while satisfied includes assigned required and optional slots in
configured order. count counts deduplicated trusted units, never labels. qualifying records label/slot and caller counting
bindings (principal/role); these are not authenticated attribution. signatures
is a label-keyed map of assigned single-label results and their independent
coverage. A negotiated label can fulfill a challenge without being assigned;
such a label is absent from this map and qualifying.
nonqualifying records bounded reason/layer atoms for ignored labels and failed
slot attempts. No key material or KeyIdentity is retained.
bindings is :not_required or satisfied binding entries. negotiation is
:not_requested or :fulfilled. replay stays :not_required, principal
stays :unattributed, and authorization stays :not_evaluated.
Default inspection includes required/satisfied slot IDs and count but omits
signature labels, counting bindings, signature metadata, and negotiation details.
Summary
Types
@type t() :: %RequestSeal.Quorum.Verification{ authorization: :not_evaluated, bindings: :not_required | [term()], count: non_neg_integer(), mode: term(), negotiation: :not_requested | :fulfilled, nonqualifying: [map()], principal: :unattributed, profile: %{name: :rfc9421}, qualifying: [map()], replay: :not_required, required: [atom()], satisfied: [atom()], signatures: %{required(binary()) => RequestSeal.Verification.t()}, unit: term() }