From 02ef6480de515b16b8974a90c17ea7f33dbb3e66 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Wed, 2 Sep 2026 23:08:53 -0700 Subject: [PATCH] =?UTF-8?q?refactor(agent/conversation=5Fcompression):=20A?= =?UTF-8?q?ST-identical=20=E2=80=94=20pack=20trailing=20log=20args=20after?= =?UTF-8?q?=20multi-line=20format=20strings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agent/conversation_compression.py | 60 +++++++++---------------------- 1 file changed, 17 insertions(+), 43 deletions(-) diff --git a/agent/conversation_compression.py b/agent/conversation_compression.py index 49aee9cad4..ef81ca3b96 100644 --- a/agent/conversation_compression.py +++ b/agent/conversation_compression.py @@ -291,8 +291,7 @@ def _restore_compressor_attempt_state( logger.warning( "Skipping stale compressor attempt-state restore: attempt " "generation %s no longer owns the compressor (current: %s). A newer (stall-fallback) attempt's state is preserved.", - attempt_generation, - getattr(compressor, "_compression_attempt_generation", None), + attempt_generation, getattr(compressor, "_compression_attempt_generation", None), ) return # Success clears the durable cooldown pre-commit; recreate/clear that row BEFORE @@ -312,8 +311,7 @@ def _restore_compressor_attempt_state( if attempt_generation and int(getattr(compressor, "_compression_attempt_generation", 0) or 0) != attempt_generation: logger.warning( "Skipping stale compressor attempt-state restore at write " - "time: attempt generation %s lost the compressor mid-restore.", - attempt_generation, + "time: attempt generation %s lost the compressor mid-restore.", attempt_generation, ) return for name, value in restored.items(): @@ -858,9 +856,7 @@ def _retry_compression_on_fallback_chain( ceiling = max(float(total_ceiling_seconds), idle) logger.warning( "Context compression stalled on the configured summary route — " - "retrying once on %s (%s) before continuing without compression", - route["label"], - route["model"], + "retrying once on %s (%s) before continuing without compression", route["label"], route["model"], ) try: from agent.context_compressor import pin_summary_route @@ -933,9 +929,7 @@ def _await_in_flight_commit( log( "Context compression SessionDB commit still running " "%.1fs past the total ceiling (waited %.1fs, ceiling %.1fs); commit cannot be abandoned mid-flight — " - "continuing to wait (check SessionDB health if this persists)", - waited - ceiling, - waited, + "continuing to wait (check SessionDB health if this persists)", waited - ceiling, waited, ceiling, ) if not overrun_surfaced and on_commit_overrun is not None: @@ -983,8 +977,7 @@ def _release_cancelled_worker( logger.warning( "Cancelled compression worker did not exit within %.1fs " "grace — orphaning it behind the poison fence (late result will be discarded); retaining the session " - "compression lease until it exits so no new attempt overlaps it", - grace, + "compression lease until it exits so no new attempt overlaps it", grace, ) fence.release_cancelled_compression_lock() @@ -1111,10 +1104,7 @@ def run_compress_context_with_progress_timeout( else: logger.warning( "Context compression made no progress for %.1fs (total wait %.1fs, ceiling %.1fs); continuing without " - "compression", - since_progress, - waited, - ceiling, + "compression", since_progress, waited, ceiling, ) # Leave the future on the shared pool: fence cancel won, so a late # commit cannot land (same detachment model as gateway hygiene). @@ -1351,8 +1341,7 @@ def _mark_compression_blocked_transient(agent: Any, compressor: Any) -> None: logger.info( "Skipping automatic compression re-entry: transient guard " "active (%s, session=%s, last failure: %s) — will retry after " - "the backoff lapses; /compress forces an immediate retry", - reason, + "the backoff lapses; /compress forces an immediate retry", reason, getattr(agent, "session_id", None) or "none", getattr(compressor, "_last_summary_error", None) or "unknown", ) @@ -1732,11 +1721,8 @@ def _lower_threshold_to_aux_context( agent._emit_status(msg) logger.warning( "Auxiliary compression model %s has %d token context, below the main model's compression threshold of %d " - "tokens — auto-lowered session threshold to %d to keep compression working.", - aux_model, - aux_context, - old_threshold, - new_threshold, + "tokens — auto-lowered session threshold to %d to keep compression working.", aux_model, aux_context, + old_threshold, new_threshold, ) @@ -2375,9 +2361,7 @@ def _try_acquire_durable_lock(lease: _CompressionLease, try_acquire: Any, commit except Exception as _wm_err: logger.warning( "compression watermark capture failed for session=%s (%s) — concurrent appends this cycle " - "will be archived with the snapshot", - lease.sid, - _wm_err, + "will be archived with the snapshot", lease.sid, _wm_err, ) lease.watermark = None return acquired @@ -2403,9 +2387,7 @@ def _sit_out_lock_contention( existing = None logger.warning( "compression skipped: another path is compressing session=%s " - "(holder=%s) — returning messages unchanged to avoid session fork", - lease.sid, - existing, + "(holder=%s) — returning messages unchanged to avoid session fork", lease.sid, existing, ) lease.holder = None # don't release a lock we don't own # Distinguish lock-contention no-op from "nothing to compress" so manual @@ -2533,8 +2515,7 @@ def _adopt_if_parent_rotated( return recovered_messages, _existing_sp logger.warning( "compression skipped: session=%s was already rotated by " - "another compression path, but no unique live child could be adopted", - lease.sid, + "another compression path, but no unique live child could be adopted", lease.sid, ) return messages, _existing_sp @@ -2570,9 +2551,7 @@ def _adopt_grown_durable_parent(agent: Any, lease: _CompressionLease, messages: logger.warning( "compression: session=%s grew before lease (%d → %d msgs) but the pre-adoption flush of the " "live tail failed; skipping durable-snapshot adoption so un-persisted user input is kept", - lease.sid, - len(messages), - len(durable_parent), + lease.sid, len(messages), len(durable_parent), ) return None # Re-read after the flush so the adopted snapshot carries the just-persisted tail. @@ -2793,9 +2772,7 @@ def _rebuild_system_prompt_at_boundary(agent: Any, system_message: str) -> str: logger.info( "Compaction rebuilt a drifted system prompt (session=%s, %d -> %d chars): builder output changed " "since the stored snapshot (update, config change, or memory/skills growth)", - agent.session_id or "none", - len(cached_system_prompt), - len(new_system_prompt), + agent.session_id or "none", len(cached_system_prompt), len(new_system_prompt), ) return new_system_prompt @@ -2828,8 +2805,7 @@ def _salvage_or_refuse_grown_transcript( if _rough_out > _rough_in: logger.warning( "Compression refused: compressed transcript would be larger than the original (session=%s, ~%s -> ~%s " - "tokens); keeping the original transcript unchanged", - agent.session_id or "none", + "tokens); keeping the original transcript unchanged", agent.session_id or "none", f"{_rough_in:,}", f"{_rough_out:,}", ) @@ -3172,8 +3148,7 @@ def _candidate_rejected( if not _compressor_attempt_is_current(agent.context_compressor, attempt_generation): logger.warning( "Discarding late compression candidate: attempt generation " - "%s was superseded by a newer attempt (current: %s) (session=%s).", - attempt_generation, + "%s was superseded by a newer attempt (current: %s) (session=%s).", attempt_generation, getattr(agent.context_compressor, "_compression_attempt_generation", None), agent.session_id or "none", ) @@ -3977,8 +3952,7 @@ def try_shrink_image_parts_in_messages(api_messages: list, *, max_dimension: int # if others shrank so the caller surfaces the original error. logger.warning( "image-shrink recovery: %d oversized image part(s) could not be " - "shrunk under %.0f MB — not retrying (would re-send rejected payload)", - unshrinkable_oversized, + "shrunk under %.0f MB — not retrying (would re-send rejected payload)", unshrinkable_oversized, target_mb, ) return False