{"repo":"NousResearch/hermes-agent","public_id":"111587","display_label":"Bot relay delivery starvation and TTL expiry fix","summary":"A bug where the desktop bot relay delivered one envelope at a time caused long turns on one bot to expire or starve other gateways' DMs past their TTL. The associated fixes change the relay to claim outbox items and deliver per target instead.","subsystem":null,"counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":112202,"merged_at":"2026-09-16T01:51:24+00:00"},"resolution":{"state":"resolved","by":"pr-112202"},"freshness":{"state":"verified","last_verified_at":"2026-09-16T01:51:24+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":111587,"pr_number":112202,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-16T01:51:24+00:00"}],"members":[{"kind":"issue","number":111587,"title":"[Bug]: Desktop bot relay delivers one envelope at a time — a long turn on one bot ages every other gateway's DM past the TTL (queued_expired) or its waiter","url":null,"state":"closed"},{"kind":"pr","number":111588,"title":"fix(desktop): the bot relay claims every outbox first and delivers per target, not one envelope at a time","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#112202","number":112202}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":112202,"title":"fix(desktop): bot relay delivers per target — one long turn no longer expires other gateways' DMs (#111587, salvage #111588)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/src/plugins/hermes-bots/relay.test.ts","apps/desktop/src/plugins/hermes-bots/relay.ts","website/docs/user-guide/bot-mode.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}