zeroclaw-labs/zeroclaw · error · anyhow::Error
SOP '{}' has no steps defined
Error message
SOP '{}' has no steps defined What it means
Error "SOP '{}' has no steps defined" thrown in zeroclaw-labs/zeroclaw.
Source
Thrown at crates/zeroclaw-runtime/src/sop/engine.rs:1683
WARN,
::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Reject)
.with_outcome(::zeroclaw_log::EventOutcome::Failure)
.with_attrs(::serde_json::json!({"sop_name": sop_name})),
"SOP engine: sop not found"
);
anyhow::Error::msg(format!("SOP not found: {sop_name}"))
})?
.clone();
if !self.can_start(sop_name) {
bail!(
"Cannot start SOP '{}': cooldown or concurrency limit reached",
sop_name
);
}
if sop.steps.is_empty() {
bail!("SOP '{}' has no steps defined", sop_name);
}
let deterministic = sop.execution_mode == SopExecutionMode::Deterministic;
self.run_counter += 1;
let dur = std::time::SystemTime::now()
.duration_since(std::time::UNIX_EPOCH)
.unwrap_or_default();
let epoch_ns = dur.as_nanos();
let prefix = if deterministic { "det" } else { "run" };
let run_id = format!("{prefix}-{epoch_ns}-{:04}", self.run_counter);
let claim = self.claim_admission(&run_id, &sop)?;
Ok(StartReservation {
run_id,
claim,
sop,
deterministic,
})
}View on GitHub (pinned to 88bb9c8533)
Solutions
- Add at least one step to the SOP definition.
When it happens
Trigger: Thrown at crates/zeroclaw-runtime/src/sop/engine.rs:1683 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/cd53c5f2c7b5d6aa.
Report an issue: GitHub.