pub struct CheckpointRecord {
pub turn: usize,
pub pre: Option<CheckpointId>,
pub id: CheckpointId,
pub message: Option<String>,
pub touched_files: Vec<String>,
pub touched_via: TouchedVia,
pub started_at: i64,
pub finished_at: i64,
pub saved_at: i64,
}Expand description
One record per checkpoint.
Goal 284: With on-demand checkpoints (no automatic pre/post per turn), the schema is:
turn— which turn the agent was in when it saved.id— the checkpoint id (waspost).message— agent-supplied label (optional).touched_files— files touched up to this point.touched_via— attribution method.saved_at— Unix timestamp of the save.
Backwards compatibility: old pre/post/started_at/
finished_at fields are accepted on deserialization but ignored
in favour of the new fields. New records always use the new names.
Fields§
§turn: usize0-indexed turn within the session.
pre: Option<CheckpointId>Deprecated (auto-snapshot era). Present on old records;
ignored when id is available.
id: CheckpointIdCheckpoint id (was post in auto-snapshot era).
message: Option<String>Agent-supplied label for this checkpoint. Defaults to empty for auto-snapshot records that lack it.
touched_files: Vec<String>Workspace-relative paths the agent touched this turn.
touched_via: TouchedVia“structured” if all touched files came from typed tool args;
“shell-diff” if at least one file was attributed via fallback
pre/post tree diff after a run_shell call.
started_at: i64Deprecated (auto-snapshot era). Present on old records.
finished_at: i64Deprecated (auto-snapshot era). Present on old records.
saved_at: i64Unix timestamp of when this checkpoint was saved.
Trait Implementations§
Source§impl Clone for CheckpointRecord
impl Clone for CheckpointRecord
Source§impl Debug for CheckpointRecord
impl Debug for CheckpointRecord
Source§impl<'de> Deserialize<'de> for CheckpointRecord
impl<'de> Deserialize<'de> for CheckpointRecord
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>,
impl Eq for CheckpointRecord
Source§impl PartialEq for CheckpointRecord
impl PartialEq for CheckpointRecord
Source§impl Serialize for CheckpointRecord
impl Serialize for CheckpointRecord
impl StructuralPartialEq for CheckpointRecord
Auto Trait Implementations§
impl Freeze for CheckpointRecord
impl RefUnwindSafe for CheckpointRecord
impl Send for CheckpointRecord
impl Sync for CheckpointRecord
impl Unpin for CheckpointRecord
impl UnsafeUnpin for CheckpointRecord
impl UnwindSafe for CheckpointRecord
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.