zeroclaw-labs/zeroclaw · error · anyhow::Error
checkpoint revise decisions use the revision persistence pat
Error message
checkpoint revise decisions use the revision persistence path
What it means
Error "checkpoint revise decisions use the revision persistence path" thrown in zeroclaw-labs/zeroclaw.
Source
Thrown at crates/zeroclaw-runtime/src/sop/engine.rs:3123
let prior_run = self
.active_runs
.get(run_id)
.cloned()
.ok_or_else(|| anyhow::Error::msg(format!("Active run not found: {run_id}")))?;
if prior_run.status != SopRunStatus::PausedCheckpoint {
bail!(
"Run {run_id} is not paused at a checkpoint (status: {})",
prior_run.status
);
}
if self.is_park_persist_pending(run_id) {
bail!(
"Run {run_id} cannot resolve: its parked checkpoint snapshot is not yet durably persisted (retrying)"
);
}
if matches!(decision, super::approval::ApprovalDecision::Revise { .. }) {
bail!("checkpoint revise decisions use the revision persistence path")
}
if matches!(decision, super::approval::ApprovalDecision::Amend { .. }) {
self.can_amend_checkpoint(run_id)?;
}
let (_, sop) = self.resolve_active_run_sop(run_id)?;
let current_step = self.resolve_sop_step(&sop, prior_run.current_step)?;
let mut piped = step_input_value(&prior_run, current_step.number);
if let super::approval::ApprovalDecision::Amend { text } = &decision {
let field = self.checkpoint_edit_field(run_id)?;
let Some(object) = piped.as_object_mut() else {
bail!(
"Run {run_id} checkpoint input is not a JSON object; cannot amend field '{field}'"
);
};
object.insert(field, serde_json::Value::String(text.clone()));
}
let (status, recorded_output, routed_output, started_at, completed_at) = match &decision {View on GitHub (pinned to 88bb9c8533)
Solutions
- Use the revision persistence path for checkpoint revise decisions.
When it happens
Trigger: Thrown at crates/zeroclaw-runtime/src/sop/engine.rs:3123 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23).
Data as JSON: /api/errors/41e013584d8dcd31.
Report an issue: GitHub.