{"repo":"NousResearch/hermes-agent","public_id":"102978","display_label":"Desktop profile-backend pool CPU and spawn fixes","summary":"These issues and PRs address a desktop bug where the profile-backend pool fails to drain properly, causing excessive backend processes, high CPU usage, and app self-restarts. Fixes target unnecessary backend spawning on launch, roster ticks, and bot tile cold-starts.","subsystem":null,"counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":2,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":108134,"merged_at":"2026-09-11T13:21:25+00:00"},"resolution":{"state":"resolved","by":"pr-108134"},"freshness":{"state":"verified","last_verified_at":"2026-09-11T13:21:25+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":99336,"pr_number":108134,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:21:25+00:00"},{"issue_number":102913,"pr_number":108134,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:21:25+00:00"},{"issue_number":102978,"pr_number":107969,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-11T06:56:03+00:00"},{"issue_number":102978,"pr_number":108134,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:21:25+00:00"},{"issue_number":103375,"pr_number":107969,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T06:56:03+00:00"}],"members":[{"kind":"issue","number":102978,"title":"[Desktop] Profile-backend pool never drains: 3 slots vs ~60 profiles, long-lived serve/backend processes climb to ~99% CPU, app self-restarts","url":null,"state":"closed"},{"kind":"pr","number":103522,"title":"fix: [Desktop] Profile-backend pool never drains: 3 slots vs ~60 profiles, long-lived serve/backend processes climb to ~99% CPU, app self-restarts (#102978)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"52fb4e0877","number":0},{"kind":"pr","value":"#107969","number":107969},{"kind":"pr","value":"#102978","number":102978},{"kind":"pr","value":"#108134","number":108134}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":107969,"title":"Desktop: open bot tiles no longer cold-start or pin pooled backends from the background (#103375, salvage #103399)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/electron/main.ts","apps/desktop/electron/registry-primary-profile-scope.test.ts","apps/desktop/src/api/sessions.ts","apps/desktop/src/app/contrib/hooks/use-background-sync.test.ts","apps/desktop/src/app/contrib/hooks/use-background-sync.ts","apps/desktop/src/global.d.ts","apps/desktop/src/store/gateway-connection-lifecycle.test.ts","apps/desktop/src/store/gateway.ts"]},{"kind":"pr","number":108134,"title":"Desktop: Bot Mode no longer spawns or dials a backend per profile on launch and every roster tick (#102978, #99336, #102913)","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/profile-ops.test.ts","apps/desktop/src/plugins/hermes-bots/profile-ops.ts"]}],"trust":{"default_tier":"verified","includes_suggested":false}}