{"repo":"NousResearch/hermes-agent","public_id":"97693","display_label":"Gateway handoff fail-closed config loading fixes","summary":"These items address a bug where gateway handoffs deliver to the wrong destination when a secondary profile's configuration fails to load, with fixes to ensure the system fails closed in that scenario. Related changes also cover loading secrets off the main loop and honoring profile routes in Discord slash commands.","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":101247,"merged_at":"2026-09-02T12:55:37+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-02T12:55:37+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":69178,"pr_number":101247,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-02T12:55:37+00:00"},{"issue_number":91633,"pr_number":101247,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-02T12:55:37+00:00"},{"issue_number":97693,"pr_number":101247,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-02T12:55:37+00:00"},{"issue_number":100014,"pr_number":101247,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-02T12:55:37+00:00"}],"members":[{"kind":"issue","number":97693,"title":"[Bug]: /handoff delivers to the wrong chat when a secondary profile's config fails to load","url":null,"state":"closed"},{"kind":"pr","number":97694,"title":"fix(gateway): fail closed when a secondary profile handoff cannot load its config","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"0437fe66f77","number":0},{"kind":"pr","value":"#101247","number":101247}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":101247,"title":"fix(gateway): handoffs fail closed and load secrets off-loop; Discord slash commands honor profile_routes (#97693 #100014 #69178 #91633, salvage #97694 #100049)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["gateway/run.py","plugins/platforms/discord/adapter.py","tests/gateway/test_discord_slash_commands.py","tests/gateway/test_handoff_secondary_profile_adapter.py","tests/gateway/test_handoff_watcher_multiprofile.py","tests/gateway/test_handoff_watcher_resilience.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}