{"record":{"id":"e8a4c439a6c56c56","repo":"zeroclaw-labs/zeroclaw","slug":"run-run-id-is-not-paused-at-a-checkpoint-status","errorCode":null,"errorMessage":"Run {run_id} is not paused at a checkpoint (status: {status})","messagePattern":"Run (.+?) is not paused at a checkpoint \\(status: (.+?)\\)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-runtime/src/sop/engine.rs","lineNumber":2694,"sourceCode":"        claim_already_reacquired: bool,\n    ) -> Result<SopRunAction> {\n        let status = self\n            .active_runs\n            .get(run_id)\n            .ok_or_else(|| {\n                ::zeroclaw_log::record!(\n                    WARN,\n                    ::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Reject)\n                        .with_outcome(::zeroclaw_log::EventOutcome::Failure)\n                        .with_attrs(::serde_json::json!({\"run_id\": run_id})),\n                    \"SOP engine: active run not found\"\n                );\n                anyhow::Error::msg(format!(\"Active run not found: {run_id}\"))\n            })?\n            .status;\n\n        if status != SopRunStatus::PausedCheckpoint {\n            bail!(\"Run {run_id} is not paused at a checkpoint (status: {status})\");\n        }\n\n        // Refuse to resume while the checkpoint's parked snapshot has not yet\n        // been durably persisted (see `is_park_persist_pending`'s doc): the kept\n        // claim predates this attempt, and reacquiring on top of it would give a\n        // later rollback or a maintenance retry no way to distinguish \"freshly\n        // reacquired\" from \"pre-existing, must survive.\"\n        if self.is_park_persist_pending(run_id) {\n            bail!(\n                \"Run {run_id} cannot resume: its parked checkpoint snapshot is not yet durably persisted (retrying)\"\n            );\n        }\n\n        // Pre-flight the same SOP/step lookups `advance_deterministic_step` performs\n        // BEFORE reacquiring the claim or mutating the run: a definition removed or\n        // shrunk while parked must fail closed with the run left at\n        // `PausedCheckpoint` (re-resolvable), not stranded in `Running` holding a\n        // claim it can never advance.","sourceCodeStart":2676,"sourceCodeEnd":2712,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-runtime/src/sop/engine.rs#L2676-L2712","documentation":"Error \"Run {run_id} is not paused at a checkpoint (status: {status})\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-runtime/src/sop/engine.rs:2694 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the run status; only runs paused at a checkpoint can be approved."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}