{"record":{"id":"152e6fa18fdc75a2","repo":"zeroclaw-labs/zeroclaw","slug":"invalid-cron-expression-expression-expected-5","errorCode":null,"errorMessage":"Invalid cron expression: {expression} (expected 5, 6, or 7 fields, got {field_count})","messagePattern":"Invalid cron expression: (.+?) \\(expected 5, 6, or 7 fields, got (.+?)\\)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-runtime/src/cron/schedule.rs","lineNumber":124,"sourceCode":"    let field_count = expression.split_whitespace().count();\n\n    match field_count {\n        // standard crontab syntax: minute hour day month weekday\n        // Normalize weekday field from standard crontab semantics (0/7=Sun, 1=Mon, …, 6=Sat)\n        // to cron-crate semantics (1=Sun, 2=Mon, …, 7=Sat).\n        5 => {\n            let mut fields: Vec<&str> = expression.split_whitespace().collect();\n            let weekday = fields[4];\n            let normalized_weekday = normalize_weekday_field(weekday)?;\n            fields[4] = &normalized_weekday;\n            Ok(format!(\n                \"0 {} {} {} {} {}\",\n                fields[0], fields[1], fields[2], fields[3], fields[4]\n            ))\n        }\n        // crate-native syntax includes seconds (+ optional year)\n        6 | 7 => Ok(expression.to_string()),\n        _ => anyhow::bail!(\n            \"Invalid cron expression: {expression} (expected 5, 6, or 7 fields, got {field_count})\"\n        ),\n    }\n}\n\n/// Translate a single numeric weekday value from standard crontab semantics\n/// (0 or 7 = Sunday, 1 = Monday, …, 6 = Saturday) to cron-crate semantics\n/// (1 = Sunday, 2 = Monday, …, 7 = Saturday).\nfn translate_weekday_value(val: u8) -> Result<u8> {\n    match val {\n        0 | 7 => Ok(1), // Sunday\n        1..=6 => Ok(val + 1),\n        _ => anyhow::bail!(\"Invalid weekday value: {val} (expected 0-7)\"),\n    }\n}\n\n/// Enumerate the standard-crontab weekday values covered by `start-end`.\nfn standard_weekday_range_values(start: u8, end: u8) -> Vec<u8> {","sourceCodeStart":106,"sourceCodeEnd":142,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-runtime/src/cron/schedule.rs#L106-L142","documentation":"Error \"Invalid cron expression: {expression} (expected 5, 6, or 7 fields, got {field_count})\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-runtime/src/cron/schedule.rs:124 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a cron expression with 5, 6, or 7 fields (min hour day month weekday [year])."],"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"}