Struct PackageExecutionBindingV1
pub struct PackageExecutionBindingV1 { /* private fields */ }Description
Content-addressed lineage from an exact package compilation through one typed Realization to one typed Run.
The edge binds identities only. It neither attests execution nor proves numerical acceptance. The composing application layer must validate the concrete Model, Realization, and Run artifacts before constructing it.
Implementations§
§impl PackageExecutionBindingV1
impl PackageExecutionBindingV1
pub fn new(
compilation: &PackageCompilationRecordV1,
semantic_revision: u64,
realization_sha256: CanonicalRealizationDigest,
run_sha256: CanonicalRunDigest,
) -> Result<PackageExecutionBindingV1, ContractError>
pub fn new( compilation: &PackageCompilationRecordV1, semantic_revision: u64, realization_sha256: CanonicalRealizationDigest, run_sha256: CanonicalRunDigest, ) -> Result<PackageExecutionBindingV1, ContractError>
Bind externally validated typed execution identities to one exact package compilation.
pub fn from_json(
bytes: &[u8],
) -> Result<PackageExecutionBindingV1, ContractError>
pub fn from_json( bytes: &[u8], ) -> Result<PackageExecutionBindingV1, ContractError>
Decode and locally validate one bounded lineage edge.
Concrete external artifacts must subsequently be supplied to
Self::validate_against.
pub fn canonical_json(&self) -> Result<Vec<u8>, ContractError>
pub fn canonical_json(&self) -> Result<Vec<u8>, ContractError>
Emit deterministic canonical JSON.
pub fn digest(&self) -> Result<PackageExecutionBindingDigest, ContractError>
pub fn digest(&self) -> Result<PackageExecutionBindingDigest, ContractError>
Domain-separated identity of the complete lineage edge.
pub fn validate_against(
&self,
compilation: &PackageCompilationRecordV1,
semantic_revision: u64,
realization_sha256: CanonicalRealizationDigest,
run_sha256: CanonicalRunDigest,
) -> Result<(), ContractError>
pub fn validate_against( &self, compilation: &PackageCompilationRecordV1, semantic_revision: u64, realization_sha256: CanonicalRealizationDigest, run_sha256: CanonicalRunDigest, ) -> Result<(), ContractError>
Replay every exact identity named by this edge.
This verifies content linkage only. The caller remains responsible for validating the concrete typed artifacts before invoking this check.
pub const fn model_digest(&self) -> CanonicalModelDigest
pub const fn model_digest(&self) -> CanonicalModelDigest
Canonical Model shared by compilation, Realization, and Run.
pub const fn semantic_revision(&self) -> u64
pub const fn semantic_revision(&self) -> u64
Exact semantic revision shared by the typed artifacts.
pub const fn compilation_digest(&self) -> PackageCompilationDigest
pub const fn compilation_digest(&self) -> PackageCompilationDigest
Exact package-compilation record linked by this edge.
pub const fn realization_schema(&self) -> BoundRealizationSchemaV1
pub const fn realization_schema(&self) -> BoundRealizationSchemaV1
Closed schema of the linked Realization.
pub const fn realization_digest(&self) -> CanonicalRealizationDigest
pub const fn realization_digest(&self) -> CanonicalRealizationDigest
Externally computed identity of the linked Realization.
pub const fn run_schema(&self) -> BoundExecutionRunSchemaV1
pub const fn run_schema(&self) -> BoundExecutionRunSchemaV1
Closed schema of the linked typed Run.
pub const fn run_digest(&self) -> CanonicalRunDigest
pub const fn run_digest(&self) -> CanonicalRunDigest
Externally computed identity of the linked typed Run.
Trait Implementations§
§impl Clone for PackageExecutionBindingV1
impl Clone for PackageExecutionBindingV1
§impl Debug for PackageExecutionBindingV1
impl Debug for PackageExecutionBindingV1
§impl<'de> Deserialize<'de> for PackageExecutionBindingV1
impl<'de> Deserialize<'de> for PackageExecutionBindingV1
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PackageExecutionBindingV1, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PackageExecutionBindingV1, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl PartialEq for PackageExecutionBindingV1
impl PartialEq for PackageExecutionBindingV1
§fn eq(&self, other: &PackageExecutionBindingV1) -> bool
fn eq(&self, other: &PackageExecutionBindingV1) -> bool
self and other values to be equal, and is used by ==.§impl Serialize for PackageExecutionBindingV1
impl Serialize for PackageExecutionBindingV1
§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 Eq for PackageExecutionBindingV1
impl StructuralPartialEq for PackageExecutionBindingV1
Auto Trait Implementations§
impl Freeze for PackageExecutionBindingV1
impl RefUnwindSafe for PackageExecutionBindingV1
impl Send for PackageExecutionBindingV1
impl Sync for PackageExecutionBindingV1
impl Unpin for PackageExecutionBindingV1
impl UnsafeUnpin for PackageExecutionBindingV1
impl UnwindSafe for PackageExecutionBindingV1
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
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, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Source§impl<T> From<T> for T
impl<T> From<T> for T
Source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
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>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
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§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.