4dbeca5a2e
Qwen3-1.7B pretty-prints its JSON: it opens the object and writes three newlines before the first key. escapeRawControls rewrote those structural newlines into a literal backslash-n, which is legal nowhere outside a string, so the object stopped parsing and came back as errBrokenJSON. The comment claimed escaping unconditionally could not turn valid JSON into anything else, on the grounds that JSON permits no control character outside a string. It permits three: newline, tab and return are whitespace between tokens, and that is what pretty-printing is made of. Measured on the talk fixture against the resident model: 31 of 36 conversational cases were failing generations and answered from the stub. Every chat reply and every knowledge answer the resident model wrote was being discarded. Now 25/36 pass every check, 0 errors, and the 15 nudges stay at 15/15.