Skip to content

[Bug] Cron job delivery messages contain agent self-verification noise instead of task output #58075

Description

@wyl1988

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

  1. Create a cron job that generates a report (e.g., daily stock analysis)
  2. The job uses web_search, terminal (for AKShare data), and file tools
  3. After generating the report, the agent runs self-verification checks on the generated files
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havecomp/cronCron scheduler and job managementtype/featureNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions