Skip to content

fix: replace retired default model with deepseek/deepseek-v4.1-flash-1017 - #11

Merged
mikkel merged 2 commits into
mainfrom
fix/default-model-retired
Oct 22, 2026
Merged

mikkel merged 2 commits into
mainfrom
fix/default-model-retired

Conversation

@mikkel

@mikkel mikkel commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

Bug

DEFAULT_MODEL in 0.3.0 is xiaomi/mimo-v2.5-pro-ultraspeed. NanoGPT has retired that model, and it returns HTTP 410. So any generateDiff/smartapply call made without model and without GPTDIFF_MODEL fails.

Fix

The new default is deepseek/deepseek-v4.1-flash-1017, the same id patchling-py uses (companion PR: 255BITS/patchling-py#24).

Why this model: Mikkel asked for DeepSeek V4.1, the 1017 release. In NanoGPT's free GET https://nano-gpt.com/api/v1/models?detailed=true listing (fetched 2026-10-21 13:03 MT):

  • deepseek/deepseek-v4.1-flash-1017 ("DeepSeek V4.1 Flash 1017", the October 17, 2026 snapshot) is listed at $0.10 / $0.60 per 1M input/output tokens, with a 1,048,576 context and 393,216 max output tokens. It is the only id that names the 1017 release with standard serving.
  • Not chosen: the same snapshot is also listed as deepseek/deepseek-v4.1-flash-1017:thinking (same price, thinking always on) and as TEE/deepseek-v4.1-flash (secure-enclave serving, $0.65 / $1.45). The undated deepseek/deepseek-v4.1-flash is a rate-limited beta.
  • NanoGPT lists no non-Flash V4.1 model. "V4.1" here can only mean V4.1 Flash; the only DeepSeek Pro models are v4.
  • Neither retired default is listed: xiaomi/mimo-v2.5-pro-ultraspeed (JS) and deepseek-reasoner (Python).

An earlier commit on this branch used xiaomi/mimo-v2.6-pro. The latest commit replaces it everywhere.

Changes

  • src/env.js, landing/lib/env.js (kept byte-identical for landing_lib_sync), regenerated src/env.d.ts (npm run types), the README env table, and the test/live.test.js header comment.
  • Verified catalog test/fixtures/demo-models.json:
    • Adds deepseek/deepseek-v4.1-flash-1017, copied field for field from the 2026-10-21 listing.
    • verifiedOn moves to 2026-10-21, and catalogSha256 now covers that listing. The three existing entries (z-ai/glm-5.3-flash, xiaomi/mimo-v2.6-flash, xiaomi/mimo-v2.6-pro) were re-checked and are unchanged.
    • The README notes the re-check.
  • New test/default_model.test.js asserts that the default is deepseek/deepseek-v4.1-flash-1017, that the retired id is not the default (in either src or landing/lib), that the default is in the verified catalog and cheap (≤ $0.50 / $1 per 1M), and that the .d.ts literal matches.
  • CHANGELOG: note added under [0.3.1] — Unreleased, "Behavior changes".

Unchanged on purpose:

  • The filterRelevant default xiaomi/mimo-v2.6-flash is still listed.
  • The landing-page demo default and pinned picks are unchanged.
  • The retired id stays in landing/index.html's saved-pick migration list and its test, so visitors who saved it are reset.

No version bump, tag, or publish.

Tests (local)

npm test: 248 tests, 244 passed, 0 failed, 4 skipped (live). Main: 240 passed, 4 skipped.

Live smoke (one call, authorized by Mikkel)

One tiny generateDiff call through the default path: no model argument, GPTDIFF_MODEL unset, the default NanoGPT base URL, and max_tokens 400. The task was a one-line edit (hello → hi).

  • Model sent and model returned: deepseek/deepseek-v4.1-flash-1017, HTTP 200.
  • 128 prompt + 31 completion = 159 tokens, cost $0.0000314, about 2 s.
  • The result was a valid unified diff (-hello / +hi).
  • The API key came from the environment and was never printed, logged or committed.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Deploying patchling with  Cloudflare Pages  Cloudflare Pages

Latest commit: 5a332b9
Status: ✅  Deploy successful!
Preview URL: https://57b6f2f6.patchling.pages.dev
Branch Preview URL: https://fix-default-model-retired.patchling.pages.dev

View logs

@mikkel mikkel changed the title fix: replace retired default model with xiaomi/mimo-v2.6-pro fix: replace retired default model with deepseek/deepseek-v4.1-flash-1017 Oct 21, 2026
@mikkel
mikkel marked this pull request as ready for review October 22, 2026 00:17
@mikkel
mikkel merged commit 4cd73c4 into main Oct 22, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant