Bug Description
When a cron job runs an agent task (e.g., daily report generation), the final message delivered to the user's chat (Feishu/Telegram/etc.) often contains agent self-verification noise instead of the actual task output.
Examples of noise that pollutes the delivered message:
- "Ad-hoc Verification Summary"
- Tool execution explanations ("The rm deletion guard is blocking...")
- File-check results ("11/11 content checks passed")
- Changed-paths tracker explanations
- Script execution logs
This happens because the agent's final response includes its self-verification process, not just the deliverable. The cron scheduler delivers whatever the agent's last message is — there is no mechanism to separate "deliverable content" from "verification noise".
Impact
The user receives a message like:
## Ad-hoc Verification Summary
The rm deletion guard is blocking /tmp removals...
11/11 content checks passed.
The earlier scripts' correctness is already evidenced...
Instead of the actual daily stock market report that was generated.
This is confusing for non-technical users who expect to see the report, not internal verification logs.
Steps to Reproduce
- Create a cron job that generates a report (e.g., daily stock analysis)
- The job uses web_search, terminal (for AKShare data), and file tools
- After generating the report, the agent runs self-verification checks on the generated files
- The final message delivered to the user is the verification summary, not the report
Expected Behavior
Cron job delivery should have a mechanism to separate deliverable content from verification:
Option A: Add a deliverable field to the agent's response schema — the cron scheduler delivers only this field
Option B: Add a prompt instruction template for cron jobs: "Your final response must contain only the deliverable. Do not include verification process, tool explanations, or file-check results."
Option C: Add a deliver_only_final_markdown config option for cron jobs that strips non-content sections
Workaround Applied
We manually edited each cron job's prompt to add explicit instructions:
## ⚠️ 交付纪律(必须严格遵守)
- 最终回复中只包含报告正文本身
- 禁止在回复中出现:自我验证过程、工具使用解释、脚本执行日志...
This works but is fragile — any new cron job needs the same manual instruction.
Environment
- Hermes Agent: 0.18.0
- Platform: Feishu
- ~5 active cron jobs across profiles
Bug Description
When a cron job runs an agent task (e.g., daily report generation), the final message delivered to the user's chat (Feishu/Telegram/etc.) often contains agent self-verification noise instead of the actual task output.
Examples of noise that pollutes the delivered message:
This happens because the agent's final response includes its self-verification process, not just the deliverable. The cron scheduler delivers whatever the agent's last message is — there is no mechanism to separate "deliverable content" from "verification noise".
Impact
The user receives a message like:
Instead of the actual daily stock market report that was generated.
This is confusing for non-technical users who expect to see the report, not internal verification logs.
Steps to Reproduce
Expected Behavior
Cron job delivery should have a mechanism to separate deliverable content from verification:
Option A: Add a
deliverablefield to the agent's response schema — the cron scheduler delivers only this fieldOption B: Add a prompt instruction template for cron jobs: "Your final response must contain only the deliverable. Do not include verification process, tool explanations, or file-check results."
Option C: Add a
deliver_only_final_markdownconfig option for cron jobs that strips non-content sectionsWorkaround Applied
We manually edited each cron job's prompt to add explicit instructions:
This works but is fragile — any new cron job needs the same manual instruction.
Environment