Email Delivery Hard-Truncates Scheduled Reports at ~4,000 Characters
Bug tracker — July 10, 2026. Hermes bug #61990 exposes a scheduled-delivery failure: gateway delivery.py applies MAX_PLATFORM_OUTPUT=4000 to email cron output. Because the EmailAdapter does not declare splits_long_messages=True, recipients receive cut-off briefings with a footer while the complete output is saved only to disk.
The Failure in One Sentence
Hermes can generate a full scheduled report, but silently loses the portion after approximately 4,000 characters in the channel the user asked to receive it: email. The full text exists on disk, yet the recipient gets an incomplete briefing with no practical recovery from their inbox.
The Mismatch in Delivery Limits
| Layer | Limit / Behavior | Result |
|---|---|---|
| Gateway delivery.py | MAX_PLATFORM_OUTPUT=4000 | Output is truncated before email delivery |
| EmailAdapter | Does not declare splits_long_messages=True | No chunking path is used |
| Email adapter / SMTP | Can support bodies up to about 50,000 characters | Available capacity is never used |
Why Scheduled Reports Are Especially Vulnerable
Scheduled reports accumulate status, sources, exceptions, and recommendations. The most important information is often at the end: blockers, changed conditions, or next actions. Hard truncation transforms a successful generation job into a misleading delivery: the user sees something that looks complete enough to trust, while the system has silently removed the rest.
Fix Options
- Enable adapter chunking by declaring
splits_long_messages=True. - Make the platform output limit configurable by channel and delivery type.
- When truncation is unavoidable, attach or link the full output in the same delivery rather than leaving it only on local disk.
- Test scheduled email reports at realistic long-form lengths, not only short notification bodies.
Why This Matters for Review-Site Readers
Email is often the explicit requested delivery channel for executive briefings, monitors, and recurring reports. A system that completes the underlying work but cuts off the deliverable is not reliably automating the task. This issue is a reminder to test the final delivery surface, not just generation quality or local log output.
Case Summary
- Source: GitHub issue
- Opened / updated: July 10, 2026
- Labels: P2, comp/gateway, platform/email, sweeper:risk-message-delivery, type/bug
Source URL: https://github.com/NousResearch/hermes-agent/issues/61990