Struct ExecutionProvenanceV1
pub struct ExecutionProvenanceV1 { /* private fields */ }Description
Typed backend, library, topology, and reduction provenance for one run.
Implementations§
§impl ExecutionProvenanceV1
impl ExecutionProvenanceV1
pub fn new(
adapter: impl Into<String>,
adapter_version: impl Into<String>,
solver_backend: impl Into<String>,
solver_backend_version: impl Into<String>,
topology: ExecutionTopologyV1,
reduction: ReductionPolicy,
) -> Result<ExecutionProvenanceV1, Diagnostic>
pub fn new( adapter: impl Into<String>, adapter_version: impl Into<String>, solver_backend: impl Into<String>, solver_backend_version: impl Into<String>, topology: ExecutionTopologyV1, reduction: ReductionPolicy, ) -> Result<ExecutionProvenanceV1, Diagnostic>
Construct validated execution provenance.
§Errors
Returns EQ0901 for empty/control-containing identities or invalid
target-specific topology data.
pub fn from_provider_releases<I, N, V>(
solver: SolverProvider,
execution: ExecutionProvider,
topology: ExecutionTopologyV1,
reduction: ReductionPolicy,
additional_components: I,
) -> Result<ExecutionProvenanceV1, Diagnostic>where
I: IntoIterator<Item = (N, V)>,
N: Into<String>,
V: Into<String>,
pub fn from_provider_releases<I, N, V>(
solver: SolverProvider,
execution: ExecutionProvider,
topology: ExecutionTopologyV1,
reduction: ReductionPolicy,
additional_components: I,
) -> Result<ExecutionProvenanceV1, Diagnostic>where
I: IntoIterator<Item = (N, V)>,
N: Into<String>,
V: Into<String>,
Construct v1 execution provenance from the two primary provider releases and additional observed runtime components.
Provider dependency releases and runtime observations enter one sorted component inventory. Repeated equal observations are deduplicated; conflicting versions under one component name fail closed. This does not turn the flat v1 inventory into a role-preserving provider graph.
§Errors
Returns EQ0901 for an invalid provider, component, topology, or a
contradictory component version.
pub fn with_library(
self,
component: impl Into<String>,
version: impl Into<String>,
) -> Result<ExecutionProvenanceV1, Diagnostic>
pub fn with_library( self, component: impl Into<String>, version: impl Into<String>, ) -> Result<ExecutionProvenanceV1, Diagnostic>
Add one resolved library/runtime version.
§Errors
Returns EQ0901 for an invalid/duplicate component name or invalid
version text.
pub fn adapter_version(&self) -> &str
pub fn adapter_version(&self) -> &str
Resolved execution adapter version.
pub fn solver_backend(&self) -> &str
pub fn solver_backend(&self) -> &str
Stable solver backend identity, separate from operator placement.
pub fn solver_backend_version(&self) -> &str
pub fn solver_backend_version(&self) -> &str
Resolved solver backend version.
pub fn topology(&self) -> Result<ExecutionTopologyV1, Diagnostic>
pub fn topology(&self) -> Result<ExecutionTopologyV1, Diagnostic>
pub const fn reduction(&self) -> ReductionPolicy
pub const fn reduction(&self) -> ReductionPolicy
Numerical reduction policy actually used.
pub const fn libraries(&self) -> &BTreeMap<String, String>
pub const fn libraries(&self) -> &BTreeMap<String, String>
Sorted library/runtime version map.
pub fn agreement_fingerprint(
&self,
) -> Result<ExecutionProvenanceFingerprintV1, Diagnostic>
pub fn agreement_fingerprint( &self, ) -> Result<ExecutionProvenanceFingerprintV1, Diagnostic>
Compute a stable identity over the complete validated runtime observation.
This identity supports in-memory agreement and does not turn execution provenance into a standalone durable artifact.
§Errors
Returns EQ0901 if canonical serialization unexpectedly fails.
Trait Implementations§
§impl Clone for ExecutionProvenanceV1
impl Clone for ExecutionProvenanceV1
§impl Debug for ExecutionProvenanceV1
impl Debug for ExecutionProvenanceV1
§impl PartialEq for ExecutionProvenanceV1
impl PartialEq for ExecutionProvenanceV1
§fn eq(&self, other: &ExecutionProvenanceV1) -> bool
fn eq(&self, other: &ExecutionProvenanceV1) -> bool
self and other values to be equal, and is used by ==.impl Eq for ExecutionProvenanceV1
impl StructuralPartialEq for ExecutionProvenanceV1
Auto Trait Implementations§
impl Freeze for ExecutionProvenanceV1
impl RefUnwindSafe for ExecutionProvenanceV1
impl Send for ExecutionProvenanceV1
impl Sync for ExecutionProvenanceV1
impl Unpin for ExecutionProvenanceV1
impl UnsafeUnpin for ExecutionProvenanceV1
impl UnwindSafe for ExecutionProvenanceV1
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.