diff --git a/agent/auxiliary_client.py b/agent/auxiliary_client.py index a069629e44..551341e9a6 100644 --- a/agent/auxiliary_client.py +++ b/agent/auxiliary_client.py @@ -671,7 +671,9 @@ def _is_codex_gpt54_or_gpt55(model: Optional[str], provider: Optional[str] = Non via prefix so the override tracks every 272K-capped family (5.4, 5.5, 5.6 sol/terra/luna incl. their ``-pro`` modes) without re-listing every variant. (Name kept for backward compatibility with the - ``compression.codex_gpt55_autoraise`` config key.) + ``compression.codex_gpt55_autoraise`` config key.) The exact + ``gpt-daybreak-blue-latest`` Codex slug is also a verified Sol-family + alias and receives the same autoraise. """ prov = (provider or "").strip().lower() if prov != "openai-codex": @@ -687,6 +689,7 @@ def _is_codex_gpt54_or_gpt55(model: Optional[str], provider: Optional[str] = Non or bare == "gpt-5.6" or bare.startswith("gpt-5.6-") or bare.startswith("gpt-5.6.") + or bare == "gpt-daybreak-blue-latest" ) @@ -741,7 +744,8 @@ def _compression_threshold_for_model( Per-model/route overrides: - Arcee Trinity Large Thinking → 0.75 (preserve reasoning context). - - gpt-5.4 / gpt-5.5 / gpt-5.6 on the Codex OAuth route → 0.85, because + - gpt-5.4 / gpt-5.5 / gpt-5.6 and the exact Daybreak Sol alias on the + Codex OAuth route → 0.85, because Codex caps all three families at 272K and the default 50% trigger would compact at ~136K. Gated by ``allow_codex_gpt55_autoraise`` (historical config-key name kept for backward compatibility) so the diff --git a/tests/agent/test_arcee_trinity_overrides.py b/tests/agent/test_arcee_trinity_overrides.py index 562674527c..63e6bbc161 100644 --- a/tests/agent/test_arcee_trinity_overrides.py +++ b/tests/agent/test_arcee_trinity_overrides.py @@ -74,7 +74,10 @@ def test_compression_threshold_default_none_for_other_models() -> None: @pytest.mark.parametrize( "model", - ["gpt-5", "gpt-5.55", "gpt-5.50", "gpt-5.45", "gpt-5.40", "", None], + [ + "gpt-5", "gpt-5.55", "gpt-5.50", "gpt-5.45", "gpt-5.40", + "gpt-daybreak-blue-latest-mini", "", None, + ], ) def test_is_codex_gpt54_or_gpt55_rejects_non_54_55_models(model) -> None: # Close numeric neighbours must NOT match — the prefix guards require a @@ -89,6 +92,8 @@ def test_compression_threshold_for_codex_gpt55() -> None: assert _compression_threshold_for_model("gpt-5.5", "openai-codex") == 0.85 assert _compression_threshold_for_model("gpt-5.5-pro", "openai-codex") == 0.85 assert _compression_threshold_for_model("openai/gpt-5.5", "openai-codex") == 0.85 + assert _is_codex_gpt54_or_gpt55("gpt-daybreak-blue-latest", "openai-codex") is True + assert _compression_threshold_for_model("gpt-daybreak-blue-latest", "openai-codex") == 0.85