pub struct Manifest {
pub schema_version: u32,
pub memory_id: String,
pub generated_at: String,
pub include_reflections: bool,
pub include_transcripts: bool,
pub files: Vec<ManifestFile>,
pub signer_agent_id: Option<String>,
pub signature: Option<String>,
}Expand description
Manifest metadata + integrity index for the bundle.
Serialised to manifest.json inside the tar. The signature and
signer_agent_id fields are filled when an AlphaOne operator
keypair is available; auditors verify the signature with the
operator’s public key (out-of-band distribution — same model the
rest of the H-track uses).
Fields§
§schema_version: u32Bundle schema version. Bumped on a wire-incompatible change.
memory_id: StringTarget memory id passed on the command line.
generated_at: StringRFC3339 instant the bundle was assembled.
Only field that legitimately varies across rebuilds (every other byte in the bundle is deterministic — the reproducibility acceptance criterion in #670 is “byte-identical mod timestamp” and this is the timestamp).
include_reflections: booltrue when --include-reflections was passed.
include_transcripts: booltrue when --include-transcripts was passed.
files: Vec<ManifestFile>Sorted-by-path SHA-256 manifest over every other file in the
archive (excludes manifest.json itself).
signer_agent_id: Option<String>Operator agent_id whose key signed the manifest, or None when
the bundle is unsigned (no operator key on disk).
signature: Option<String>Ed25519 signature (base64) over canonical_signed_bytes of the
rest of the manifest, or None when unsigned.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Manifest
impl<'de> Deserialize<'de> for Manifest
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>,
Auto Trait Implementations§
impl Freeze for Manifest
impl RefUnwindSafe for Manifest
impl Send for Manifest
impl Sync for Manifest
impl Unpin for Manifest
impl UnsafeUnpin for Manifest
impl UnwindSafe for Manifest
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>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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