From f84ad44a99e4fb4365fa77d4c64648e052ad0697 Mon Sep 17 00:00:00 2001 From: Dustin Washington Date: Tue, 3 Feb 2026 07:38:17 -0500 Subject: [PATCH 1/3] Bump Version --- cecli/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cecli/__init__.py b/cecli/__init__.py index e805aeaf69e..04cb9d4e9a1 100644 --- a/cecli/__init__.py +++ b/cecli/__init__.py @@ -1,6 +1,6 @@ from packaging import version -__version__ = "0.96.8.dev" +__version__ = "0.96.9.dev" safe_version = __version__ try: From 47bbe7707b54af1b56b5dd61bc8d311ac6cbf59c Mon Sep 17 00:00:00 2001 From: Dustin Washington Date: Tue, 3 Feb 2026 07:41:26 -0500 Subject: [PATCH 2/3] provider_specific_fields can sometimes exist and be "None" --- cecli/helpers/requests.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cecli/helpers/requests.py b/cecli/helpers/requests.py index 2e39bc41e54..6d5b1c574c3 100644 --- a/cecli/helpers/requests.py +++ b/cecli/helpers/requests.py @@ -36,6 +36,9 @@ def _process_thought_signature(container): if "provider_specific_fields" not in container: container["provider_specific_fields"] = {} + if not container["provider_specific_fields"]: + container["provider_specific_fields"] = {} + psf = container["provider_specific_fields"] if "thought_signature" not in psf: From 9413d3981da1da83e0e3dffadbe44ea29ef51041 Mon Sep 17 00:00:00 2001 From: Dustin Washington Date: Tue, 3 Feb 2026 07:54:21 -0500 Subject: [PATCH 3/3] Uniquely identify tool call responses since models can duplicate them and it messes up the agent when they do --- cecli/coders/base_coder.py | 1 + cecli/helpers/conversation/integration.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/cecli/coders/base_coder.py b/cecli/coders/base_coder.py index ae7791207d8..da1a486a619 100755 --- a/cecli/coders/base_coder.py +++ b/cecli/coders/base_coder.py @@ -2404,6 +2404,7 @@ async def process_tool_calls(self, tool_call_response): ConversationManager.add_message( message_dict=tool_response, tag=MessageTag.CUR, + hash_key=(tool_response["tool_call_id"], str(time.monotonic_ns())), ) return True diff --git a/cecli/helpers/conversation/integration.py b/cecli/helpers/conversation/integration.py index 40451a0b753..f9a19317790 100644 --- a/cecli/helpers/conversation/integration.py +++ b/cecli/helpers/conversation/integration.py @@ -161,7 +161,7 @@ def add_file_list_reminder(cls, coder) -> None: }, tag=MessageTag.REMINDER, priority=275, # Between post_message blocks and final reminders - hash_key=("file_list_reminder",), # Unique hash_key to avoid conflicts + hash_key=("reminder", "file_list"), # Unique hash_key to avoid conflicts mark_for_delete=0, # Lasts for exactly one turn )