Compact local qwen3-coder-next earlier

ober

00a70dae63c13cec3ef08d26c0590abe5f634a98

diff --git a/src/jcode/core/models.ss b/src/jcode/core/models.ss
index 92cbe26..3161326 100644
--- a/src/jcode/core/models.ss
+++ b/src/jcode/core/models.ss
@@ -460,6 +460,11 @@
       ;; weights leave only ~4 GB under the 32 GB wired cap, so keep the window
       ;; conservative — compaction must fire before prefill OOMs the GPU.
       ((string-contains mid "TurboQuant")               16384)
+      ;; The local qwen3-coder-next MLX server stalls before completing large
+      ;; 26k-token prefill turns. Keep its budget below the generic qwen3
+      ;; architectural window so auto-compaction starts while the server is
+      ;; still responsive.
+      ((string-contains mid "qwen3-coder-next-mlx")      16384)
       ;; grok-build: Grok CLI proxy advertises a 512k context window in
       ;; ~/.grok/models_cache.json (info.context_window). Hardcode here so
       ;; the TUI ctx% bar has a value even before models_cache.json is read.
diff --git a/test/run.ss b/test/run.ss
index 19c1df4..4b433da 100644
--- a/test/run.ss
+++ b/test/run.ss
@@ -1820,6 +1820,10 @@
 
 (check! "ctx window grok-build = 512000" (model-context-window "grok-build") 512000)
 (check! "ctx window grok-3 unaffected (no clause)" (model-context-window "grok-3") #f)
+(check! "ctx window qwen3-coder-next mlx conservative"
+  (model-context-window "/Users/user/models/qwen3-coder-next-mlx") 16384)
+(check! "ctx window generic qwen3 remains 32768"
+  (model-context-window "qwen3:8b-q4_K_M") 32768)
 
 ;; ── provider: grok Responses adapter ──────────────────────────────
 ;; All hermetic — tests drive the pure helpers exported by the provider