Skip to content

fix(session): clear compressor summary and turn counter on /clear and /new#2640

Closed
dusterbloom wants to merge 1 commit into
NousResearch:mainfrom
dusterbloom:fix/clear-session-compressor-state
Closed

fix(session): clear compressor summary and turn counter on /clear and /new#2640
dusterbloom wants to merge 1 commit into
NousResearch:mainfrom
dusterbloom:fix/clear-session-compressor-state

Conversation

@dusterbloom

Copy link
Copy Markdown
Contributor

Summary

/clear and /new call reset_session_state() which resets token counters and the todo store, but misses two fields that were added after the reset function was written:

  • ContextCompressor._previous_summary (added Mar 21 in e75f584) — old session's compression summary leaks into new session's iterative compression
  • _user_turn_count (added Feb 22 in 3c6750f) — keeps accumulating across sessions, affecting flush_min_turns guard behavior

Both are simple oversights — the features postdate reset_session_state().

Changes

  • run_agent.py: Added self._user_turn_count = 0 and self.context_compressor._previous_summary = None to reset_session_state()
  • tests/test_session_reset_fix.py: 4 new tests verifying both fields are cleared

Test plan

  • 4 new tests: RED before fix, GREEN after
  • Full regression suite unchanged (199 fail / 5050 pass — all pre-existing)
  • Verified via git blame that neither field was intentionally preserved

Fixes #2635

… /new

reset_session_state() was missing two fields added after it was written:
- _previous_summary on the ContextCompressor (added Mar 21 by Teknium)
  leaked old session compression into new sessions
- _user_turn_count (added Feb 22) kept accumulating across sessions,
  affecting memory flush timing

Both are now zeroed on reset.

Fixes NousResearch#2635
teknium1 added a commit that referenced this pull request Mar 26, 2026
… /new

reset_session_state() was missing two fields added after it was written:
- _user_turn_count: kept accumulating across sessions, affecting
  flush_min_turns guard behavior
- context_compressor._previous_summary: old session's compression
  summary leaked into new session's iterative compression

Cherry-picked from PR #2640 by dusterbloom. Closes #2635.
@teknium1

Copy link
Copy Markdown
Contributor

Merged via PR #3102. Cherry-picked with tests. Thanks @dusterbloom!

teknium1 added a commit that referenced this pull request Mar 26, 2026
… /new (#3102)

reset_session_state() was missing two fields added after it was written:
- _user_turn_count: kept accumulating across sessions, affecting
  flush_min_turns guard behavior
- context_compressor._previous_summary: old session's compression
  summary leaked into new session's iterative compression

Cherry-picked from PR #2640 by dusterbloom. Closes #2635.
@teknium1 teknium1 closed this Mar 26, 2026
outsourc-e pushed a commit to outsourc-e/hermes-agent that referenced this pull request Mar 26, 2026
… /new (NousResearch#3102)

reset_session_state() was missing two fields added after it was written:
- _user_turn_count: kept accumulating across sessions, affecting
  flush_min_turns guard behavior
- context_compressor._previous_summary: old session's compression
  summary leaked into new session's iterative compression

Cherry-picked from PR NousResearch#2640 by dusterbloom. Closes NousResearch#2635.
@dusterbloom dusterbloom deleted the fix/clear-session-compressor-state branch March 30, 2026 12:59
angelburgosrosado pushed a commit to angelburgosrosado/hermes-agent that referenced this pull request Apr 27, 2026
… /new (NousResearch#3102)

reset_session_state() was missing two fields added after it was written:
- _user_turn_count: kept accumulating across sessions, affecting
  flush_min_turns guard behavior
- context_compressor._previous_summary: old session's compression
  summary leaked into new session's iterative compression

Cherry-picked from PR NousResearch#2640 by dusterbloom. Closes NousResearch#2635.
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
… /new (NousResearch#3102)

reset_session_state() was missing two fields added after it was written:
- _user_turn_count: kept accumulating across sessions, affecting
  flush_min_turns guard behavior
- context_compressor._previous_summary: old session's compression
  summary leaked into new session's iterative compression

Cherry-picked from PR NousResearch#2640 by dusterbloom. Closes NousResearch#2635.
olympus-terminal pushed a commit to olympus-terminal/hermes-agent that referenced this pull request May 16, 2026
… /new (NousResearch#3102)

reset_session_state() was missing two fields added after it was written:
- _user_turn_count: kept accumulating across sessions, affecting
  flush_min_turns guard behavior
- context_compressor._previous_summary: old session's compression
  summary leaked into new session's iterative compression

Cherry-picked from PR NousResearch#2640 by dusterbloom. Closes NousResearch#2635.
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
… /new (NousResearch#3102)

reset_session_state() was missing two fields added after it was written:
- _user_turn_count: kept accumulating across sessions, affecting
  flush_min_turns guard behavior
- context_compressor._previous_summary: old session's compression
  summary leaked into new session's iterative compression

Cherry-picked from PR NousResearch#2640 by dusterbloom. Closes NousResearch#2635.
Egavasyug pushed a commit to Egavasyug/hermes-agent that referenced this pull request Jun 10, 2026
… /new (NousResearch#3102)

reset_session_state() was missing two fields added after it was written:
- _user_turn_count: kept accumulating across sessions, affecting
  flush_min_turns guard behavior
- context_compressor._previous_summary: old session's compression
  summary leaked into new session's iterative compression

Cherry-picked from PR NousResearch#2640 by dusterbloom. Closes NousResearch#2635.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: /clear and /new leave stale compression summary and turn counter across sessions

3 participants