{"repo":"NousResearch/hermes-agent","public_id":"109641","display_label":"macOS deleted-WAL holder detection via libproc","summary":"These issues and PRs concern a bug where the check for processes holding a deleted WAL sidecar file was Linux-only and silently did nothing on macOS, allowing a gateway restart to create a replacement WAL under a live writer. The work involves implementing the holder enumeration on macOS using libproc.","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":110544,"merged_at":"2026-09-14T12:28:23+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-14T12:28:23+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":104596,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-14T12:28:23+00:00"},{"issue_number":109641,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-14T12:28:23+00:00"},{"issue_number":109727,"pr_number":110544,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-14T12:28:23+00:00"},{"issue_number":109786,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-14T12:28:23+00:00"},{"issue_number":109824,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-14T12:28:23+00:00"},{"issue_number":109946,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-14T12:28:23+00:00"},{"issue_number":110082,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-14T12:28:23+00:00"},{"issue_number":110106,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-14T12:28:23+00:00"},{"issue_number":110214,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-14T12:28:23+00:00"},{"issue_number":110276,"pr_number":110544,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-14T12:28:23+00:00"}],"members":[{"kind":"issue","number":109641,"title":"[Bug] macOS: the deleted-WAL pre-connect refusal is a no-op (holder scan is Linux-only) — a gateway restart mints a replacement WAL under a live CLI writer (16 halts, 4.2 GB captured in 13 min)","url":null,"state":"closed"},{"kind":"pr","number":109758,"title":"fix(state): enumerate deleted-WAL sidecar holders on macOS via libproc","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"68b10bbbf9cc","number":0},{"kind":"pr","value":"#110544","number":110544},{"kind":"pr","value":"#109641","number":109641}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":110023,"title":"fix(state): deleted-WAL sidecar holders are enumerated on macOS (#109641, salvage #109758)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"68b10bbbf9cc","number":0},{"kind":"pr","value":"#110544","number":110544},{"kind":"pr","value":"#109758","number":109758}],"category":"implemented_elsewhere","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"},"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"]}],"trust":{"default_tier":"verified","includes_suggested":false}}