diff --git a/codex-rs/core/src/alarms.rs b/codex-rs/core/src/alarms.rs index cde9f79878..bd862908c5 100644 --- a/codex-rs/core/src/alarms.rs +++ b/codex-rs/core/src/alarms.rs @@ -715,7 +715,7 @@ mod tests { ResponseInputItem::Message { role: "developer".to_string(), content: vec![ContentItem::InputText { - text: "Recurring scheduled alarm prompt:\nrun tests\n\ncurrentAlarmId: alarm-1\nConfigured delivery: steer-current-turn\nTrigger: delay 10s, repeat\n\nThis alarm should keep running on its schedule unless the user asked for a stopping condition and that condition is now satisfied.\nIf that stopping condition is satisfied, stop the alarm by calling AlarmDelete with {\"id\":\"alarm-1\"}.\nDo not expose scheduler internals unless they matter to the user.".to_string(), + text: "Recurring scheduled alarm prompt:\nrun tests\n\ncurrentAlarmId: alarm-1\nConfigured delivery: steer-current-turn\nTrigger: delay 10s, repeat\n\nThis alarm should keep running on its schedule after this invocation.\nDo not call AlarmDelete just because you completed this invocation.\nCall AlarmDelete with {\"id\":\"alarm-1\"} only if the user's alarm prompt included an explicit stop condition, such as \"until\", \"stop when\", or \"while\", and that condition is now satisfied.\nDo not expose scheduler internals unless they matter to the user.".to_string(), }], } ); diff --git a/codex-rs/core/templates/alarms/recurring_prompt.md b/codex-rs/core/templates/alarms/recurring_prompt.md index 4660da9cba..4293ebfa00 100644 --- a/codex-rs/core/templates/alarms/recurring_prompt.md +++ b/codex-rs/core/templates/alarms/recurring_prompt.md @@ -5,6 +5,7 @@ currentAlarmId: {{CURRENT_ALARM_ID}} Configured delivery: {{DELIVERY}} Trigger: {{TRIGGER}} -This alarm should keep running on its schedule unless the user asked for a stopping condition and that condition is now satisfied. -If that stopping condition is satisfied, stop the alarm by calling AlarmDelete with {"id":"{{CURRENT_ALARM_ID}}"}. +This alarm should keep running on its schedule after this invocation. +Do not call AlarmDelete just because you completed this invocation. +Call AlarmDelete with {"id":"{{CURRENT_ALARM_ID}}"} only if the user's alarm prompt included an explicit stop condition, such as "until", "stop when", or "while", and that condition is now satisfied. Do not expose scheduler internals unless they matter to the user.