-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Preserve reasoning and replay tool history across turns #2470
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
gary149
wants to merge
18
commits into
main
Choose a base branch
from
preserve-reasoning-tool-replay
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
4e9a80e
Preserve reasoning and replay tool history for multi-turn tool calling
gary149 f8865aa
Measure streaming TTFT and throughput in the replay harness
gary149 ce6265a
Harden tool history replay: provider-safe ids, honest interrupts, siz…
gary149 56382cf
Extend reasoning_content replay to the plain completion flow
gary149 c04f2e9
Clarify why replayed reasoning attaches to the final message
gary149 2f773dd
Make replay budget degradation monotonic
gary149 d7fcbfb
Attribute replayed reasoning to its tool round; honor user reasoning …
gary149 24ec859
Accept reasoning_text as a third incoming reasoning field
gary149 2ba08f8
Flag reasoning support for DeepSeek-V4-Flash and Qwen3.6 models
gary149 e1c5f1d
Teach sync-models that supportsReasoning also gates reasoning replay
gary149 2040703
Fix reasoning byte fidelity, preamble attribution, and budget-fallbac…
gary149 120ffdb
Fix preamble duplication on replay and whitespace loss in reasoning s…
gary149 2530e4f
Strip Gemma-flow think leak, gate cross-producer reasoning, persist r…
gary149 64425f0
Fix leading-whitespace reasoning loss, stale-producer reasoning after…
gary149 d8a9700
Omit empty replayed final messages; fail the harness when the nonce r…
gary149 05aa616
Scope round-reasoning dedup to a positional match; omit phantom empty…
gary149 7e0c7a2
Prefix-only preamble dedup, empty-flat guard, per-rep coherence gate
gary149 bc8e231
Merge remote-tracking branch 'origin/main' into preserve-reasoning-to…
gary149 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[P2] Separate preserved-thinking support from reasoning effort
supportsReasoningcurrently enables both historicalreasoning_contentreplay and the low/medium/high effort control. Qwen3.6 documents preserved thinking throughpreserve_thinking, while the current Qwen/DashScope interface exposes only Booleanenable_thinking, not effort tiers. Marking these modelssupportsReasoning: truetherefore exposes a misleading control and can send an unsupported or ineffectivereasoning_effortvalue. Please split replay/preservation capability from effort-tier capability and wire Qwen’s provider-specific preservation option separately.