pub struct EvidenceBundle {
pub schema: u32,
pub backend_id: String,
pub backend_version: String,
pub program_digest: String,
pub dispatch_policy: String,
pub digest_ledger: EvidenceDigestLedger,
pub source: SourceProvenance,
pub timing: DispatchTimingEvidence,
pub artifacts: Vec<EvidenceArtifact>,
pub replay: Option<ReplayEvidence>,
}Expand description
Shared evidence bundle for dispatch, benchmark, conformance, and replay surfaces.
Fields§
§schema: u32Bundle schema version.
backend_id: StringBackend that produced the result or artifact.
backend_version: StringBackend implementation version.
program_digest: StringCanonical normalized Program digest as lowercase hex.
dispatch_policy: StringDispatch policy fields that affect generated backend code.
digest_ledger: EvidenceDigestLedgerVersioned digest ledger binding Program, workload, source, and backend environment identity.
source: SourceProvenanceSource provenance for the code that produced this evidence.
timing: DispatchTimingEvidenceTiming evidence for the dispatch or run.
artifacts: Vec<EvidenceArtifact>Artifacts referenced by this bundle.
replay: Option<ReplayEvidence>Replay metadata when a replay capsule exists.
Implementations§
Source§impl EvidenceBundle
impl EvidenceBundle
Sourcepub fn for_program(
backend: &dyn VyreBackend,
program: &Program,
config: &DispatchConfig,
source: SourceProvenance,
) -> Result<Self, BackendError>
pub fn for_program( backend: &dyn VyreBackend, program: &Program, config: &DispatchConfig, source: SourceProvenance, ) -> Result<Self, BackendError>
Build an evidence bundle for a backend/program/config tuple.
§Errors
Returns BackendError when the Program cannot be fingerprinted or
provenance is too weak to emit.
Sourcepub fn with_timed_dispatch(self, result: &TimedDispatchResult) -> Self
pub fn with_timed_dispatch(self, result: &TimedDispatchResult) -> Self
Attach timing from a backend dispatch result.
Sourcepub fn with_artifact(self, artifact: EvidenceArtifact) -> Self
pub fn with_artifact(self, artifact: EvidenceArtifact) -> Self
Attach an artifact row.
Sourcepub fn with_replay(self, replay: ReplayEvidence) -> Self
pub fn with_replay(self, replay: ReplayEvidence) -> Self
Attach replay metadata.
Sourcepub fn validate(&self) -> Result<(), BackendError>
pub fn validate(&self) -> Result<(), BackendError>
Validate the bundle’s load-bearing fields.
§Errors
Returns BackendError::InvalidProgram when a bundle is missing a
required identity field or carries malformed digest metadata.
Trait Implementations§
Source§impl Clone for EvidenceBundle
impl Clone for EvidenceBundle
Source§fn clone(&self) -> EvidenceBundle
fn clone(&self) -> EvidenceBundle
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 EvidenceBundle
impl Debug for EvidenceBundle
Source§impl<'de> Deserialize<'de> for EvidenceBundle
impl<'de> Deserialize<'de> for EvidenceBundle
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 EvidenceBundle
Source§impl PartialEq for EvidenceBundle
impl PartialEq for EvidenceBundle
Source§fn eq(&self, other: &EvidenceBundle) -> bool
fn eq(&self, other: &EvidenceBundle) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for EvidenceBundle
impl Serialize for EvidenceBundle
impl StructuralPartialEq for EvidenceBundle
Auto Trait Implementations§
impl Freeze for EvidenceBundle
impl RefUnwindSafe for EvidenceBundle
impl Send for EvidenceBundle
impl Sync for EvidenceBundle
impl Unpin for EvidenceBundle
impl UnsafeUnpin for EvidenceBundle
impl UnwindSafe for EvidenceBundle
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.