New request
#3315: Streaming should show compression-exhausted tool-tail runs as errors
We'll provision a sandbox, run an agent against the issue, and open a draft PR. You can pull the branch and iterate from there.
Issue
bugsprint-candidatestreaming
When Hermes Agent exhausts context compression in a long tool-heavy turn, WebUI can receive streamed interim text and a persisted transcript that ends in a tool result or assistant tool-call turn without a final assistant answer. That must not be finalized as a completed response.
Expected behavior:
- compression_exhausted, failed, or partial agent results surface as errors
- persisted transcripts ending in tool or assistant(tool_calls) without a final assistant answer are treated as terminal failures
- internal [CONTEXT COMPACTION — REFERENCE ONLY] messages are not final answers and are not rendered as settled transcript cards
- running compression may show transient status, but raw reference text should not remain as user-visible completed content
This is the WebUI companion for the Hermes Agent auto-compression fix.
Assessmentadvisory
bug●● medium90% confidence
Fixes misclassification of compression-exhausted tool-tail streaming turns as finalized responses by updating terminal-error handling in streaming and transcript persistence.
Likely files
- api/streaming.py
- api/routes.py
- static/index.html
- static/app.js
- static/sessions.js
Create the request