pub enum TrustExchangeAdmission {
AdmitCandidate {
forbidden_uses: Vec<ForbiddenUse>,
policy_decision: PolicyDecision,
},
Quarantine {
quarantines: Vec<TrustExchangeFieldError>,
named_quarantine_outputs: NamedQuarantineOutputs,
policy_decision: PolicyDecision,
forbidden_uses: Vec<ForbiddenUse>,
},
Reject {
rejects: Vec<TrustExchangeFieldError>,
quarantines: Vec<TrustExchangeFieldError>,
named_quarantine_outputs: NamedQuarantineOutputs,
policy_decision: PolicyDecision,
},
}Expand description
Final admission decision for a pai-axiom trust exchange admission.
Variants§
AdmitCandidate
Admitted only as a Cortex memory candidate.
Fields
forbidden_uses: Vec<ForbiddenUse>Authority-bearing uses forbidden on every AdmitCandidate path.
policy_decision: PolicyDecisionADR 0026 composed policy decision.
Quarantine
Quarantine path — record retained but cannot promote.
Fields
quarantines: Vec<TrustExchangeFieldError>Stable invariant failures triggering quarantine.
named_quarantine_outputs: NamedQuarantineOutputsNamed per-source quarantine outputs (ADR 0042 §7).
policy_decision: PolicyDecisionADR 0026 composed policy decision.
forbidden_uses: Vec<ForbiddenUse>Forbidden uses still apply to quarantined records.
Reject
Hard refusal — no record retained as candidate.
Fields
rejects: Vec<TrustExchangeFieldError>Stable invariant failures triggering rejection.
quarantines: Vec<TrustExchangeFieldError>Co-occurring quarantine signals (for diagnostics only).
named_quarantine_outputs: NamedQuarantineOutputsNamed per-source quarantine outputs (ADR 0042 §7).
policy_decision: PolicyDecisionADR 0026 composed policy decision.
Implementations§
Source§impl TrustExchangeAdmission
impl TrustExchangeAdmission
Sourcepub const fn decision_name(&self) -> &'static str
pub const fn decision_name(&self) -> &'static str
Stable machine-readable name of the decision branch.
Sourcepub fn named_quarantine_outputs(&self) -> Option<&NamedQuarantineOutputs>
pub fn named_quarantine_outputs(&self) -> Option<&NamedQuarantineOutputs>
Returns the named quarantine outputs of the decision when present.
Sourcepub fn policy_decision(&self) -> &PolicyDecision
pub fn policy_decision(&self) -> &PolicyDecision
Returns the composed ADR 0026 policy decision.
Sourcepub fn invariants(&self) -> Vec<&str>
pub fn invariants(&self) -> Vec<&str>
Returns the stable invariant names contributing to this decision.
Sourcepub fn forbidden_uses(&self) -> Option<&[ForbiddenUse]>
pub fn forbidden_uses(&self) -> Option<&[ForbiddenUse]>
Returns the forbidden_uses carried on candidate or quarantined
records. Always present even on quarantine to preserve the
candidate-only invariant.
Trait Implementations§
Source§impl Clone for TrustExchangeAdmission
impl Clone for TrustExchangeAdmission
Source§fn clone(&self) -> TrustExchangeAdmission
fn clone(&self) -> TrustExchangeAdmission
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TrustExchangeAdmission
impl Debug for TrustExchangeAdmission
Source§impl PartialEq for TrustExchangeAdmission
impl PartialEq for TrustExchangeAdmission
Source§fn eq(&self, other: &TrustExchangeAdmission) -> bool
fn eq(&self, other: &TrustExchangeAdmission) -> bool
self and other values to be equal, and is used by ==.impl Eq for TrustExchangeAdmission
impl StructuralPartialEq for TrustExchangeAdmission
Auto Trait Implementations§
impl Freeze for TrustExchangeAdmission
impl RefUnwindSafe for TrustExchangeAdmission
impl Send for TrustExchangeAdmission
impl Sync for TrustExchangeAdmission
impl Unpin for TrustExchangeAdmission
impl UnsafeUnpin for TrustExchangeAdmission
impl UnwindSafe for TrustExchangeAdmission
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.