diff --git a/agent/context_compressor.py b/agent/context_compressor.py index a51a65d11bbd..082420920d1e 100644 --- a/agent/context_compressor.py +++ b/agent/context_compressor.py @@ -2777,6 +2777,15 @@ def compress(self, messages: List[Dict[str, Any]], current_tokens: int = None, f if summary_body and not self._previous_summary: self._previous_summary = summary_body turns_to_summarize = messages[max(compress_start, summary_idx + 1):compress_end] + if not turns_to_summarize: + self._ineffective_compression_count += 1 + self._last_compression_savings_pct = 0.0 + if not self.quiet_mode: + logger.warning( + "Compression skipped: latest context summary leaves no messages " + "between protected head and tail" + ) + return messages elif self._previous_summary: # No handoff summary found in the current messages, but # _previous_summary is non-empty — it was set by a different