pub struct TranscriptEntry {
pub seq: u32,
pub timestamp: String,
pub message: Message,
pub chain: Option<String>,
}Expand description
A single entry in a JSONL transcript file.
Each line in <task_id>.jsonl deserializes to a TranscriptEntry.
Entries are written in append order; seq is a monotonically increasing counter
within a single session.
Fields§
§seq: u32Zero-based sequence number within the session.
timestamp: StringISO 8601 UTC timestamp at the time of writing (e.g. "2026-04-09T12:00:00Z").
message: MessageThe LLM message that was appended at this sequence position.
chain: Option<String>Keyed-BLAKE3 hash chain link (hex-encoded), binding this entry’s content and the
previous entry’s hash (issue #6360). None on every entry means this transcript
predates the feature or history-chain verification is disabled for this process
(legacy, auto-trusted-once per spec-069 FR-006). Additive field: #[serde(default)]
means an older reader/writer that doesn’t know this field ignores it, and legacy files
without it parse unchanged.
Trait Implementations§
Source§impl Clone for TranscriptEntry
impl Clone for TranscriptEntry
Source§fn clone(&self) -> TranscriptEntry
fn clone(&self) -> TranscriptEntry
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 TranscriptEntry
impl Debug for TranscriptEntry
Source§impl<'de> Deserialize<'de> for TranscriptEntry
impl<'de> Deserialize<'de> for TranscriptEntry
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 TranscriptEntry
impl RefUnwindSafe for TranscriptEntry
impl Send for TranscriptEntry
impl Sync for TranscriptEntry
impl Unpin for TranscriptEntry
impl UnsafeUnpin for TranscriptEntry
impl UnwindSafe for TranscriptEntry
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>,
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request