{"repo":"NousResearch/hermes-agent","public_id":"114959","display_label":"Bot Chat routing and peer messaging bug fixes","summary":"These issues and pull requests address bugs where peer DMs or runs directed at a Bot Chat open in Desktop were incorrectly handled by a second writer instead of the active chat, and a separate issue where a timed-out peer DM reported an incorrect status.","subsystem":null,"counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":3,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":116838},"resolution":{"state":"resolved","by":"pr-116838"},"freshness":{"state":"verified","last_verified_at":"2026-09-20T20:54:23+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":113099,"pr_number":116885,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":114959,"pr_number":116838,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":114959,"pr_number":116885,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":114959,"pr_number":116926,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":115174,"pr_number":116838,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":115174,"pr_number":116885,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":115174,"pr_number":116926,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":115316,"pr_number":116838,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":114959,"title":"[Bug]: a peer DM runs as a second writer in a Bot Chat that Desktop holds live — the open chat never sees the message or the reply","url":null,"state":"closed"},{"kind":"pr","number":114962,"title":"fix(api-server): a peer DM into a Bot Chat open in Desktop is answered by that chat, not a second writer (#114959)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#116926","number":116926},{"kind":"pr","value":"#116885","number":116885},{"kind":"pr","value":"#114959","number":114959}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":116838,"title":"fix(bot-mode): a DM or peer run into a Bot Chat open in Desktop is answered by that chat, on every transport (#114959, #115174, #115316, salvage #114962 #115175 #115318)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["gateway/platforms/api_server.py","gateway/platforms/api_server_runs.py","tests/gateway/test_peer_dm_into_open_bot_chat.py","tools/bot_live_delivery.py","tools/bot_mode_dm.py","tui_gateway/methods_bot_relay.py"]},{"kind":"pr","number":116885,"title":"fix(peer): a timed-out peer DM says the turn was accepted and is still running, not that the peer is unreachable (#113099, salvage #113102)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/subcommands/peer.py","tests/hermes_cli/test_peer_dm_reporting.py","website/docs/user-guide/bot-mode.md"]},{"kind":"pr","number":116926,"title":"fix(api-server): peer dm and peer run into a Bot Chat open in Desktop are answered by that chat, not a second writer (#114959, #115174, salvage #114962 #115175)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["gateway/platforms/api_server.py","gateway/platforms/api_server_runs.py","hermes_cli/subcommands/peer.py","tests/gateway/test_peer_dm_into_open_bot_chat.py","website/docs/user-guide/bot-mode.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}