{"record":{"id":"ba1f16b339072171","repo":"zeroclaw-labs/zeroclaw","slug":"delay-must-not-be-empty","errorCode":null,"errorMessage":"delay must not be empty","messagePattern":"delay must not be empty","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-runtime/src/cron/mod.rs","lineNumber":420,"sourceCode":"        },\n    )\n}\n\npub fn resume_job(config: &Config, id: &str) -> Result<CronJob> {\n    update_job(\n        config,\n        id,\n        CronJobPatch {\n            enabled: Some(true),\n            ..CronJobPatch::default()\n        },\n    )\n}\n\npub fn parse_delay(input: &str) -> Result<chrono::Duration> {\n    let input = input.trim();\n    if input.is_empty() {\n        anyhow::bail!(\"delay must not be empty\");\n    }\n    let split = input\n        .find(|c: char| !c.is_ascii_digit())\n        .unwrap_or(input.len());\n    let (num, unit) = input.split_at(split);\n    let amount: i64 = num.parse()?;\n    let unit = if unit.is_empty() { \"m\" } else { unit };\n    let duration = match unit {\n        \"s\" => chrono::Duration::seconds(amount),\n        \"m\" => chrono::Duration::minutes(amount),\n        \"h\" => chrono::Duration::hours(amount),\n        \"d\" => chrono::Duration::days(amount),\n        _ => anyhow::bail!(\"unsupported delay unit '{unit}', use s/m/h/d\"),\n    };\n    Ok(duration)\n}\n\n#[cfg(test)]","sourceCodeStart":402,"sourceCodeEnd":438,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-runtime/src/cron/mod.rs#L402-L438","documentation":"Error \"delay must not be empty\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-runtime/src/cron/mod.rs:420 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide a non-empty delay value such as '30m' or '2h'."],"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"}