From 821f751870b7e4faa2047791842b53d910116c82 Mon Sep 17 00:00:00 2001 From: Vuong Hoang Date: Sun, 16 Aug 2026 15:23:39 -0700 Subject: [PATCH] revert(gen-seat): roll back to qwen38-27b-uncensored-nvfp4-mixed Operator reports AEON-ULTIMATE degenerate on long MULTI-TURN conversations. Restored the previous model and removed the reasoning_effort default in the same change, so the model is the only variable differing from the pre-trial state and the operator's comparison is clean. My acceptance gate did not cover this failure mode and should have. Every probe was SINGLE-TURN -- quickbench, concbench, surface_test, the long-form smokes -- so a defect that only appears as conversation history accumulates was structurally invisible to all of it. The gate measures decode speed, MTP acceptance, abliteration survival, and a 36k needle, and passes a model that degrades across turns. Verified restored via docker inspect rather than the compose file: /model -> qwen38-27b-uncensored-nvfp4-mixed, --default-chat-template-kwargs absent, MTP drafter loaded, all 7 aliases answering. AEON weights retained at /tank/aimodels/qwen38-27b-aeon-ultimate-nvfp4 for diagnosis; bench artifacts stay in services/gen-seat-mixed-quant/bench/. Its single-turn numbers were real (104.22 tok/s, 52.3% MTP, 4/4 abliteration, 6/6 surface) -- they were just measuring the wrong thing. --- stacks/gen-seat/compose.yaml | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/stacks/gen-seat/compose.yaml b/stacks/gen-seat/compose.yaml index 2cfff28..ef23a45 100644 --- a/stacks/gen-seat/compose.yaml +++ b/stacks/gen-seat/compose.yaml @@ -62,21 +62,13 @@ services: - '{"image": 4}' - --reasoning-parser - ${GEN_REASONING_PARSER:-qwen3} - # Seat-level DEFAULT reasoning effort, per-request overridable via - # chat_template_kwargs. The AEON-ULTIMATE chat template defaults to - # `xhigh` (template line 47), and at xhigh this model can spend its ENTIRE - # token budget inside -- the block runs past 18k chars, sometimes - # degenerating into repeating one line, and no answer is ever emitted. - # That is a silent-empty-response hazard for the automated consumers on - # this seat (`summarizer`, `classifier`), so the default is pinned down a - # notch rather than left at the model's own. - # Template accepts ONLY xhigh | medium | low and RAISES on anything else, - # so a typo in a caller's chat_template_kwargs is a 400, not a silent - # fallback. Empty value = omit the flag entirely (pre-AEON models such as - # the Qwen3.6 line do not read this kwarg at all, and setting it there - # would be a false lever). - - --default-chat-template-kwargs - - '{"reasoning_effort": "${GEN_REASONING_EFFORT:-medium}"}' + # NOTE: a --default-chat-template-kwargs '{"reasoning_effort": "medium"}' + # line lived here during the 2026-08-16 AEON-ULTIMATE trial and was + # REMOVED on rollback, so that restoring the previous model restores the + # previous behaviour exactly and the model stays the only changed + # variable. Re-add it only alongside a template that actually reads the + # kwarg (AEON's does, at chat_template.jinja:47; the Qwen3.6 line ignores + # it entirely, where setting it would be a false lever). - --enable-auto-tool-choice - --tool-call-parser - qwen3_coder