{"repo":"NousResearch/hermes-agent","public_id":"48914","display_label":"Dashboard session stats SQL aggregation performance fix","summary":"These items all concern the same inefficiency in /api/sessions/stats, which fetches large numbers of full session rows instead of using a SQL GROUP BY to aggregate counts by source. The proposed fix replaces an O(N) approach with a single aggregating query.","subsystem":"dashboard","counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":73362},"resolution":{"state":"resolved","by":"pr-73362"},"freshness":{"state":"verified","last_verified_at":"2026-07-28T13:37:29+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":48914,"pr_number":73362,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":48914,"title":"perf(dashboard): /api/sessions/stats fetches 10 000 full session rows to count by source -- O(N) to O(1) fix available","url":null,"state":"closed"},{"kind":"pr","number":48921,"title":"perf(dashboard): use GROUP BY for session stats instead of fetching 10k rows","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#73362","number":73362}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":48932,"title":"perf(dashboard): replace O(N) session_count() loop with single GROUP BY query in /api/sessions/stats","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#48921","number":48921},{"kind":"pr","value":"#48914","number":48914},{"kind":"pr","value":"#48921","number":48921}],"category":"superseded_by_pr","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":61120,"title":"perf(dashboard): aggregate session stats by source in SQL","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#48921","number":48921}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":73362,"title":"perf(dashboard): use GROUP BY for session stats instead of fetching 10k rows","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/web_server.py","hermes_state.py","tests/hermes_cli/test_dashboard_admin_endpoints.py","tests/test_hermes_state.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}