{"repo":"NousResearch/hermes-agent","public_id":"95957","display_label":"Gateway startup sweep incorrectly prunes recovered session routes","summary":"These items address a bug where the gateway's startup recovery process removes sessions.json entries or routes even when session recovery succeeds with the same session ID. The fix ensures that only routes with a different session ID trigger repointing or pruning.","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":96428,"merged_at":"2026-08-27T14:36:18+00:00"},"resolution":{"state":"resolved","by":"pr-96428"},"freshness":{"state":"verified","last_verified_at":"2026-08-27T14:36:18+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":95957,"pr_number":96428,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-27T14:36:18+00:00"}],"members":[{"kind":"issue","number":95957,"title":"Gateway startup sweep prunes routes whose session recovery SUCCEEDED — repoint branch only fires on a different session id","url":null,"state":"closed"},{"kind":"pr","number":95963,"title":"fix(gateway): keep sessions.json entry when startup recovery succeeds with same session id","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#96428","number":96428}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":96428,"title":"fix(gateway): keep sessions.json route when startup recovery succeeds with the same session id (salvage #95963)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["gateway/session.py","tests/gateway/test_session_store_stale_prune.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}