hermes - 💡(How to fix) Fix [Bug]: Compression exhaustion loop — session auto-reset re-loads bloated compressed context, causing immediate re-failure [1 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

After compression exhaustion triggers a session auto-reset, the new session immediately re-fails with the same context-overflow error, creating an infinite reset loop. The agent can respond to queries but every response is followed by "Skipping transcript persistence for context-overflow failure" + auto-reset.

Error Message

response ready: api_calls=1 response=67 chars Skipping transcript persistence for context-overflow failure in session X to prevent session growth loop. Auto-resetting session X after compression exhaustion.

After /reset, same loop continues with new session ID.

Root Cause

Possible Root Cause

Fix Action

Fixed

RAW_BUFFERClick to expand / collapse

Summary

After compression exhaustion triggers a session auto-reset, the new session immediately re-fails with the same context-overflow error, creating an infinite reset loop. The agent can respond to queries but every response is followed by "Skipping transcript persistence for context-overflow failure" + auto-reset.

Steps to Reproduce

  1. Run Hermes Gateway with a profile using deepseek-v4-pro (or any model with limited context window)
  2. Have a long-running conversation that eventually triggers context compression
  3. Compression exhausts -> session auto-resets
  4. Send any new message (even /reset or hello)
  5. Agent responds correctly
  6. Immediately: context-overflow failure
  7. Immediately: session auto-reset
  8. Loop repeats for every subsequent message

Logs

response ready: api_calls=1 response=67 chars Skipping transcript persistence for context-overflow failure in session X to prevent session growth loop. Auto-resetting session X after compression exhaustion.

After /reset, same loop continues with new session ID.

Expected Behavior

After a session auto-reset or explicit /reset, the new session should start with a clean compressed context. The old bloated compression summary should not be carried forward.

Actual Behavior

The compressed context from the exhausted session persists into new sessions, causing every new query to immediately re-trigger compression exhaustion. Only recovery is a full gateway restart.

Environment

  • Model: deepseek-v4-pro
  • Config: compression.enabled=true, hygiene_hard_message_limit=400
  • Platform: Feishu (Lark) DM

Possible Root Cause

The compression summary/context from the exhausted session is persisted and re-loaded for new sessions. When the summary is already near the context window limit, even a single new message overflows it.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix [Bug]: Compression exhaustion loop — session auto-reset re-loads bloated compressed context, causing immediate re-failure [1 pull requests]