zeroclaw-labs/zeroclaw · error · anyhow::Error
Run {run_id} has reached this gate's revision limit ({MAX_GA
Error message
Run {run_id} has reached this gate's revision limit ({MAX_GATE_REVISIONS}); approve, edit, or deny the current draft What it means
Error "Run {run_id} has reached this gate's revision limit ({MAX_GATE_REVISIONS}); approve, edit, or deny the current draft" thrown in zeroclaw-labs/zeroclaw.
Source
Thrown at crates/zeroclaw-runtime/src/sop/engine.rs:2845
.rev()
.find(|r| r.status == SopStepStatus::Completed && r.step_number < run.current_step)?
.step_number;
let (_, sop) = self.resolve_active_run_sop(run_id).ok()?;
let step = self.resolve_sop_step(&sop, pred).ok()?;
(step.kind == SopStepKind::Capability && step.capability_id() == Some("llm.generate"))
.then_some(pred)
}
/// Pre-flight a `Revise` WITHOUT mutating anything: the revision cap has not
/// been reached and the gate has an `llm.generate` predecessor to re-run.
fn can_revise_checkpoint(&self, run_id: &str) -> Result<()> {
let run = self
.get_run(run_id)
.ok_or_else(|| anyhow::Error::msg(format!("Active run not found: {run_id}")))?;
// Per-GATE budget: presentations spent at THIS gate, not run-wide
// (`revision` also advances when a later gate first parks).
if run.revision.saturating_sub(run.revision_base) >= MAX_GATE_REVISIONS {
bail!(
"Run {run_id} has reached this gate's revision limit ({MAX_GATE_REVISIONS}); \
approve, edit, or deny the current draft"
);
}
if self.revisable_predecessor(run_id).is_none() {
bail!(
"Run {run_id} has no llm.generate predecessor step to re-run; \
this gate is not revisable"
);
}
Ok(())
}
/// Re-run the checkpoint's predecessor `llm.generate` step with the operator's
/// guidance framed as reviewer feedback, replace the recorded draft, bump the
/// gate revision, and re-present the gate. The run never leaves
/// `PausedCheckpoint`: a failed re-draft keeps the OLD draft parked and
/// answerable. The caller commits the new snapshot and ledger event together.View on GitHub (pinned to 88bb9c8533)
Solutions
- Approve, edit, or deny the current draft; the revision limit for this gate is reached.
When it happens
Trigger: Thrown at crates/zeroclaw-runtime/src/sop/engine.rs:2845 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/75a6daf6d099b604.
Report an issue: GitHub.