Preserve literal reasoning tags in assistant history - #1009
Merged
Merged
Conversation
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.
Qwen-style inline reasoning parsing can delete literal content containing
<think>or</think>. Disable the executable parser while preserving surrounding whitespace and explicit structured reasoning.Moving a trim requires a proven local renderer, a closed template effect boundary, and namespace mutations limited to private counters that remain bound to their validated declarations. Unknown callbacks, shared bindings and unproved macro calls retain their original trims and evaluation order. This changes the shared inference template helper; tokenizer APIs are unchanged.
Validation: 295 parser cases pass, including callback and parameter-alias regressions that fail their respective parent versions. Public forward-block and caller-default cases also reproduce the old problem and pass. Both actual Qwen template assets retain identical normalized bytes and thinking defaults. Ruff and formatting pass; type diagnostics match the existing baseline. Final independent CLI reviews and CI are running.