{"repo":"NousResearch/hermes-agent","public_id":"17403","display_label":"Memory sync reliability and session freeze prevention","summary":"These items address stability issues in memory and hindsight subsystems, including session freezes caused by daemon failures or LLM errors, thread management problems under error conditions, and proposals for timeouts or circuit breakers to improve resilience.","subsystem":"agent","counts":{"members":5,"open_issues":1,"open_issues_distinct":1,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":93455,"merged_at":"2026-08-24T03:02:08+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-08-24T03:02:08+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.33599999999999997},"fix_edges":[{"issue_number":17403,"pr_number":93455,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-24T03:02:08+00:00"},{"issue_number":36276,"pr_number":93455,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-24T03:02:08+00:00"},{"issue_number":62449,"pr_number":93455,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-24T03:02:08+00:00"},{"issue_number":65563,"pr_number":93455,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-24T03:02:08+00:00"}],"members":[{"kind":"issue","number":17403,"title":"Hindsight tool calls freeze session when internal LLM errors out","url":null,"state":"closed"},{"kind":"issue","number":35218,"title":"[Feature]: Add 3-second degradation timeout for external memory providers (fallback to builtin when hindsight is down)","url":null,"state":"open"},{"kind":"pr","number":17416,"title":"fix(hindsight): add circuit breaker to prevent session freeze on daemon failure","url":null,"state":"closed","close_reason":{"category":"stale_abandoned","implication":"active"},"merged":false},{"kind":"pr","number":74785,"title":"fix: classify hard quota 429s as billing + prevent writer thread leak under 429 storms","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"0c3a50753","number":0},{"kind":"pr","value":"#93455","number":93455}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":93455,"title":"fix(classifier): 429 quota walls route to billing across providers; reset signals stay retryable (consolidates #39441, #63021, #74785)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/error_classifier.py","tests/agent/test_error_classifier.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}