mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-23 16:36:23 +00:00
A context-compaction handoff is persisted as an ordinary history message but is not a real turn. The ACP history replay streamed it as a bare user/agent message chunk, dropping the in-process _compressed_summary marker, so ACP frontends (editors, vscode-hermes) rendered the entire handoff as a regular message. Tag replayed summary chunks under _meta.hermes (ACP's extensibility channel), covering all three persistence shapes the compressor emits: - standalone role="user" handoff -> compactionSummary: true - standalone role="assistant" handoff (alternation-driven role pick) -> compactionSummary: true - merge-into-tail message (preserved tail content + appended summary) -> containsCompactionSummary: true, a distinct key so clients that collapse standalone summaries cannot hide the preserved real content Detection honors the in-process metadata flag and falls back to a new ContextCompressor.classify_summary_content() content classifier (standalone/merged/None), so it also works for a DB-reloaded session that lost the in-memory flag. _is_context_summary_content is now a thin wrapper over the classifier, keeping existing callers unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| __main__.py | ||
| auth.py | ||
| edit_approval.py | ||
| entry.py | ||
| events.py | ||
| permissions.py | ||
| provenance.py | ||
| server.py | ||
| session.py | ||
| tools.py | ||