NousResearch/hermes-agent

Detect and reject out-of-band state.db replacement

Cluster 89332 · agent. Data as of

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

The short answer

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

These items address a bug where replacing state.db while a process is running causes silent degraded behavior instead of a loud failure. The work involves adding file-identity checks and refusing repair operations when a replacement is detected.

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.

  • #99652 fix(state): structurally corrupt state.db no longer keeps accepting writes (#97940, salvage #96038)

    merged to main

    files: contributors/emails/[redacted:email], gateway/session.py, hermes_state.py, tests/gateway/test_session.py, tests/state/test_fts_runtime_rebuild.py

  • #99753 fix(state): a state.db swapped under a live process halts writes instead of corrupting (#89332, salvage #89364)

    merged to main

    files: agent/turn_finalizer.py, gateway/session.py, hermes_state.py, run_agent.py, tests/agent/test_codex_app_server_persist.py, tests/gateway/test_session_db_replaced_fallback.py, tests/hermes_state/test_state_db_file_identity.py, tests/run_agent/test_turn_completion_explainer.py

2 PRs closed without merging

From the close comments: done elsewhere 1 · merged via another change 1

  • #89360 fix(state): refuse in-file repair when state.db was replaced · done elsewhere → #99753, #89364, #89332
  • #89364 fix(state): fail loudly when state.db is replaced under a live process · merged via another change → 18ac3c4, #99753, #99652, #98077
Closed issues · 1
  • Closed#89332[Bug]: No file-identity guard on state.db — gateway limps through a total persistence outage when its DB is replaced out-of-band instead of failing loudly
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.40: 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

Subsystem
agent
Merged PRs
#99652, #99753
Closed issues
1
Attempts
2 PRs closed without merging
Fix link checked
31 Aug 2026

For your agent

The same facts, typed.