pub struct ModelCardLineageAnchor {Show 14 fields
pub schema_version: String,
pub graph_schema: String,
pub canonical_source: CanonicalSource,
pub digest: FrontierDigest,
pub signing: SigningState,
pub card_canonical_sha256: String,
pub attestation_subject_sha256: String,
pub certificate_identity: String,
pub certificate_oidc_issuer: String,
pub rekor_log_index: u64,
pub rekor_inclusion_verified: bool,
pub weights_hash: String,
pub card_issuer: String,
pub card_expires_at: DateTime<Utc>,
}Expand description
Lineage anchor proof for a published model card.
Produced by anchor_model_card and consumed by
verify_model_card_anchor (and by external lineage-graph consumers
through the existing chio-lineage surface). The shape mirrors
chio_lineage::anchor::AnchoredFrontier so the public registry can
emit one artifact format across both surfaces.
Fields§
§schema_version: StringPinned schema version. MUST equal MODEL_CARD_ANCHOR_SCHEMA.
graph_schema: StringLineage-graph schema this anchor is published alongside.
canonical_source: CanonicalSourceCanonical-bytes source identifier reused from the lineage anchor surface so consumers do not learn a second enum.
digest: FrontierDigestFrontier-shaped digest: SHA-256 over the canonical projection bytes.
signing: SigningStatePQ-hybrid signing state placeholder. Mirrors the lineage anchor soft-dep slot; hybrid signing populates this when wired.
card_canonical_sha256: StringLowercase hexadecimal SHA-256 of the canonical-JSON model card bytes. Pinned in the artifact so consumers can correlate without re-deriving the digest.
attestation_subject_sha256: StringHex-encoded subject_digest_sha256 from the upstream verified
attestation. Equals card_canonical_sha256 when the cosign bundle
signed the model card’s canonical bytes directly; recorded
separately so a future refactor that signs over a different
projection (for example, a higher-level envelope) is detectable
without reading the bundle.
certificate_identity: StringCertificate identity SAN that satisfied the expected-identity regex.
certificate_oidc_issuer: StringOIDC issuer extracted from the Fulcio certificate.
rekor_log_index: u64Rekor transparency log index. 0 if the bundle did not carry one.
rekor_inclusion_verified: booltrue when the bundle’s Rekor inclusion proof verified.
weights_hash: StringCard weights_hash lifted onto the anchor for receipt correlation.
card_issuer: StringCard issuer lifted onto the anchor for receipt correlation.
card_expires_at: DateTime<Utc>Card expires_at lifted so anchor consumers can reason about
liveness without re-parsing the card body.
Implementations§
Trait Implementations§
Source§impl Clone for ModelCardLineageAnchor
impl Clone for ModelCardLineageAnchor
Source§fn clone(&self) -> ModelCardLineageAnchor
fn clone(&self) -> ModelCardLineageAnchor
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 ModelCardLineageAnchor
impl Debug for ModelCardLineageAnchor
Source§impl<'de> Deserialize<'de> for ModelCardLineageAnchor
impl<'de> Deserialize<'de> for ModelCardLineageAnchor
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>,
impl Eq for ModelCardLineageAnchor
Source§impl PartialEq for ModelCardLineageAnchor
impl PartialEq for ModelCardLineageAnchor
Source§impl Serialize for ModelCardLineageAnchor
impl Serialize for ModelCardLineageAnchor
impl StructuralPartialEq for ModelCardLineageAnchor
Auto Trait Implementations§
impl Freeze for ModelCardLineageAnchor
impl RefUnwindSafe for ModelCardLineageAnchor
impl Send for ModelCardLineageAnchor
impl Sync for ModelCardLineageAnchor
impl Unpin for ModelCardLineageAnchor
impl UnsafeUnpin for ModelCardLineageAnchor
impl UnwindSafe for ModelCardLineageAnchor
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.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