Avoid specified tool choice for Kimi forced edits
ober
33abbffec3e83917aa5b3a2098d76cb75333468f
--- 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)