pub struct LiabilityClaimAdjudicationArtifact {
pub schema: String,
pub adjudication_id: String,
pub issued_at: u64,
pub dispute: SignedExportEnvelope<LiabilityClaimDisputeArtifact>,
pub adjudicator: String,
pub outcome: LiabilityClaimAdjudicationOutcome,
pub awarded_amount: Option<MonetaryAmount>,
pub note: Option<String>,
pub decision_rule_ref: Option<String>,
pub roster_anchor_ref: Option<String>,
pub evidence_refs: Vec<LiabilityClaimEvidenceReference>,
}Fields§
§schema: String§adjudication_id: String§issued_at: u64§dispute: SignedExportEnvelope<LiabilityClaimDisputeArtifact>§adjudicator: String§outcome: LiabilityClaimAdjudicationOutcome§awarded_amount: Option<MonetaryAmount>§note: Option<String>§decision_rule_ref: Option<String>Predeclared decision rule or circuit-breaker condition id the adjudication applied (ADR-0015 follow-up B). Optional and omitted when absent so existing signed fixtures keep byte-stable canonical JSON.
roster_anchor_ref: Option<String>Id or hash of the signed roster artifact the adjudicator was checked against (ADR-0015 follow-up B anchoring). Records which ex-ante roster was applied so the check is auditable and not per-adjudication fabricable.
evidence_refs: Vec<LiabilityClaimEvidenceReference>Implementations§
Source§impl LiabilityClaimAdjudicationArtifact
impl LiabilityClaimAdjudicationArtifact
pub fn validate(&self) -> Result<(), String>
Sourcepub fn validate_against_roster(
&self,
roster: &[String],
allowed_decision_rules: &[String],
roster_anchor: &str,
) -> Result<(), String>
pub fn validate_against_roster( &self, roster: &[String], allowed_decision_rules: &[String], roster_anchor: &str, ) -> Result<(), String>
Fail-closed policy gate for ADR-0015 follow-up B.
Requires the adjudicator to be an exact (trimmed) member of the
operator-supplied predeclared roster, requires decision_rule_ref to
be present and a member of allowed_decision_rules, and requires the
recorded roster_anchor_ref to equal roster_anchor (the id/hash of the
signed roster artifact the roster was drawn from). Callers pass concrete
values so chio-market needs no dependency on the roster’s source crate.
Trait Implementations§
Source§impl Clone for LiabilityClaimAdjudicationArtifact
impl Clone for LiabilityClaimAdjudicationArtifact
Source§fn clone(&self) -> LiabilityClaimAdjudicationArtifact
fn clone(&self) -> LiabilityClaimAdjudicationArtifact
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'de> Deserialize<'de> for LiabilityClaimAdjudicationArtifact
impl<'de> Deserialize<'de> for LiabilityClaimAdjudicationArtifact
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<LiabilityClaimAdjudicationArtifact, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<LiabilityClaimAdjudicationArtifact, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for LiabilityClaimAdjudicationArtifact
impl Serialize for LiabilityClaimAdjudicationArtifact
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for LiabilityClaimAdjudicationArtifact
Auto Trait Implementations§
impl Freeze for LiabilityClaimAdjudicationArtifact
impl RefUnwindSafe for LiabilityClaimAdjudicationArtifact
impl Send for LiabilityClaimAdjudicationArtifact
impl Sync for LiabilityClaimAdjudicationArtifact
impl Unpin for LiabilityClaimAdjudicationArtifact
impl UnsafeUnpin for LiabilityClaimAdjudicationArtifact
impl UnwindSafe for LiabilityClaimAdjudicationArtifact
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more