pub enum NotAuthoritativeReason {
Show 19 variants
ReceiptSignatureInvalid,
SignerNotAdmitted,
NotMediatedDecision,
NotPreventBoundary,
ObservationOutcomePresent,
NotMediatedTrustLevel,
NotAllowDecision,
MissingBudgetAuthority,
HoldNotReconciled,
ExposureNotCommitted,
NonceLinkMissing,
NonceLinkMismatch,
ReservedHoldMismatch,
NonceBindingMismatch {
field: &'static str,
},
NonceSignatureInvalid,
MissingOrWrongMediatedSpendProfile,
GuaranteeLevelBelowFloor {
minimum: String,
actual: String,
},
UnknownGuaranteeFloor {
minimum: String,
},
UnknownGuaranteeLevel {
actual: String,
},
}Expand description
Distinct rejection reasons; each of the (a)-(f) conjunction fragments maps to at least one variant so a conformance matrix can flip them independently.
Variants§
ReceiptSignatureInvalid
SignerNotAdmitted
NotMediatedDecision
NotPreventBoundary
ObservationOutcomePresent
NotMediatedTrustLevel
NotAllowDecision
MissingBudgetAuthority
HoldNotReconciled
ExposureNotCommitted
NonceLinkMissing
NonceLinkMismatch
ReservedHoldMismatch
The presented nonce cryptographically names a reserved budget hold that
differs from the receipt’s committed budget_authority.hold_id. The
nonce id links the two artifacts, but the hold the nonce reserved is not
the hold this receipt settled, so the receipt is not authoritative for
the presented nonce. Fail-closed on this cross-binding inconsistency.
NonceBindingMismatch
NonceSignatureInvalid
MissingOrWrongMediatedSpendProfile
The receipt’s budget-authority block does not pin the frozen
MEDIATED_SPEND_PROFILE, so its contract shape is unversioned or a
different version than the consumer requires.
GuaranteeLevelBelowFloor
The receipt’s guarantee level is weaker than the operator-configured
floor (R4 truthfulness). Unrelated to TrustLevel::Mediated.
UnknownGuaranteeFloor
The operator-configured guarantee floor is not a recognized level, so it cannot be ranked. Fail-closed rather than admitting every receipt.
UnknownGuaranteeLevel
The receipt’s own guarantee level is not a recognized level, so its truthfulness claim cannot be ranked. An unrecognized level ranks as the weakest, which would silently clear the weakest valid floor; fail-closed instead so a typoed or forged level never passes as authoritative.
Trait Implementations§
Source§impl Clone for NotAuthoritativeReason
impl Clone for NotAuthoritativeReason
Source§fn clone(&self) -> NotAuthoritativeReason
fn clone(&self) -> NotAuthoritativeReason
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more