{"repo":"NousResearch/hermes-agent","public_id":"63632","display_label":"MEDIA tag regex parsing and separator edge cases","summary":"These issues and fixes concern a gateway regex that fails when [[as_document]] is adjacent to a MEDIA path, or when MEDIA tags appear back-to-back or followed immediately by other text, causing incorrect matching or missed file delivery. Multiple fix attempts address the regex pattern and separator normalization.","subsystem":"gateway","counts":{"members":9,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":2,"merged_prs":1,"attempt_prs":6},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":72170},"resolution":{"state":"resolved","by":"pr-72170"},"freshness":{"state":"verified","last_verified_at":"2026-07-26T19:52:32+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.26},"fix_edges":[{"issue_number":23759,"pr_number":72170,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":63632,"pr_number":72170,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":66797,"pr_number":72170,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":68773,"pr_number":72170,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":71603,"pr_number":72170,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":71621,"pr_number":72170,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":63632,"title":"MEDIA_TAG_CLEANUP_RE fails to match when [[as_document]] is glued directly to the path — file silently not delivered","url":null,"state":"closed"},{"kind":"issue","number":68773,"title":"Agent fails to append separators after MEDIA tags, URLs, and file paths, causing cascading delivery and truncation failures","url":null,"state":"closed"},{"kind":"pr","number":63644,"title":"fix(gateway): allow [[as_document]] glued directly to MEDIA path","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#72170","number":72170},{"kind":"pr","value":"#72170","number":72170}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":67727,"title":"fix(gateway): allow [[as_document]] glued directly to MEDIA path","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#63644","number":63644}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":67735,"title":"fix(gateway): allow [[as_document]] glued directly to MEDIA path","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#72170","number":72170},{"kind":"pr","value":"#63644","number":63644}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":68781,"title":"fix(gateway): stop MEDIA tag regex from absorbing following tag or text (#68773)","url":null,"state":"closed","close_reason":{"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":68837,"title":"fix(gateway): stop MEDIA tag regex from absorbing following tag or text (#68773)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#72170","number":72170},{"kind":"pr","value":"#72170","number":72170}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":69435,"title":"fix: normalize MEDIA tag separators for back-to-back tags (#68773)","url":null,"state":"closed","close_reason":{"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":72170,"title":"fix(gateway): reliable MEDIA file delivery — salvage 6 contributor fixes + punctuation/inline-code variants","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","gateway/platforms/base.py","plugins/platforms/discord/adapter.py","plugins/platforms/feishu/adapter.py","tests/gateway/test_discord_send.py","tests/gateway/test_media_tag_cleanup.py","tests/gateway/test_media_tag_formatting_variants.py","tests/gateway/test_media_tag_separator.py","tests/gateway/test_platform_base.py","tests/gateway/test_send_image_file.py","tests/gateway/test_tts_media_routing.py","tools/send_message_tool.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}