{"repo":"NousResearch/hermes-agent","public_id":"91547","display_label":"Gateway restart port race and API server handoff","summary":"These items concern a race condition where the gateway restart process conflicts with its own port, leaving the API server unavailable or the gateway running indefinitely. The work involves retrying on EADDRINUSE and ensuring the replacement process waits for the API server port to be ready before starting.","subsystem":"gateway","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":115347,"merged_at":"2026-09-18T20:36:57+00:00"},"resolution":{"state":"resolved","by":"pr-115347"},"freshness":{"state":"verified","last_verified_at":"2026-09-18T20:36:57+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":91547,"pr_number":115347,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-18T20:36:57+00:00"}],"members":[{"kind":"issue","number":91547,"title":"`hermes gateway restart` races its own port, then runs indefinitely with no API server","url":null,"state":"closed"},{"kind":"pr","number":92060,"title":"fix(gateway): wait for api_server port before a replacement starts","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#115347","number":115347}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":96419,"title":"fix(api-server): retry EADDRINUSE briefly across gateway restart handoff","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#115347","number":115347},{"kind":"pr","value":"#91547","number":91547}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":115347,"title":"gateway restart no longer loses the api_server port; a parked platform reports degraded (#91547, salvage #92060 #113455)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["contributors/emails/[redacted:email]","gateway/platforms/api_server.py","gateway/run_shutdown.py","gateway/run_startup.py","gateway/status.py","hermes_cli/gateway.py","hermes_cli/gateway_windows.py","hermes_cli/web_routers/status.py","tests/gateway/test_runner_startup_failures.py","tests/gateway/test_startup_failed_platform_reports_degraded.py","tests/gateway/test_status.py","tests/hermes_cli/test_gateway.py","tests/hermes_cli/test_gateway_service.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}