diff --git a/nanobot/cli/commands.py b/nanobot/cli/commands.py index f15df253..2b911d75 100644 --- a/nanobot/cli/commands.py +++ b/nanobot/cli/commands.py @@ -714,9 +714,11 @@ def _run_gateway( from nanobot.utils.evaluator import evaluate_response reminder_note = ( - "[Scheduled Task] Timer finished.\n\n" - f"Task '{job.name}' has been triggered.\n" - f"Scheduled instruction: {job.payload.message}" + "The scheduled time has arrived. Deliver this reminder to the user now, " + "as a brief and natural message in their language. Speak directly to them — " + "do not narrate progress, summarize, include user IDs, or add status reports " + "like 'Done' or 'Reminded'.\n\n" + f"Reminder: {job.payload.message}" ) cron_tool = agent.tools.get("cron") diff --git a/tests/cli/test_commands.py b/tests/cli/test_commands.py index 47b610da..6439c73f 100644 --- a/tests/cli/test_commands.py +++ b/tests/cli/test_commands.py @@ -1067,9 +1067,11 @@ def test_gateway_cron_evaluator_receives_scheduled_reminder_context( assert seen["provider"] is provider assert seen["model"] == "test-model" assert seen["task_context"] == ( - "[Scheduled Task] Timer finished.\n\n" - "Task 'stretch' has been triggered.\n" - "Scheduled instruction: Remind me to stretch." + "The scheduled time has arrived. Deliver this reminder to the user now, " + "as a brief and natural message in their language. Speak directly to them — " + "do not narrate progress, summarize, include user IDs, or add status reports " + "like 'Done' or 'Reminded'.\n\n" + "Reminder: Remind me to stretch." ) bus.publish_outbound.assert_awaited_once_with( OutboundMessage(