Skip to content

DeepSeek V4 Flash 0731 650K Primary promotion

Date: 2026-08-02

Decision: current for llm.primary, human-approved

Evidence: functional, capacity Measured hardware: 2x NVIDIA RTX PRO 6000 Blackwell Max-Q over PCIe without NVLink, exclusive TP=2; display output on the AMD iGPU

Outcome

The promoted single-user coding and agentic profile is the official deepseek-ai/DeepSeek-V4-Flash-0731 revision 9e165c30, served by the pinned r16 B12X image at 650,000 context tokens, MAX_NUM_SEQS=16, MAX_NUM_BATCHED_TOKENS=4096, DSpark K5, FP8 MLA KV, and no CPU KV offload. The router exposes it as llm.primary; llm.rollback retains the managed Qwen rollback. Pi on Primary Node, Pi on Companion Node, and OpenClaw on Companion Node all completed exact live smokes through the promoted alias. High reasoning is the client default, while low, high, and max remain selectable.

This promotion follows the earlier 650K/1M qualification, which measured a successful approximately 640K retrieval and 141.6 tok/s median decode in the matched 32K/c1 slice for the 650K profile. Those retained low-reasoning numbers establish the performance and capacity baseline; the promotion smokes establish current high-reasoning client compatibility, not a new high-reasoning throughput claim.

Testing narrative

This campaign started with a practical hardware change rather than a model flag. The Windows desktop moved from the two PRO 6000 cards to the AMD iGPU so the inference cards could devote their memory to one exclusive TP=2 serve. The first question was whether the community recipe's 16-sequence envelope would start at all on the local WSL2 topology. It did at 128K, so the next tests held the model, image, quantization, DSpark depth, TP size, and utilization fixed while increasing only context and reducing the batching budget.

The 650K profile used 4,096 batched tokens and recovered a needle near 640K. The 1M profile used 2,048 batched tokens and recovered a needle near 985K. On those bounded tests, 1M looked like the more useful result: it passed the Pi protocol gate, a matched 32K performance run, and a post-stress smoke. That is why it was tried first as the client-facing configuration rather than rejected from a spreadsheet estimate.

Real use changed the decision. A normal agent request from Pi killed the 1M engine on a B12X workspace allocation. Lowering the router output allowance did not solve it; a second Pi request with a 19,118-token prompt and only 5,120 requested output tokens reproduced the fatal condition. The useful result was not simply that 1M could answer a 985K needle. It was learning that this success did not survive the prompt and tool shapes generated by the actual coding client.

The fallback was therefore tested the same way it would be used. The 650K profile answered through Pi on Primary Node, Pi on Companion Node, and OpenClaw on Companion Node with high reasoning selected and no silent model fallback. A live 50,000-token request also proved the new router guard by completing at the model-specific 32,768-token cap and returning an explicit clamp warning. The campaign's success is the resulting operating contract: 650K is repeatable for the single-user coding workflow, 1M remains visible as failed client-facing evidence, and every other GPU workload is mechanically excluded while the TP=2 serve owns both cards.

Why 650K, not 1M

The 1M/maxseq16 profile had passed a synthetic Pi gate, matched performance, near-985K retrieval, and a post-stress smoke. It nevertheless crashed twice under real client request shapes. The first request asked for 32,768 output tokens and required a 703.64 MiB B12X workspace when only 514.25 MiB was available. After the router output cap was temporarily lowered, a Mini Pi request with a 19,118-token prompt and max_tokens=5120 still required 687.83 MiB and terminated the engine.

The second failure is decisive: limiting output alone does not protect the 1M prefill/workspace shape. The 1M recipe remains reproducible experimental capacity evidence, but it is not client-facing and is not the Primary. The sanitized failure excerpts retain both failures.

Per-model output protection

Router tiers may now declare an optional positive max_output_tokens no larger than their context limit. The router supplies that budget when a caller omits one. If a caller explicitly requests more, the router clamps the request before admission and relay, preserves the correct wire field for OpenAI Chat, Responses, or Anthropic Messages, and returns both a standards-compatible Warning header and X-Anvil-* details. Tiers without the setting remain unchanged.

The promoted tier declares 32,768. A live request for 50,000 completed with ROUTER_650K_CLAMP_OK, applied 32,768, and returned Warning: 299 anvil-serving "max_tokens clamped from 50000 to 32768" plus X-Anvil-Warning: max_tokens_clamped. This is a model-specific safety override, not a global restriction.

Client and operating-state verification

Surface Result
Pi on Primary Node PI_DARK_650K_OK
Pi on Companion Node PI_MINI_650K_OK
OpenClaw on Companion Node OPENCLAW_MINI_650K_OK; 650K context, high reasoning, no fallback
Router oversized output HTTP 200; 50,000 clamped to 32,768 with warning
Exact identity/readiness identity_passed for the 650K served model
Exclusive safety both GPU roles owned by this serve; other managed GPU workloads blocked

The host CLI and controller image were rebuilt from the same 0.20.0 worktree as the router behavior, and the controller successfully parsed the mounted 650K and retained 1M recipes. The machine remains in dual-gpu-exclusive mode; the Omni and other split-mode GPU serves cannot start until this owner is drained. Raw observations are in promotion-observations.json.

Caveats and rollback

  • The operator explicitly waived the normal 3 GiB reported-free VRAM gate after moving display output to the iGPU. The final reservation ledger showed only 94 MiB free after its configured reserve. This is a deliberate single-user, exclusive deployment, not evidence for safe co-residency.
  • High and max reasoning are functionally verified, but the retained throughput comparison was measured at low reasoning.
  • The 1M profile is experimental until its client-shaped B12X workspace failure is fixed and independently requalified.
  • llm.rollback remains available as the explicit managed escape hatch. There is no silent router fallback.