Merge pull request #6650 from happy5318/fix/preflight-compression-false-positive

fix: stop false Compressing-context card on preflight-compression sessions
This commit is contained in:
nesquena-hermes authored and GitHub committed 2026-07-31 11:14:31 -07:00
commit 620da54cde
2 files changed
+13 -5

No files matched your search

+6 -4
View File
@@ -566,8 +566,11 @@ def _is_agent_compression_start_status(kind: str, message: str) -> bool:
auto-compression.
Positive markers below match the agent emitters in hermes-agent
(``turn_context`` preflight, ``conversation_loop`` pre-API / 413 / too-large,
``conversation_compression`` compaction status). Explicitly reject skip /
(``conversation_loop`` pre-API / 413 / too-large,
``conversation_compression`` compaction status). Preflight compression
(``turn_context``) is intentionally excluded — the later authoritative
``Compacting context`` marker is the signal that compression actually
proceeded. Explicitly reject skip /
defer notices so "Skipping preflight compression…" never surfaces as a
running compress divider.
"""
@@ -587,8 +590,7 @@ def _is_agent_compression_start_status(kind: str, message: str) -> bool:
if 'compressed' in m and 'compressing' not in m and 'compression attempt' not in m:
return False
return (
'preflight compression:' in m
or 'pre-api compression:' in m
'pre-api compression:' in m
or 'compacting context' in m
or 'context too large' in m
or '— compressing (' in m
+7 -1
View File
@@ -473,7 +473,13 @@ def test_agent_status_callback_emits_compressing_and_warning_events():
def test_agent_compression_start_status_matches_real_emitters_only():
# Real start notices from hermes-agent emitters
assert _is_agent_compression_start_status(
# Preflight compression is intentionally excluded — the later
# authoritative ``Compacting context`` marker from
# conversation_compression is the signal that compression
# actually proceeded, and the preflight status can fire even
# when compression exits before compaction (e.g. durable
# guard refresh, Codex-Hermes mode with no active thread).
assert not _is_agent_compression_start_status(
"lifecycle",
"📦 Preflight compression: ~101,000 tokens >= 96,000 threshold. This may take a moment.",
)