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.
This commit is contained in:
vh
2026-08-16 15:23:39 -07:00
parent fb3bb521fe
commit 821f751870
+7 -15
View File
@@ -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 <think> -- 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