fix(cron): add delivery guidance to cron prompt — stop send_message thrashing (#5444)

Cron agents were burning iterations trying to use send_message (which is
disabled via messaging toolset) because their prompts said things like
'send the report to Telegram'. The scheduler handles delivery
automatically via the deliver setting, but nothing told the agent that.

Add a delivery guidance hint to _build_job_prompt alongside the existing
[SILENT] hint: tells agents their final response is auto-delivered and
they should NOT use send_message.

Before: only [SILENT] suppression hint
After: delivery guidance ('do NOT use send_message') + [SILENT] hint
This commit is contained in:
Teknium 2026-04-05 23:58:45 -07:00 committed by GitHub
parent d6ef7fdf92
commit 89db3aeb2c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 26 additions and 8 deletions

View file

@ -730,6 +730,21 @@ class TestBuildJobPromptSilentHint:
result = _build_job_prompt(job)
assert "[SILENT]" in result
def test_delivery_guidance_present(self):
"""Cron hint tells agents their final response is auto-delivered."""
job = {"prompt": "Generate a report"}
result = _build_job_prompt(job)
assert "do NOT use send_message" in result
assert "automatically delivered" in result
def test_delivery_guidance_precedes_user_prompt(self):
"""System guidance appears before the user's prompt text."""
job = {"prompt": "My custom prompt"}
result = _build_job_prompt(job)
system_pos = result.index("do NOT use send_message")
prompt_pos = result.index("My custom prompt")
assert system_pos < prompt_pos
class TestBuildJobPromptMissingSkill:
"""Verify that a missing skill logs a warning and does not crash the job."""