Sealed Manifest V2 for one canonical Definition.
A Manifest binds the Definition Ref, its effective Authority Envelope, its Execution Closure, and the exact component-contract interpretation used at publication time. Integrity is content-addressed; publisher trust, approval, revocation, and current authority remain separate host concerns.
Summary
Functions
Returns the mandatory reflective Stack/Manifest contract version.
Decodes and validates canonical Manifest bytes.
Returns the content digest of the sealed Manifest.
Encodes a Manifest into portable canonical bytes.
Encodes a Manifest or raises on invalid canonical data.
Restores a Manifest from decoded canonical data.
Builds and validates a Manifest from already normalized fields.
Builds and seals a Manifest for a canonical Definition.
Builds a Manifest or raises with its stable validation reason.
Returns the Manifest schema version.
Returns the portable Manifest representation.
Verifies the Definition binding and its exact component-contract snapshot.
Types
@type t() :: %Spectre.Definition.Manifest{ authority: Spectre.Authority.Envelope.t(), component_contracts: [map()], contract_version: pos_integer(), definition_ref: Spectre.Definition.Ref.t(), execution_closure: Spectre.Execution.Closure.t(), parent_refs: [Spectre.Definition.Ref.t()], provenance_refs: [String.t()], publisher_ref: String.t() | nil, receipt_refs: [String.t()], schema_version: pos_integer() }
Functions
@spec contract_version() :: pos_integer()
Returns the mandatory reflective Stack/Manifest contract version.
Decodes and validates canonical Manifest bytes.
Returns the content digest of the sealed Manifest.
Encodes a Manifest into portable canonical bytes.
Encodes a Manifest or raises on invalid canonical data.
Restores a Manifest from decoded canonical data.
Builds and validates a Manifest from already normalized fields.
@spec new( Spectre.Definition.Canonical.t(), Spectre.Authority.Envelope.t(), Spectre.Execution.Closure.t(), keyword() ) :: {:ok, t()} | {:error, term()}
Builds and seals a Manifest for a canonical Definition.
@spec new!( Spectre.Definition.Canonical.t(), Spectre.Authority.Envelope.t(), Spectre.Execution.Closure.t(), keyword() ) :: t()
Builds a Manifest or raises with its stable validation reason.
@spec schema_version() :: pos_integer()
Returns the Manifest schema version.
Returns the portable Manifest representation.
@spec verify( t(), Spectre.Definition.Canonical.t(), Spectre.Definition.ContractRegistry.t() ) :: :ok | {:error, term()}
Verifies the Definition binding and its exact component-contract snapshot.