hermes-agent/plugins/memory
Jeff Mettel d1e5c3dc33 fix(openviking): re-arm the commit guard after in-place compression
`_committed_session_ids` is a permanent per-sid latch, and
`_session_needs_commit` checks it before the turn counter by design — a
racing sync_turn can re-increment `_turn_count` after commit+reset, so
the guard must win to stop a double-commit.

That is correct for a session being left behind. It is wrong for one
that keeps its id. `compress_context()` commits before rewriting the
transcript in both modes, and with `compression.in_place: true` (the
default) `on_session_switch` receives the same id and does not rotate.
The latch then rejects every later commit for a still-live session — the
next compression, /new, normal session end, startup recovery — so every
post-compression turn is silently never extracted.

Rotation mode is unaffected because a fresh child id is minted and
starts clean, which is what confirms the latch's intent was only ever to
dedupe the departing id.

Clear the latch when compression completes without rotation. Turns
arriving after that point are genuinely new, and this is a defined
moment rather than a race. The rotation path is untouched, so the old
id stays latched and its _finalize_session_async still dedupes against
the compression commit.

Fixes #74695

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 16:33:39 -05:00
..
byterover fix: add explicit UTF-8 encoding to all subprocess text=True calls (#53428) 2026-07-24 11:45:57 -07:00
hindsight fix(hindsight): route setup + auto-upgrade installs through lazy_deps 2026-07-28 22:40:33 -07:00
holographic refactor: canonical config loaders for behavioral reads + guarded raw-read primitive (kills the managed-scope/env-expansion drift class) 2026-07-29 10:53:29 -07:00
honcho fix(honcho): network-hermetic unit tests + lazy async writer start 2026-07-29 18:55:10 -07:00
mem0 fix: route memory-provider dep installs through lazy_deps durable target 2026-07-28 22:40:33 -07:00
openviking fix(openviking): re-arm the commit guard after in-place compression 2026-07-30 16:33:39 -05:00
retaindb fix(memory): guard local uploads against credential reads 2026-07-05 03:14:49 -07:00
supermemory fix(supermemory): complete self-hosted endpoint routing 2026-07-20 00:40:40 -07:00
__init__.py fix(windows): sweep remaining bare read_text/write_text sites + linter rule 2026-07-24 17:10:39 -07:00
config_schema.py revert(memory): drop the provider actions extension point 2026-07-10 15:41:52 -04:00
query_rewrite.py fix(honcho): enforce recall latency and budget contracts 2026-07-16 12:48:48 -07:00