Skip to content

[Bug]: Command Code live model deepseek/deepseek-v4.1-flash advertises no reasoning efforts #4253

Closed

Description

@fwkyle

Client or integration

Codex App

Area

Catalog / models

Summary

A newly live Command Code model, deepseek/deepseek-v4.1-flash (Codex slug command-code/deepseek-deepseek-v4.1-flash), arrives in the injected catalog with supported_reasoning_levels: [] and no default_reasoning_level. In Codex App the reasoning-effort picker is empty / unusable.

This is the same hole as #2883 / #2917: Command Code /provider/v1/models does not carry an effort contract, so the picker is filled only from the static table in src/providers/command-code-efforts.ts. That table still has no row for deepseek/deepseek-v4.1-flash on current main (checked against https://github.com/lidge-jun/opencodex/blob/main/src/providers/command-code-efforts.ts). configuredReasoningEfforts therefore falls through to the provider-level empty ladder.

The model is a 2026-09-10 live arrival (modelDiscovery.recentArrivals). Vanilla ocx effort model command-code/deepseek/deepseek-v4.1-flash reports supportedEfforts: [].

Same-class companion on the same account: google/gemini-3.8-flash also has an empty ladder.

Reproduction

  1. OpenCodex 2.50.0 with Command Code OAuth (providers.command-code.liveModels = true).
  2. Select deepseek/deepseek-v4.1-flash (it is in selectedModels / live catalog).
  3. ocx inspect catalog --json → slug command-code/deepseek-deepseek-v4.1-flash has supported_reasoning_levels: [].
  4. Codex App model picker for that slug shows no reasoning-effort rungs.

Stock table keys on main still stop at deepseek/deepseek-v4-flash / deepseek/deepseek-v4-pro / deepseek/deepseek-v4-flash-vision-exp. No deepseek/deepseek-v4.1-flash row.

Version

2.50.0 (@bitkyc08/opencodex). GitHub main src/providers/command-code-efforts.ts also lacks the row.

Operating system

macOS 26.5.2 (25F84)

Provider and model

command-code / deepseek/deepseek-v4.1-flash

Also empty: command-code / google/gemini-3.8-flash

Logs or error output

Vanilla (no local overlay):

ocx effort model command-code/deepseek/deepseek-v4.1-flash --json
{
  "provider": "command-code",
  "model": "deepseek/deepseek-v4.1-flash",
  "reasoningDisabled": false,
  "supportedEfforts": [],
  "wireMap": null,
  "mappedTiers": {}
}

Catalog entry before overlay: supported_reasoning_levels: [], default_reasoning_level absent.

Suggested ladder (measured, not live-probed)

Same decode recipe as #2917. commandcode.ai profile pages render client-side; the delivered HTML still ships a serialized payload whose compact arrays are effort-table indices.

On a 2026-09-11 fetch of https://commandcode.ai/models/deepseek-v4-1-flash the same page carries already-committed rows, so the index map can be cross-checked:

  • gpt-5.6-luna [231,232,233,234,301] → committed low, medium, high, xhigh, max
  • google/gemini-3.7-flash [231,232,233] → committed low, medium, high
  • z-ai/glm-5.3-flash [231,233,301] → committed low, high, max
  • deepseek/deepseek-v4-flash [233,301] → committed high, max
  • deepseek/deepseek-v4-pro [233,301] → committed high, max

Therefore:

  • deepseek/deepseek-v4.1-flash [231,233,301] → low, high, max
  • google/gemini-3.8-flash [231,232,233] → low, medium, high (same-class leftover)

DeepSeek's public thinking-mode table (https://api-docs.deepseek.com/guides/thinking_mode) also documents low / high / max with default high, and maps medium → high, xhigh → high, ultra → max. No authenticated Command Code /alpha/generate accept/reject probe was run.

Profile-page auto-refresh (refreshCommandCodeReasoningEfforts) is still dead for every row, as noted on #2883. A one-line table add is the same fix shape as #2917.

I am not asking to relax modelRecordValue; bridging deepseek-v4-flash onto deepseek-v4.1-flash by stem would be wrong (V4.1 is a different model, and Command Code's own payload already differs: [233,301] vs [231,233,301]).

Checks

Activity

  1. added
    bugSomething isn't working
    account-poolOAuth, credentials, Codex pool, quota, failover, plans
    catalogModel catalog, slugs, visibility, routed entries
    on Sep 11, 2026
  2. lidge-jun commented on Sep 11, 2026

    @lidge-jun
    Owner

    리뷰 · 우선순위 70 / 80

    설명

    이 이슈는 Command Code 라이브 모델 deepseek/deepseek-v4.1-flash(Codex 슬러그 command-code/deepseek-deepseek-v4.1-flash)가 주입 카탈로그에서 supported_reasoning_levels: []로 나오고, Codex App 추론 강도 피커가 비는 버그입니다. 같은 계정의 google/gemini-3.8-flash도 빈 사다리입니다. 보고 버전은 2.50.0이고, CURRENT dev HEAD babb76449(package.json 2.51.0)의 정적 테이블도 같은 구멍입니다.

    원인은 #2883 / #2917과 같은 구멍입니다. Command Code /provider/v1/models는 effort 계약을 안 실어 오므로, 피커 값은 src/providers/command-code-efforts.ts의 COMMAND_CODE_MODEL_EFFORTS에만 의존합니다. 지금 테이블에는 deepseek/deepseek-v4-flash / deepseek/deepseek-v4-pro / deepseek/deepseek-v4-flash-vision-exp / google/gemini-3.7-flash / z-ai/glm-5.3-flash 등은 있지만 deepseek/deepseek-v4.1-flash와 google/gemini-3.8-flash 행이 없습니다. commandCodeReasoningEfforts → configuredReasoningEfforts가 빈 배열/미정의로 떨어지고, 카탈로그 동기화는 그 빈 사다리를 그대로 광고합니다. ocx effort model command-code/deepseek/deepseek-v4.1-flash가 supportedEfforts: []인 것과 일치합니다.

    보고자가 제안한 사다리는 commandcode.ai 프로필 페이지의 직렬화 페이로드 인덱스와 기존 커밋 행을 교차 대조한 값입니다. deepseek/deepseek-v4.1-flash → low, high, max([231,233,301]), google/gemini-3.8-flash → low, medium, high([231,232,233], gemini-3.7-flash와 同형). DeepSeek 공개 thinking-mode 표의 low/high/max(기본 high)와도 맞습니다. 보고자는 modelRecordValue로 deepseek-v4-flash를 v4.1에 브리지하지 말라고 명시했습니다. V4.1은 다른 모델이고, 페이로드도 [233,301] vs [231,233,301]로 이미 다릅니다. 테이블 주석이 이미 말하듯 refreshCommandCodeReasoningEfforts는 프로필 HTML의 prose를 못 읽어 모든 행에서 사실상 죽어 있습니다. 한 줄 테이블 추가가 #2917과 같은 즉시 수정이고, 파서 부활은 별 이슈입니다.

    우선순위 70인 이유: 재현이 한 줄(ocx effort / 카탈로그 JSON)이고, 픽스는 정적 행 두 개 수준이며, Codex App UX에 바로 닿습니다. 다만 인증된 /alpha/generate accept/reject 프로브는 안 돌렸고, 사다리는 측정·교차대조이지 라이브 거절 증거는 아닙니다. L4 허브/카탈로그 호환(#4240) 레인과는 다르고, types/config 분할과도 무관합니다. #2883은 GLM-5.3-Flash만 닫혔고, 이 모델 id용 열린 이슈는 없습니다. 중복 닫지 마세요.

    라인 - src/providers/command-code-efforts.ts COMMAND_CODE_MODEL_EFFORTS - deepseek/deepseek-v4.1-flash / google/gemini-3.8-flash 키 없음. 라이브 도착 모델이 여기 없으면 피커가 빈다
    경로 commandCodeReasoningEfforts / src/adapters/command-code.ts - 테이블 미스 시 configuredReasoningEfforts로 떨어지고, Command Code 라이브 경로는 보통 빈 사다리
    경로 src/reasoning-effort.ts modelRecordValue - exact / colon-family / case-fold만. v4-flash→v4.1-flash 브리지는 설계상 불가·금지. 보고자 요청과 동일
    경로 refreshCommandCodeReasoningEfforts - 프로필 prose 파서가 살아 있지 않아 잘못된 행이 자기 치유되지 않음(#2883 노트와 동일). 이번 픽스의 범위 밖이지만 남겨 둘 부채
    경로 이슈 구분 - #2883(GLM-5.3-Flash 행)·#2647(이전 라이브 테이블 추가)·#2917(같은 수정 모양). 새 모델 id이므로 새 행이 맞고, 옛 이슈 reopen이 아님

    메인테이너의 판단이 필요한 지점

    • 제안 사다리(low,high,max / low,medium,high)를 그대로 커밋할지, 짧은 /alpha/generate 프로브 뒤에 넣을지
    • gemini-3.8-flash를 같은 PR에 묶을지, deepseek만 핫픽스하고 gemini는 후속할지
    • 죽은 refreshCommandCodeReasoningEfforts 파서 수리를 별 이슈로 바로 열지, 테이블 추가만 먼저 할지
    • 라이브 모델 발견 시 effort 행 누락을 경고/헬프원티드로 올리는 가드를 넣을지

    너의 추천
    열어 두고, #2917과 같은 모양으로 command-code-efforts.ts에 두 행을 추가하는 작은 PR을 dev에 넣으세요. 키는 업스트림 id 그대로(deepseek/deepseek-v4.1-flash, google/gemini-3.8-flash). stem 브리지 금지. 회귀 기준은 ocx effort model … --json에 제안 사다리가 나오고, 주입 카탈로그 슬러그에 supported_reasoning_levels가 비지 않는 것입니다. 프로브 여유 있으면 한 번 돌려 기본 high 수락만 확인하면 충분합니다. 파서 부활은 별 이슈로 남기세요.

    이 댓글은 grok-bot이 작성했습니다

  3. lidge-jun commented on Sep 11, 2026

    @lidge-jun
    Owner

    Fixed on dev via #4282 at c1ce256.

    src/providers/command-code-efforts.ts now carries deepseek/deepseek-v4.1-flash with efforts ["high", "max"] (carried from #4258), so the injected catalog should advertise reasoning levels again for the Command Code live route.

    이 댓글은 grok-bot이 작성했습니다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    account-poolOAuth, credentials, Codex pool, quota, failover, plansbugSomething isn't workingcatalogModel catalog, slugs, visibility, routed entries

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions