{"repo":"NousResearch/hermes-agent","public_id":"30816","display_label":"SQLite concurrency, WAL locks, and session integrity","summary":"These issues and fixes center on SQLite write-lock contention, WAL mode failures (including APFS edge cases), and resulting problems with session indexing and state reliability when CLI and gateway processes access the database concurrently. Several members address error handling, retries, and fallback strategies to prevent silent failures and freezes.","subsystem":"agent","counts":{"members":4,"open_issues":1,"open_issues_distinct":1,"open_prs":0,"closed_issues":0,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":108082,"merged_at":"2026-09-11T13:23:24+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-11T13:23:24+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":30816,"pr_number":108082,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-11T13:23:24+00:00"},{"issue_number":86515,"pr_number":108082,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:23:24+00:00"},{"issue_number":100871,"pr_number":108082,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:23:24+00:00"},{"issue_number":105567,"pr_number":108082,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:23:24+00:00"},{"issue_number":107401,"pr_number":108082,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:23:24+00:00"},{"issue_number":108031,"pr_number":108082,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T13:23:24+00:00"}],"members":[{"kind":"issue","number":30816,"title":"apply_wal_with_fallback: DELETE fallback uncaught — crashes on APFS external SSDs","url":null,"state":"open"},{"kind":"pr","number":30823,"title":"fix(state): wrap DELETE journal_mode fallback in try/except to survive APFS double-failure","url":null,"state":"closed","close_reason":{"category":"stale_abandoned","implication":"active"},"merged":false},{"kind":"pr","number":106958,"title":"fix(db): survive DELETE fallback failure in WAL setup","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"d956e05e5e","number":0},{"kind":"pr","value":"#108082","number":108082}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":108082,"title":"state.db no longer wedges on a healthy WAL: OpenZFS/close() false DeletedWalGenerationError, unconfirmed-WAL read pool, transient read IOERR, stale lock banner (#107401 #105567 #86515 #100871 #108031, salvage #107411 #105578 #105711 #106958)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/turn_explainers.py","contributors/emails/[redacted:email]","contributors/emails/nikkoxgonzales@users.noreply.github.com","gateway/run_notifications.py","hermes_state.py","hermes_state_dbfile.py","hermes_state_errors.py","hermes_state_readpool.py","hermes_state_wal.py","tests/gateway/test_session_db_warning_recheck.py","tests/hermes_state/test_deleted_wal_generation_guard.py","tests/hermes_state/test_read_path_transient_ioerr.py","tests/hermes_state/test_wal_active_confirmed.py","tests/run_agent/test_turn_completion_explainer.py","tests/test_hermes_state_wal_fallback.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}