#/model switch reverts silently after session auto-reset

1 messages · Page 1 of 1 (latest)

hushed raptor
#

Summary: Switching models via /model mid-session holds initially but silently reverts to model.default after the session auto-resets (context compression/overflow). No notification is given.

Env: Hermes v2026.5.7, opencode-go, Telegram gateway

Steps:

  1. Start with model.default: deepseek-v4-pro
  2. /model deepseek-v4-flash — works for several turns ✅
  3. Context grows → auto-compression triggers → session auto-resets
  4. Next message silently uses deepseek-v4-pro again ❌

Log evidence (same session ID 20260511_023719_9bc59328):
03:01:30 — model=deepseek-v4-flash ✅
03:08:33 — Turn ended (interrupted)
03:20:44 — model=deepseek-v4-pro ❌

Root Cause: gateway/run.py intentionally clears _session_model_overrides on auto-reset (lines 6944–6952 and 7714–7724). Comment says: "Treat auto-reset as a full conversation boundary — drop every session-scoped transient state." The user's explicit model choice is treated as disposable transient state.

Proposed fix: Preserve model overrides across auto-resets (user's explicit choice ≠ transient state). At minimum, surface a notice like [Model reverted to default: deepseek-v4-pro] so the user knows what happened.

Workaround: Set preferred model as model.default in config.yaml.


I made my agent in chat rewrite whole msg in detail so its easier to explain..i hope its clear