pub struct ExportEnvelopeV2 {
pub envelope_id: EnvelopeId,
pub schema_version: String,
pub content_digest: ContentDigest,
pub source_authority: String,
pub scope_key: ScopeKey,
pub trace_ctx: Option<TraceCtx>,
pub exported_at: String,
pub export_meta: Option<ForgeExportMeta>,
pub evidence_bundle: Option<EvidenceBundle>,
pub records: Vec<ExportRecord>,
}Expand description
Forge-owned export envelope containing projection data plus the canonical evidence bundle that produced those projections.
The bridge remains deterministic and non-semantic: it may transform the
projection records and carry the source schema version forward, but it does
not reinterpret or mutate the embedded evidence bundle. For digest
stability, envelope/export timestamps, ForgeExportMeta::exported_at, and
the embedded bundle’s created_at timestamp are treated as metadata rather
than projection content.
Fields§
§envelope_id: EnvelopeIdUnique envelope identity, assigned by Forge.
schema_version: StringAlways "export_envelope_v2" for this version.
content_digest: ContentDigestBLAKE3 content digest for idempotent deduplication.
Forge or other producing authority.
scope_key: ScopeKeyTarget scope for all records in this envelope.
trace_ctx: Option<TraceCtx>Cross-crate trace context.
exported_at: StringISO 8601 timestamp of when this envelope was exported.
export_meta: Option<ForgeExportMeta>Optional export metadata retained as first-class provenance.
evidence_bundle: Option<EvidenceBundle>Canonical Forge evidence substrate backing the projected records.
records: Vec<ExportRecord>The export records.
Implementations§
Source§impl ExportEnvelopeV2
impl ExportEnvelopeV2
Sourcepub fn validate(&self) -> Result<(), ExportEnvelopeError>
pub fn validate(&self) -> Result<(), ExportEnvelopeError>
Validate envelope structure.
Sourcepub fn compute_digest(
source_authority: &str,
scope_key: &ScopeKey,
records: &[ExportRecord],
export_meta: Option<&ForgeExportMeta>,
evidence_bundle: Option<&EvidenceBundle>,
) -> Result<ContentDigest, ExportEnvelopeError>
pub fn compute_digest( source_authority: &str, scope_key: &ScopeKey, records: &[ExportRecord], export_meta: Option<&ForgeExportMeta>, evidence_bundle: Option<&EvidenceBundle>, ) -> Result<ContentDigest, ExportEnvelopeError>
Compute the canonical content digest for this envelope’s content.
Source§impl ExportEnvelopeV2
impl ExportEnvelopeV2
Sourcepub fn enrich_to_v3(&self) -> Result<ExportEnvelopeV3, ExportEnvelopeError>
pub fn enrich_to_v3(&self) -> Result<ExportEnvelopeV3, ExportEnvelopeError>
Enrich a V2 envelope into a V3 envelope by lifting any already-exported metadata into typed kernel semantics. Missing fields remain absent.
Trait Implementations§
Source§impl Clone for ExportEnvelopeV2
impl Clone for ExportEnvelopeV2
Source§fn clone(&self) -> ExportEnvelopeV2
fn clone(&self) -> ExportEnvelopeV2
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 ExportEnvelopeV2
impl Debug for ExportEnvelopeV2
Source§impl<'de> Deserialize<'de> for ExportEnvelopeV2
impl<'de> Deserialize<'de> for ExportEnvelopeV2
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>,
Source§impl From<ExportEnvelopeV1> for ExportEnvelopeV2
impl From<ExportEnvelopeV1> for ExportEnvelopeV2
Source§fn from(value: ExportEnvelopeV1) -> Self
fn from(value: ExportEnvelopeV1) -> Self
Source§impl JsonSchema for ExportEnvelopeV2
impl JsonSchema for ExportEnvelopeV2
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read more