pub struct ExportEnvelopeV1 {
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 records: Vec<ExportRecord>,
}ExportEnvelopeV1 is compatibility-only. Use ExportEnvelopeV3 as the canonical export contract.
Expand description
Forge-owned export envelope containing projection data.
The content digest covers: source_authority, scope_key, and all
records (serialized with canonical JSON). The envelope_id,
exported_at, and trace_ctx are excluded from the digest because
they are metadata about the export, not the projection content.
Phase status: migration-only
Removal condition: remove when all consumers have migrated to ExportEnvelopeV3
Fields§
§envelope_id: EnvelopeIdExportEnvelopeV1 is compatibility-only. Use ExportEnvelopeV3 as the canonical export contract.
Unique envelope identity, assigned by Forge.
schema_version: StringExportEnvelopeV1 is compatibility-only. Use ExportEnvelopeV3 as the canonical export contract.
Always "export_envelope_v1" for this version.
content_digest: ContentDigestExportEnvelopeV1 is compatibility-only. Use ExportEnvelopeV3 as the canonical export contract.
BLAKE3 content digest for idempotent deduplication.
ExportEnvelopeV1 is compatibility-only. Use ExportEnvelopeV3 as the canonical export contract.
Forge or other producing authority.
scope_key: ScopeKeyExportEnvelopeV1 is compatibility-only. Use ExportEnvelopeV3 as the canonical export contract.
Target scope for all records in this envelope.
trace_ctx: Option<TraceCtx>ExportEnvelopeV1 is compatibility-only. Use ExportEnvelopeV3 as the canonical export contract.
Cross-crate trace context.
exported_at: StringExportEnvelopeV1 is compatibility-only. Use ExportEnvelopeV3 as the canonical export contract.
ISO 8601 timestamp of when this envelope was exported.
records: Vec<ExportRecord>ExportEnvelopeV1 is compatibility-only. Use ExportEnvelopeV3 as the canonical export contract.
The export records.
Implementations§
Source§impl ExportEnvelopeV1
impl ExportEnvelopeV1
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],
) -> Result<ContentDigest, ExportEnvelopeError>
pub fn compute_digest( source_authority: &str, scope_key: &ScopeKey, records: &[ExportRecord], ) -> Result<ContentDigest, ExportEnvelopeError>
Compute the canonical content digest for this envelope’s content.
Trait Implementations§
Source§impl Clone for ExportEnvelopeV1
impl Clone for ExportEnvelopeV1
Source§fn clone(&self) -> ExportEnvelopeV1
fn clone(&self) -> ExportEnvelopeV1
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 ExportEnvelopeV1
impl Debug for ExportEnvelopeV1
Source§impl<'de> Deserialize<'de> for ExportEnvelopeV1
impl<'de> Deserialize<'de> for ExportEnvelopeV1
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 ExportEnvelopeV1
impl JsonSchema for ExportEnvelopeV1
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