{"repo":"NousResearch/hermes-agent","public_id":"109728","display_label":"SQLite lock loss from Linux permission hardening fix","summary":"A bug where tightening file permissions on state.db dropped SQLite locks on Linux, causing WAL issues and session outages. The fixes adjust how chmod is applied to avoid breaking existing lock holders.","subsystem":null,"counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":109841,"merged_at":"2026-09-13T11:29:07+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-13T11:29:07+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":109687,"pr_number":109841,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-13T11:29:07+00:00"},{"issue_number":109727,"pr_number":109841,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-13T11:29:07+00:00"},{"issue_number":109728,"pr_number":109841,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-13T11:29:07+00:00"},{"issue_number":109786,"pr_number":109841,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-13T11:29:07+00:00"}],"members":[{"kind":"issue","number":109728,"title":"[Bug]: #109509 permission hardening drops SQLite locks, causing deleted WAL generations and session outage on Linux","url":null,"state":"closed"},{"kind":"pr","number":109734,"title":"fix(state): preserve SQLite locks during Linux permission hardening","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#109841","number":109841}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":109754,"title":"fix(state): tighten existing db files by chmod(2), not an open/fchmod/close cycle","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#109841","number":109841}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":109841,"title":"fix(state): tightening state.db modes no longer drops the holder's SQLite locks (#109786, salvage #109754)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_state.py","tests/test_hermes_state.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}