Repository navigation
Preserve literal reasoning tags in assistant history - #1009
Merged
Merged
Conversation
bradhilton
marked this pull request as ready for review
September 28, 2026 14:18
bradhilton
added a commit
that referenced
this pull request
Oct 10, 2026
This reverts commit 1006597. Restores pre-#925 SPMD trainer execution: trainer_rank/ and megatron/ now match 652e0f0 apart from the independent #1089. The cloudpickle dependency goes with it; the uv.lock conflict was the adjacent datrie line #1104 removed. Rendering is intentionally unchanged. #925 also removed #967's _preserve_literal_thinking_off_content and part of #1009's chat-template parser handling. Those, and the tests that cover them, stay byte-identical to main until a separate investigation decides: src/art/trajectories/_tokenize.py src/art_inference/chat_template.py tests/unit/test_literal_reasoning_content.py tests/unit/test_reasoning_parser_joined_branches.py tests/unit/trajectories/test_literal_thinking_off.py tests/unit/trajectories/test_recorded_boundaries.py tests/unit/trajectories/test_recorded_boundary_source_guard.py
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.