Files
hermes-agent/tests/run_agent
kshitijk4poor 58a4a11727 fix(compression): release the reclamation no-op dedup key on every rearm reset
Follow-up to the salvaged #101894 (@jwilson411). The over-threshold
"reclamation did not run" warning is deduped on (reason, rearm mark), and
the key was only cleared when a prune committed. Every other path that
zeroes the rearm mark — compress(), on_session_reset/on_session_end,
bind_session_state, update_model — left the key in place, so a lockout
that warned at rearm=0, then a full compaction, then the same lockout
again was silent, contradicting the helper's own "warns again" contract
(and leaking the key across sessions on a rebound compressor).

- ContextCompressor._reset_proactive_prune_rearm(): one helper for the
  five rearm-to-zero sites; clears the dedup key alongside the mark.
- _warn_reclamation_no_op(): dropping back under threshold releases the
  key (mirrors _clear_context_overflow_warn semantics on the agent side).
- test_proactive_prune_loop_wiring: the attempts_exhausted fixture now
  models the only state the real engine can produce for that branch
  (should_compress() is should_compress_info()[0]) — budget spent
  (max_compression_attempts=0) with the engine saying RUN, instead of
  should_compress=False paired with (True, None).
- Two guards: lockout warns again after a rearm reset; dropping under
  threshold releases the key. Both fail with the clears removed.
2026-09-03 12:23:55 +05:30
..