{"repo":"NousResearch/hermes-agent","public_id":"113546","display_label":"Scale-to-zero suspend blocked by active direct platforms","summary":"These items address a bug where gateway scale-to-zero suspension could occur while a multiplexed or persistent direct platform (such as Photon/iMessage) was still connected. Fixes aim to keep the gateway awake as long as such a platform remains live.","subsystem":null,"counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":114797,"merged_at":"2026-09-18T16:34:43+00:00"},"resolution":{"state":"resolved","by":"pr-114797"},"freshness":{"state":"verified","last_verified_at":"2026-09-18T16:34:43+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":113546,"pr_number":114797,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-18T16:34:43+00:00"}],"members":[{"kind":"issue","number":113546,"title":"[Bug]: Hermes Cloud scale-to-zero prevents Photon iMessage from waking the agent","url":null,"state":"closed"},{"kind":"pr","number":113553,"title":"fix(gateway): prevent scale-to-zero suspend while direct Photon or other persistent platform remains connected (#113546)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"97011235409c","number":0},{"kind":"pr","value":"#114797","number":114797},{"kind":"pr","value":"#113546","number":113546},{"kind":"pr","value":"#113556","number":113556},{"kind":"pr","value":"#113553","number":113553}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":113556,"title":"fix(gateway): keep multiplexed direct platforms awake","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"97011235409c","number":0},{"kind":"pr","value":"#114797","number":114797},{"kind":"pr","value":"#113546","number":113546},{"kind":"pr","value":"#113556","number":113556},{"kind":"pr","value":"#113553","number":113553}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":114797,"title":"fix(gateway): scale-to-zero no longer suspends while a direct platform is live in a served profile (#113546, salvage #113556, #113553)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["gateway/run.py","gateway/run_shutdown.py","tests/gateway/test_scale_to_zero.py","tests/gateway/test_scale_to_zero_watcher.py","website/docs/developer-guide/relay-connector-contract.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}