{"repo":"NousResearch/hermes-agent","public_id":"91536","display_label":"Corrupt timestamp and state DB resilience fixes","summary":"These items address crashes and failures caused by corrupt or invalid timestamp values and malformed data in the state database. The work focuses on constraining bad values and preventing single corrupt rows from breaking sessions, export, insights, or prune operations.","subsystem":"apps/desktop","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":122283,"merged_at":"2026-09-25T15:46:55+00:00"},"resolution":{"state":"resolved","by":"pr-122283"},"freshness":{"state":"verified","last_verified_at":"2026-09-25T15:46:55+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":91536,"pr_number":108086,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-11T13:24:55+00:00"},{"issue_number":91536,"pr_number":122283,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-25T15:46:55+00:00"},{"issue_number":94691,"pr_number":108086,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:24:55+00:00"},{"issue_number":99959,"pr_number":108086,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:24:55+00:00"},{"issue_number":102352,"pr_number":108086,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:24:55+00:00"},{"issue_number":102399,"pr_number":108086,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:24:55+00:00"},{"issue_number":106060,"pr_number":108086,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:24:55+00:00"}],"members":[{"kind":"issue","number":91536,"title":"[Bug]: Sessions pane crashes with \"Invalid time value\" — recovery wrote garbage floats into messages.timestamp","url":null,"state":"closed"},{"kind":"pr","number":91543,"title":"fix(state): constrain last_active to a sane epoch window","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"a2413495ad","number":0},{"kind":"pr","value":"#108086","number":108086}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":108086,"title":"state.db: one corrupt row (bad timestamp / malformed marker JSON / oversized IN-list) no longer kills sessions list, export, insights or prune (#102399 #102352 #99959 #94691 #106060; salvage #106071 #101726 #94701 #102679 #100658)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/insights.py","hermes_cli/cli_session_mixin.py","hermes_cli/session_export.py","hermes_cli/session_export_html.py","hermes_cli/session_export_md.py","hermes_cli/session_filters.py","hermes_cli/sessions_cmd.py","hermes_cli/sessions_cmd_browse.py","hermes_cli/timefmt.py","hermes_state_common.py","hermes_state_compression.py","hermes_state_gateway.py","hermes_state_maintenance.py","hermes_state_messages.py","hermes_state_portability.py","hermes_state_schema.py","hermes_state_sessions.py","tests/hermes_state/test_corrupt_row_robustness.py","tests/test_hermes_state.py","tests/test_session_export_batch.py","tests/tools/test_async_delegation_fd_leak.py","tools/async_delegation.py"]},{"kind":"pr","number":122283,"title":"fix(state): keep corrupt timestamp cells out of last_active and recovered databases","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/session_recovery.py","hermes_state_common.py","hermes_state_sessions.py","tests/hermes_cli/test_session_recovery_timestamps.py","tests/hermes_state/test_corrupt_row_robustness.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}