pub struct DeclaredAuthority { /* private fields */ }Expand description
Authority asserted by a guest-side declaration (in-VM cellos-telemetry
agent over the per-cell vsock channel) per ADR-0006.
Permitted rule-classes: RuleClass::GuestAgentDeclaration only —
the envelope is mono-class per ADR-0006 §3. Any other class violates the
type-system gate that prevents guest declarations from being silently
upgraded to host-side epistemic statuses.
Tier ceiling: 1. Epistemic status: EpistemicStatus::Declared.
Binding status: BindingStatus::NotApplicable for single-input
derivations; multi-input declarations remain BindingStatus::Unknown
because no host-side alignment/proof rule can fire alongside.
Type-system discipline: No From/Into impls to or from any other
authority variant. Construction goes only through Self::try_new.
Implementations§
Source§impl DeclaredAuthority
impl DeclaredAuthority
Sourcepub const PERMITTED_CLASSES: &'static [RuleClass]
pub const PERMITTED_CLASSES: &'static [RuleClass]
Permitted rule-classes for this variant. Mono-class envelope per
ADR-0006 §3 — GuestAgentDeclaration is the only legal class.
Sourcepub fn try_new(derivation: AuthorityDerivation) -> Result<Self, ValidationError>
pub fn try_new(derivation: AuthorityDerivation) -> Result<Self, ValidationError>
Construct a DeclaredAuthority.
Runs AuthorityDerivation::validate plus the mono-class envelope
check (any class other than GuestAgentDeclaration is rejected with
ValidationError::TypeClassIncompatible).
§Errors
Returns the first ValidationError encountered.
Sourcepub fn derivation(&self) -> &AuthorityDerivation
pub fn derivation(&self) -> &AuthorityDerivation
Read-only access to the validated derivation.
Sourcepub fn output(&self) -> AuthorityOutput
pub fn output(&self) -> AuthorityOutput
Convenience accessor for the output tuple.
Trait Implementations§
Source§impl Clone for DeclaredAuthority
impl Clone for DeclaredAuthority
Source§fn clone(&self) -> DeclaredAuthority
fn clone(&self) -> DeclaredAuthority
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 DeclaredAuthority
impl Debug for DeclaredAuthority
Source§impl<'de> Deserialize<'de> for DeclaredAuthority
impl<'de> Deserialize<'de> for DeclaredAuthority
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for DeclaredAuthority
impl PartialEq for DeclaredAuthority
Source§fn eq(&self, other: &DeclaredAuthority) -> bool
fn eq(&self, other: &DeclaredAuthority) -> bool
self and other values to be equal, and is used by ==.