Repository navigation
fix: drop sampling parameters when Anthropic thinking is enabled (WI-1798) - #424
Merged
Merged
Conversation
… (WI-1798) Anthropic rejects temperature and top_p alongside thinking, but Fantasy clears them only on its explicit-budget thinking path. The effort path used for coding agents, and an operator thinking override forwarded via ExtraBody, left them set, so Standard-agent temperature and configured top_p reached the provider. Report whether the adapter enabled thinking from callProviderOptions and clear temperature/top_p on the call whenever it did, covering both the effort path and an enabled operator thinking override.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Anthropic rejects
temperatureandtop_palongside thinking, but Fantasy clears them only on its explicit-budget thinking path. The effort path used for coding agents — and an operatorthinkingoverride forwarded viaExtraBody— left them set, so the hard-coded Standard-agent temperature and configuredtop_preached the provider.Change
callProviderOptionsnow reports whether the adapter enabled Anthropic thinking (effort, or an enabled operatorthinkingoverride), andGenerateclearstemperature/top_pon the call when it did. Athinking: {type: disabled}override is treated as disabled, so sampling is preserved there.Sampling is still preserved whenever thinking is off, and the verbatim forwarding of an operator
thinkingoverride is unchanged.Tests
Windshiftapp/core-tests-internal#24 — wire-level Anthropic bodies for configured effort, coding-agent effort, an operator thinking override, thinking disabled, and a disabled override. Fails against the pre-fix code with sampling parameters leaking alongside thinking.