{"repo":"NousResearch/hermes-agent","public_id":"22071","display_label":"Session ended_at not set on exit or interruption","summary":"Multiple issues and fixes address sessions failing to record ended_at in state.db when processes exit unexpectedly, are force-quit, or disconnect, causing sessions to accumulate as open/zombie records. Fixes involve atexit handlers and transcript persistence across CLI and TUI.","subsystem":"agent","counts":{"members":4,"open_issues":1,"open_issues_distinct":1,"open_prs":1,"closed_issues":1,"merged_prs":0,"attempt_prs":2},"landed_fix":null,"resolution":{"state":"unresolved","by":null},"freshness":{"state":"never_verified","last_verified_at":null,"is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.3933333333333333},"fix_edges":[],"members":[{"kind":"issue","number":22071,"title":"Session liveness: 29% of sessions leak with ended_at=NULL on hard exits","url":null,"state":"open"},{"kind":"issue","number":47277,"title":"WebUI/Desktop/TUI sessions never set ended_at — accumulate as zombies in state.db","url":null,"state":"closed"},{"kind":"pr","number":47292,"title":"fix(cli): end session in state.db on atexit cleanup","url":null,"state":"open","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":47401,"title":"fix(cli): add atexit handler to end session on unexpected exit (#47277)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#47292","number":47292},{"kind":"pr","value":"#47277","number":47277}],"category":"duplicate_of","implication":"duplicate"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}