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

  1. 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.