{"repo":"NousResearch/hermes-agent","public_id":"19689","display_label":"WeCom markdown truncation and message splitting fix","summary":"These issues and PRs concern a bug where WeCom outbound markdown messages are silently truncated at 4000 characters, and proposed fixes to split long messages into multiple sends instead.","subsystem":"gateway","counts":{"members":6,"open_issues":1,"open_issues_distinct":1,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":130866,"merged_at":"2026-10-02T00:18:57+00:00"},"resolution":{"state":"partially_resolved","by":"pr-130866"},"freshness":{"state":"verified","last_verified_at":"2026-10-02T00:18:57+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.2906666666666667},"fix_edges":[{"issue_number":19689,"pr_number":130866,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-02T00:18:57+00:00"},{"issue_number":61990,"pr_number":130866,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-02T00:18:57+00:00"},{"issue_number":62751,"pr_number":130866,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-02T00:18:57+00:00"},{"issue_number":107443,"pr_number":130866,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-02T00:18:57+00:00"}],"members":[{"kind":"issue","number":19689,"title":"WeCom outbound markdown silently truncates long Hermes responses at 4000 characters","url":null,"state":"closed"},{"kind":"issue","number":47571,"title":"[BUG] WeCom adapter: send() hard-truncates content at 4000 chars, breaking plugin-level segmentation (OLG)","url":null,"state":"open"},{"kind":"pr","number":19751,"title":"fix(wecom): split long outbound markdown instead of silent truncation","url":null,"state":"closed","close_reason":{"category":"stale_abandoned","implication":"active"},"merged":false},{"kind":"pr","number":19811,"title":"fix(wecom): split long markdown into multiple messages instead of silently truncating","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#19751","number":19751}],"category":"superseded_by_pr","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":20006,"title":"fix(wecom): split long markdown sends","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"be5e9f72c6681af9dfb75bf480f08844f1499949","number":0},{"kind":"pr","value":"#130866","number":130866}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":130866,"title":"fix(gateway): SMS, email and WeCom deliver long replies and cron output in full instead of failing or truncating","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["cron/scheduler_delivery.py","gateway/delivery.py","gateway/platforms/helpers.py","plugins/platforms/email/adapter.py","plugins/platforms/sms/adapter.py","plugins/platforms/wecom/adapter.py","plugins/platforms/wecom/callback_adapter.py","tests/cron/test_scheduler.py","tests/gateway/test_email.py","tests/gateway/test_sms.py","tests/gateway/test_wecom.py","tests/gateway/test_wecom_callback.py","website/docs/user-guide/messaging/wecom-callback.md","website/docs/user-guide/messaging/wecom.md","website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/messaging/wecom-callback.md","website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/messaging/wecom.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}