Struct ExternalImportManifestV1
pub struct ExternalImportManifestV1 { /* private fields */ }Description
Canonical lineage assertion for one external import attempt.
This manifest keeps three independently content-addressed facts in one
ordered record: complete source occurrences, normalized arrays presented to
Eqiora, and artifacts accepted by Eqiora. Construction and
Self::validate_references establish exact identity linkage only. They do
not prove that a source produced an array or that an array produced an
artifact; only a separately named deterministic format replay may make that
bounded derivation claim.
Implementations§
§impl ExternalImportManifestV1
impl ExternalImportManifestV1
pub fn from_observation(
adapter: ExternalAdapterIdentityV1,
runtime_stack: Vec<ExternalRuntimeComponentV1>,
selection: ExternalImportSelectionV1,
observation: &ExternalImportObservationV1,
mesh: &SimplicialMeshEnvelopeV1,
fields: &[DiscreteFieldEnvelopeV1],
) -> Result<ExternalImportManifestV1, Diagnostic>
pub fn from_observation( adapter: ExternalAdapterIdentityV1, runtime_stack: Vec<ExternalRuntimeComponentV1>, selection: ExternalImportSelectionV1, observation: &ExternalImportObservationV1, mesh: &SimplicialMeshEnvelopeV1, fields: &[DiscreteFieldEnvelopeV1], ) -> Result<ExternalImportManifestV1, Diagnostic>
Capture exact source, normalized-array, and accepted-artifact identities.
Digests are always computed from the supplied complete objects. No caller-provided source/array/artifact digest pair is admitted.
§Errors
Returns EQ0901 for duplicate runtime identities, inconsistent
selection/array/artifact cardinality, invalid field-to-mesh linkage, or
a value that cannot be represented by the portable v1 wire.
pub fn from_json(
bytes: &[u8],
limits: ExternalImportDecoderLimits,
) -> Result<ExternalImportManifestV1, Diagnostic>
pub fn from_json( bytes: &[u8], limits: ExternalImportDecoderLimits, ) -> Result<ExternalImportManifestV1, Diagnostic>
Decode the exact closed DTO under byte, nesting, text, list, rank, and shape-product limits. Decoding performs no I/O and does not replay an adapter.
§Errors
Returns EQ0901 for malformed or unknown data, non-canonical ordering,
invalid cross-references, or any resource-limit excess.
pub fn canonical_json(&self) -> Result<Vec<u8>, Diagnostic>
pub fn canonical_json(&self) -> Result<Vec<u8>, Diagnostic>
pub fn digest(&self) -> Result<ArtifactDigest, Diagnostic>
pub fn digest(&self) -> Result<ArtifactDigest, Diagnostic>
Domain-separated SHA-256 identity of the complete lineage assertion.
§Errors
Returns EQ0901 if canonical serialization fails.
pub const fn adapter(&self) -> &ExternalAdapterIdentityV1
pub const fn adapter(&self) -> &ExternalAdapterIdentityV1
Exact adapter identity named by this assertion.
pub fn runtime_stack(&self) -> &[ExternalRuntimeComponentV1]
pub fn runtime_stack(&self) -> &[ExternalRuntimeComponentV1]
Exact native runtime stack in outer-to-inner call order.
pub const fn selection(&self) -> &ExternalImportSelectionV1
pub const fn selection(&self) -> &ExternalImportSelectionV1
Explicit grid and caller-ordered attribute selection.
pub fn accepted_mesh_artifact(&self) -> ArtifactDigest
pub fn accepted_mesh_artifact(&self) -> ArtifactDigest
Exact accepted mesh artifact identity.
pub fn accepted_field_artifacts(&self) -> Vec<ArtifactDigest>
pub fn accepted_field_artifacts(&self) -> Vec<ArtifactDigest>
Accepted field artifact identities in selection order. Equal identities remain repeated because occurrence order is provenance.
pub fn validate_references(
&self,
observation: &ExternalImportObservationV1,
mesh: &SimplicialMeshEnvelopeV1,
fields: &[DiscreteFieldEnvelopeV1],
) -> Result<(), Diagnostic>
pub fn validate_references( &self, observation: &ExternalImportObservationV1, mesh: &SimplicialMeshEnvelopeV1, fields: &[DiscreteFieldEnvelopeV1], ) -> Result<(), Diagnostic>
Recompute all recorded source, normalized-array, and accepted-artifact identities from independently loaded values and require the complete canonical assertion to match. Adapter identity, runtime stack, and selection remain the manifest’s asserted import plan and are reused unchanged for this comparison.
This is reference validation, not derivation proof. A deliberately cross-wired but internally self-consistent source/array/artifact triple can pass this method; adapter-specific deterministic replay must reject such a triple before issuing a verified-lineage handle.
§Errors
Returns EQ0901 if any independently supplied source byte, normalized
array, mesh, field, order, or associated display provenance differs.
Trait Implementations§
§impl Clone for ExternalImportManifestV1
impl Clone for ExternalImportManifestV1
§impl Debug for ExternalImportManifestV1
impl Debug for ExternalImportManifestV1
§impl PartialEq for ExternalImportManifestV1
impl PartialEq for ExternalImportManifestV1
§fn eq(&self, other: &ExternalImportManifestV1) -> bool
fn eq(&self, other: &ExternalImportManifestV1) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ExternalImportManifestV1
Auto Trait Implementations§
impl Freeze for ExternalImportManifestV1
impl RefUnwindSafe for ExternalImportManifestV1
impl Send for ExternalImportManifestV1
impl Sync for ExternalImportManifestV1
impl Unpin for ExternalImportManifestV1
impl UnsafeUnpin for ExternalImportManifestV1
impl UnwindSafe for ExternalImportManifestV1
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>,
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.