From 0a3cd3fd7a12e311c0323823f63b6af2d0192718 Mon Sep 17 00:00:00 2001 From: Roman Date: Wed, 20 May 2026 13:23:06 +0400 Subject: [PATCH] v2.2.1: fix compaction orphaning tool outputs (tested, all 8 tests pass) - Compaction now walks tail boundary past fc/fco/assistant to keep pairs intact - All 8 pipeline tests pass: compaction, message translation, 5 Crof models - reasoning_effort=none confirmed working: 0 reasoning on mimo/kimi/deepseek - No orphaned function_call_output items after compaction --- codex-launcher_2.2.1_all.deb | Bin 24488 -> 24498 bytes src/translate-proxy.py | 8 ++++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/codex-launcher_2.2.1_all.deb b/codex-launcher_2.2.1_all.deb index 1bf05c8c5dc82784f8131ef2ac98ce86d90e971e..873bdb57941fab4026509b3741ed8f1dd89113d8 100644 GIT binary patch delta 23762 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 z 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 NSorj1eorjiS_-w|C!7EP delta 23752 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%0A( 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 head_end: - if input_data[tail_start].get("type") == "function_call_output": + t = input_data[tail_start].get("type") + r = input_data[tail_start].get("role", "") + if t == "function_call_output": tail_start -= 1 - elif input_data[tail_start].get("type") == "message" and input_data[tail_start].get("role") == "assistant": + elif t == "function_call": + tail_start -= 1 + elif t == "message" and r == "assistant": tail_start -= 1 else: break