{"repo":"NousResearch/hermes-agent","public_id":"110214","display_label":"WAL descriptor lifecycle and close-tolerance fixes","summary":"These issues and pull requests address bugs where state.db WAL operations fail when descriptors are closed mid-scan, during checkpointing, or across sibling process closes. The work focuses on making WAL scanning and guard logic more tolerant of descriptor state changes without crashing or halting.","subsystem":null,"counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":2,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":110544},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-15T05:18:35+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":104596,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":109641,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":109727,"pr_number":110544,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":109786,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":109824,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":109946,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":110082,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":110106,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":110214,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":110214,"pr_number":111176,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":110276,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false}],"members":[{"kind":"issue","number":110214,"title":"Gateway halts hourly with 'retired state.db-wal generation' after WSL kernel update to 6.18.33","url":null,"state":"closed"},{"kind":"pr","number":110235,"title":"fix(state): tolerate closed WAL scan descriptors","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"7feaf03883","number":0},{"kind":"pr","value":"#111176","number":111176}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":110262,"title":"fix(state): tolerate in-process WAL checkpointing and prevent read-pool descriptor accumulation (#110214)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"3e43cee5050f","number":0},{"kind":"pr","value":"#110544","number":110544}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":110544,"title":"state.db WAL survives sibling closes and stray lock cancellation on every runtime (Desktop chat dies after update; salvage #109758)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_state.py","hermes_state_dbfile.py","hermes_state_lockguard.py","tests/hermes_state/test_deleted_wal_generation_guard.py","tests/hermes_state/test_wal_lock_guard.py"]},{"kind":"pr","number":111176,"title":"Deleted-WAL guard no longer counts a descriptor closed mid-scan as a holder (refs #110214, salvage #110235)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_state_dbfile.py","tests/hermes_state/test_deleted_wal_generation_guard.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}