{"record":{"id":"e2c3e67524068f90","repo":"zeroclaw-labs/zeroclaw","slug":"delivery-to-is-required-for-announce-mode","errorCode":null,"errorMessage":"delivery.to is required for announce mode","messagePattern":"delivery\\.to is required for announce mode","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-runtime/src/cron/mod.rs","lineNumber":159,"sourceCode":"    if delivery.mode.eq_ignore_ascii_case(\"none\") {\n        return Ok(());\n    }\n    if !delivery.mode.eq_ignore_ascii_case(\"announce\") {\n        bail!(\"unsupported delivery mode: {}\", delivery.mode);\n    }\n\n    let channel = delivery.channel.as_deref().map(str::trim);\n    if channel.filter(|value| !value.is_empty()).is_none() {\n        bail!(\"delivery.channel is required for announce mode\");\n    }\n\n    let has_target = delivery\n        .to\n        .as_deref()\n        .map(str::trim)\n        .is_some_and(|value| !value.is_empty());\n    if !has_target {\n        bail!(\"delivery.to is required for announce mode\");\n    }\n\n    Ok(())\n}\n\npub fn add_shell_job_with_approval(\n    config: &Config,\n    agent_alias: &str,\n    name: Option<String>,\n    schedule: Schedule,\n    command: &str,\n    delivery: Option<DeliveryConfig>,\n    approved: bool,\n) -> Result<CronJob> {\n    add_shell_job_with_approval_and_format(\n        config,\n        agent_alias,\n        name,","sourceCodeStart":141,"sourceCodeEnd":177,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-runtime/src/cron/mod.rs#L141-L177","documentation":"Error \"delivery.to is required for announce mode\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-runtime/src/cron/mod.rs:159 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set delivery.to (channel/target) for the cron job when using announce mode."],"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"}