feat: refresh context compaction lesson

This commit is contained in:
Haoran
2026-07-31 15:52:53 +08:00
parent 2affb3f345
commit 13dc5396bb
34 changed files with 1267 additions and 786 deletions

View File

@@ -174,7 +174,7 @@ class CompactionToolPairTests(unittest.TestCase):
module = load_module(f"{name}_reactive_under_test", path, Path(tmp))
module.write_transcript = lambda _messages: Path("transcript.jsonl")
module.summarize_history = lambda _messages: "summary"
compacted = module.reactive_compact(list(messages))
compacted = module.reactive_compact(list(messages), "continue")
self.assertEqual(compacted[1], messages[3])
assert_no_orphan_tool_results(self, compacted)
@@ -202,7 +202,7 @@ class CompactionToolPairTests(unittest.TestCase):
return "summary"
module.summarize_history = fake_summarize
compacted = module.reactive_compact(list(messages))
compacted = module.reactive_compact(list(messages), "continue")
# The summary must cover only the old history, not the kept tail.
self.assertEqual(captured["messages"], messages[:4])
# The recent tail is appended verbatim after the summary message.
@@ -237,7 +237,7 @@ class CompactionToolPairTests(unittest.TestCase):
return "summary"
module.summarize_history = fake_summarize
compacted = module.reactive_compact(list(messages))
compacted = module.reactive_compact(list(messages), "continue")
# tail_start starts at 4, decrements to 3 to keep the pair intact.
self.assertEqual(captured["messages"], messages[:3])
self.assertEqual(compacted[1], messages[3])