Avoid specified tool choice for Kimi forced edits

ober

33abbffec3e83917aa5b3a2098d76cb75333468f

diff --git a/src/jcode/core/verified-run.ss b/src/jcode/core/verified-run.ss
index 1365f2b..aa220fc 100644
--- a/src/jcode/core/verified-run.ss
+++ b/src/jcode/core/verified-run.ss
@@ -383,6 +383,12 @@
       "Forced first-edit turn rejected: the model called a hidden inspection or non-edit tool. Do not call read, list, balance, verify, or any other tool on this turn. Call exactly edit(path=<scoped target file>, content=<complete minimal acceptance-complete file body>) or write(path=<scoped target file>, content=<complete minimal acceptance-complete file body>) now.")
     response))
 
+(def (specified-tool-choice-supported? provider)
+  (not (and (equal? (provider-name provider) "openrouter")
+            (string? (provider-model provider))
+            (string-prefix? "moonshotai/kimi-k3"
+                            (provider-model provider)))))
+
 (def (provider-responder provider)
   (let ((backend (if (procedure? provider)
                    provider
@@ -431,7 +437,9 @@
                  messages specs #f))
 	              (let ((forced-choice (force-first-edit-tool-choice specs)))
 	                (parameterize
-	                  ((current-tool-choice-override forced-choice))
+	                  ((current-tool-choice-override
+	                     (and (specified-tool-choice-supported? provider)
+	                          forced-choice)))
 	                  (forced-first-edit-response
 	                    (backend messages
 	                             (forced-first-edit-specs specs forced-choice)