ee2b678bcb
Operator-directed evaluation window. char-rp-reasoning now resolves to Fable-Fusion 711 on :8019 instead of Dark-Scarlett on :8018; DS is DOWN because GPU1 is zero-sum and FF occupies her slot. This is an EXPLICIT substitution, not a silent alias swap: the config block says so in place, carries the measured justification, and names the rollback. char-rp-fable is added as the seat's honest name so the evaluation can address it without depending on the temporary repoint, and as a distinct model_name it gets its own litellm_params object rather than sharing one (which is what bleeds sampler overrides between variants). Samplers are unchanged from the DS entry and match the model card's thinking-mode recommendation (temp 1.0 / top_p 0.95 / top_k 20). Verified the FF chat template actually honours enable_thinking (chat_template.jinja:44) rather than ignoring it -- the mismatch that returned null content on the MeroMero seat. Verified end-to-end through the gateway on both aliases: prose in content, CoT in reasoning_content, finish=stop. CONSUMER HAZARD: FF reasons heavily (2.1-4.6k chars). At max_tokens=1200 one of seven calls returned EMPTY content with finish_reason=length -- reasoning ate the whole budget. Not a refusal and not an alias fault. Use max_tokens >= 3072; 6/6 clean there. No default is baked into the alias because that would override caller intent silently.