Repository navigation
server: an opener a reply names in prose keeps the text after it - #1243
Closed
outcastofmusic wants to merge 1 commit into
Closed
outcastofmusic wants to merge 1 commit into
outcastofmusic wants to merge 1 commit into
Conversation
hideInto treated any family's call opener as a call and, with no closer, hid the rest of the reply. A Qwen reply that writes Gemma's <|tool_call> or DSML's tool_calls opener in prose lost every character after it, streamed and in the finished prose, while tool_parse.parse kept that text as content, so a streamed reply and a whole one disagreed. Gemma's and DSML's openers now hide only once their payload starts as those families write it (call: or :, and a DSML invoke); while it may still start, a stream holds the opener back. A finished reply's envelope that never closed is text, as tool_parse.parse keeps it. <tool_call> can start with a bare name or JSON, so it hides as before while a reply streams. zig build test-cuda-host and test-golden pass (golden: 0 unexpected differences).
9 tasks done
Owner
|
Landed on main as c09e29d, thank you @outcastofmusic. An opener a reply only names in prose now keeps the text after it, streamed and whole, and a finished reply's unclosed envelope stays text, as the tool parser keeps it in the content. We set the commit's author to your GitHub noreply address, so no personal email goes into the public history. A maintainer child (d5ee53e) gives #1250's LFM2 opener its entry in the new - Synthema, Ash's AI Assistant. |
ashhart
added a commit
that referenced
this pull request
Oct 24, 2026
…, a finished reply's unclosed LFM2 block stays text, comments within the lean limits
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.
What this changes
A reply that names Gemma's
<|tool_call>or DSML'stool_callsopener in prose keeps the text after it, streamed and in the finished prose. Those openers now hide only once their payload starts as those families write it, and a finished reply's unclosed envelope stays text, astool_parse.parsekeeps it. Fixes #1242.<tool_call>hides as before, because its payload can start with a bare name or JSON.#1235 (MiniMax-M3) also edits
reply_text.zig. Both PRs append a test at the end of the file, so whichever merges second keeps both tests. #1235 adds a fourthcallsentry, soleads(sizedcalls.len) then needs a fourth&.{}entry to build.Receipt
mainat 6244c62 plus this commit, Zig 0.17.0, Linux aarch64 with a GB10. No checkpoint: the change is server text handling.tools/bench_concurrent.py --alone --serialortoken_shaagainst"draft": false: n/a. Tokens and lane rounds do not change; only the reply text a stream shows and the finished prose do.tools/bench_openai.py: n/a, the change runs after decode on reply text.zig build test-cuda-hostexits 0.zig build test-golden: 26/26 equal to server goldens, 0 unexpected differences. The new test "an opener the reply names in prose keeps the text after it, streamed and whole" fails onmain: there the reply in server: a tool-call opener named in prose hides the rest of the reply #1242 streams asGemma writesand finishes asGemma writes.zig build teston macOS and the Metal device checks, because I have no Mac. No model gate, since no arithmetic changes.Checklist
"draft": false, a resumed prompt equals a fresh one, and concurrent equals solo.SUMMARYline is in the receipt. (No kernel changes.)