WAL stability and MCP session crash fixes

NousResearch/hermes-agent · cluster 109824

Data as of

Nothing open on GitHub. Fix merged in #110544. Check it covers your case.

The short answer

0open issues
0open PRs
6items grouped
Known?
Yes. 6 related items grouped here, 1 issue already closed.
Fix event
A fix was merged to main in PR #110544. Check it covers your case. No release data is tracked.
Tracker
The maintainers' tracker marks this resolved, deciding PR #114413. That is separate from the fix event.
Still open
Nothing open on GitHub.

These issues address two related bugs: transient cron handles rotating the WAL generation and causing inode conflicts, and MCP tool refresh crashing when the server session is None during restart. Fixes include read-only state.db access for read paths and guarding dynamic tool refresh against missing sessions.

Open issues0

No open issues.

Open PRs0

No open pull requests.

Fixes on record

Merged to main. A stamp counts the issues a fix is linked to.

  • #110544 state.db WAL survives sibling closes and stray lock cancellation on every runtime (Desktop chat dies after update; salvage #109758)

    merged to main

    files: 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

  • #110718 fix(state): read paths open state.db read-only instead of taking a writer

    merged to main

    files: contributors/emails/[redacted:email], contributors/emails/[redacted:email], hermes_cli/cli_info_mixin.py, hermes_cli/main_agent_cmds.py, tests/hermes_cli/test_cli_insights_command.py, tests/tui_gateway/test_profile_db_readonly.py, tests/tui_gateway/test_tui_gateway_server.py, tui_gateway/methods_projects.py, tui_gateway/methods_session.py, tui_gateway/methods_session_foreign.py, tui_gateway/server.py

  • #114413 fix(mcp): skip dynamic tool refresh when the server session is already gone

    merged to main

    files: tests/tools/test_mcp_dynamic_discovery.py, tools/mcp_tool_health.py

2 PRs closed without merging

From the close comments: done elsewhere 1 · superseded by another PR 1

  • #110116 fix(cron): stop transient cron state.db handles from rotating the WAL generation on close (#109824) · done elsewhere → 3e43cee, #110544, #110718
  • #110117 fix(mcp): _refresh_tools no longer crashes on None session during restart (#109824) · superseded by another PR → #114413
Closed issues · 1
  • Closed#109824Two WAL stability bugs: cron writer causes inode conflict every 30 min; `_refresh_tools` crashes on `None` session during MCP restart
How this cluster was grouped
  • Link evidence (structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
  • Pairwise link density 0.33: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. 1.00 means every pair is linked.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Merged PRs
#110544, #110718, #114413
Closed issues
1
Attempts
2 PRs closed without merging
Fix link checked
17 Sep 2026

For your agent

The same facts, typed.