pub struct PipelineCheckpoint {Show 28 fields
pub version: u32,
pub phase: PipelinePhase,
pub iteration: u32,
pub total_iterations: u32,
pub reviewer_pass: u32,
pub total_reviewer_passes: u32,
pub timestamp: String,
pub developer_agent: String,
pub reviewer_agent: String,
pub cli_args: CliArgsSnapshot,
pub developer_agent_config: AgentConfigSnapshot,
pub reviewer_agent_config: AgentConfigSnapshot,
pub rebase_state: RebaseState,
pub config_path: Option<String>,
pub config_checksum: Option<String>,
pub working_dir: String,
pub prompt_md_checksum: Option<String>,
pub git_user_name: Option<String>,
pub git_user_email: Option<String>,
pub run_id: String,
pub parent_run_id: Option<String>,
pub resume_count: u32,
pub actual_developer_runs: u32,
pub actual_reviewer_runs: u32,
pub execution_history: Option<ExecutionHistory>,
pub file_system_state: Option<FileSystemState>,
pub prompt_history: Option<HashMap<String, String>>,
pub env_snapshot: Option<EnvironmentSnapshot>,
}Expand description
Enhanced pipeline checkpoint for resume functionality.
Contains comprehensive state needed to resume an interrupted pipeline exactly where it left off, including CLI arguments, agent configurations, rebase state, and file checksums for validation.
This is inspired by video game save states - capturing the complete execution context to enable seamless recovery.
Fields§
§version: u32Checkpoint format version (for future compatibility)
phase: PipelinePhaseCurrent pipeline phase
iteration: u32Current iteration number (for developer iterations)
total_iterations: u32Total iterations configured
reviewer_pass: u32Current reviewer pass number
total_reviewer_passes: u32Total reviewer passes configured
timestamp: StringTimestamp when checkpoint was saved
developer_agent: StringDeveloper agent display name
reviewer_agent: StringReviewer agent display name
cli_args: CliArgsSnapshotCLI argument snapshot
developer_agent_config: AgentConfigSnapshotDeveloper agent configuration snapshot
reviewer_agent_config: AgentConfigSnapshotReviewer agent configuration snapshot
rebase_state: RebaseStateRebase state tracking
config_path: Option<String>Path to config file used for this run (if any)
config_checksum: Option<String>Checksum of config file (for validation on resume)
working_dir: StringWorking directory when checkpoint was created
prompt_md_checksum: Option<String>Checksum of PROMPT.md (for validation on resume)
git_user_name: Option<String>Git user name for commits (if overridden)
git_user_email: Option<String>Git user email for commits (if overridden)
run_id: StringUnique identifier for this run (UUID v4)
parent_run_id: Option<String>Parent run ID if this is a resumed session
resume_count: u32Number of times this session has been resumed
actual_developer_runs: u32Actual number of developer iterations that completed
actual_reviewer_runs: u32Actual number of reviewer passes that completed
execution_history: Option<ExecutionHistory>Execution history tracking for idempotent recovery
file_system_state: Option<FileSystemState>File system state for validation on resume
prompt_history: Option<HashMap<String, String>>Stored prompts used during this run
env_snapshot: Option<EnvironmentSnapshot>Environment snapshot for idempotent recovery
Implementations§
Source§impl PipelineCheckpoint
impl PipelineCheckpoint
Sourcepub fn resume_context(&self) -> ResumeContext
pub fn resume_context(&self) -> ResumeContext
Extract rich resume context from this checkpoint.
This method creates a ResumeContext containing all the information
needed to generate informative prompts for agents when resuming.
Source§impl PipelineCheckpoint
impl PipelineCheckpoint
Sourcepub fn from_params(params: CheckpointParams<'_>) -> Self
pub fn from_params(params: CheckpointParams<'_>) -> Self
Create a new checkpoint with comprehensive state capture.
This is the main constructor for creating checkpoints during pipeline execution. It captures all necessary state to enable exact restoration of the pipeline.
§Arguments
params- All checkpoint parameters bundled in a struct
Sourcepub fn description(&self) -> String
pub fn description(&self) -> String
Get a human-readable description of the checkpoint.
Returns a string describing the current phase and progress, suitable for display to the user when resuming.
Sourcepub fn with_config(self, path: Option<PathBuf>) -> Self
pub fn with_config(self, path: Option<PathBuf>) -> Self
Set the config path and calculate its checksum.
Trait Implementations§
Source§impl Clone for PipelineCheckpoint
impl Clone for PipelineCheckpoint
Source§fn clone(&self) -> PipelineCheckpoint
fn clone(&self) -> PipelineCheckpoint
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PipelineCheckpoint
impl Debug for PipelineCheckpoint
Source§impl<'de> Deserialize<'de> for PipelineCheckpoint
impl<'de> Deserialize<'de> for PipelineCheckpoint
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>,
Source§impl From<PipelineCheckpoint> for PipelineState
Convert v3 checkpoint to reducer PipelineState.
impl From<PipelineCheckpoint> for PipelineState
Convert v3 checkpoint to reducer PipelineState.
Migrates existing checkpoint structure to new state format, ensuring backward compatibility with saved checkpoints.
Source§fn from(checkpoint: PipelineCheckpoint) -> Self
fn from(checkpoint: PipelineCheckpoint) -> Self
Auto Trait Implementations§
impl Freeze for PipelineCheckpoint
impl RefUnwindSafe for PipelineCheckpoint
impl Send for PipelineCheckpoint
impl Sync for PipelineCheckpoint
impl Unpin for PipelineCheckpoint
impl UnwindSafe for PipelineCheckpoint
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,
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