fix(kimi): cover remaining fixed-temperature bypasses

This commit is contained in:
helix4u
2026-04-17 20:39:24 -06:00
committed by Teknium
parent 53e4a2f2c6
commit 148459716c
7 changed files with 145 additions and 20 deletions

View File

@@ -11,6 +11,7 @@ each asyncio.run() gets a client bound to the current loop.
"""
import types
from types import SimpleNamespace
from unittest.mock import MagicMock, patch
import pytest
@@ -113,3 +114,30 @@ class TestSourceLineVerification:
"""_get_async_client method should exist."""
src = self._read_file()
assert "def _get_async_client(self)" in src
@pytest.mark.asyncio
async def test_generate_summary_async_custom_client_forces_kimi_temperature():
from trajectory_compressor import CompressionConfig, TrajectoryCompressor, TrajectoryMetrics
config = CompressionConfig(
summarization_model="kimi-for-coding",
temperature=0.3,
summary_target_tokens=100,
max_retries=1,
)
compressor = TrajectoryCompressor.__new__(TrajectoryCompressor)
compressor.config = config
compressor.logger = MagicMock()
compressor._use_call_llm = False
async_client = MagicMock()
async_client.chat.completions.create = MagicMock(return_value=SimpleNamespace(
choices=[SimpleNamespace(message=SimpleNamespace(content="[CONTEXT SUMMARY]: summary"))]
))
compressor._get_async_client = MagicMock(return_value=async_client)
metrics = TrajectoryMetrics()
result = await compressor._generate_summary_async("tool output", metrics)
assert result.startswith("[CONTEXT SUMMARY]:")
assert async_client.chat.completions.create.call_args.kwargs["temperature"] == 0.6