Skip to content

Merge train round 3 B11: million-token context in the Desktop picker (#6078) - #6080

Merged
lidge-jun merged 3 commits into
devfrom
codex/train3-b11
Sep 27, 2026
Merged

lidge-jun merged 3 commits into
devfrom
codex/train3-b11

Conversation

@lidge-jun

@lidge-jun lidge-jun commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Summary

Merge train round 3, batch 11: carries rhomat27's #6078 as one squashed commit that keeps the author.

In the Claude Desktop Code-tab picker, every route got a bare ocx-claude-* alias. Claude accounts an unmarked custom model at its smaller fallback window, so a route with a million-token context was treated as much smaller when picked from Desktop. The picker now adds the [1m] marker the CLI already uses when a route's authoritative context window is at least 1,000,000. Smaller or unknown windows stay bare, and the inbound Desktop and Messages paths already strip the marker before resolving the alias.

The outcome record devlog/_plan/260927_merge_train_3/090_outcome.md gains this batch and the reason #6076 stays open.

Co-authored-by: rhomat27 8294456+rhomat27@users.noreply.github.com

Verification

  • A Kimi review found the change correct against current dev and traced the marker through the inbound resolution. Two of the three new tests fail on dev without the change.
  • claude-picker-models and claude-picker-runtime: 29 pass. bun run typecheck, bun run structure:check, bun run privacy:scan: pass.
  • Exact-head hosted CI on this batch PR covers the rest; the source PR had only lightweight checks.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

Summary by CodeRabbit

  • New Features
    • Claude Desktop’s Code-tab model picker now adds a [1m] marker to routed models with context windows of at least one million tokens. Models with unknown or smaller context windows remain unmarked.
    • Existing conversations keep their current model selection; reselect a model from the refreshed picker to use the new marker.
  • Documentation
    • Updated the Claude Code guides to explain the marker and which models receive it.

lidge-jun and others added 3 commits September 27, 2026 20:01
Carried from #6078 into merge train round 3.

Co-authored-by: rhomat27 <8294456+rhomat27@users.noreply.github.com>
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner September 27, 2026 11:01
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-27T11:04:44.015618Z 54117a2 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

Copy link
Copy Markdown
Contributor

✅ Deterministic PR hygiene checks passed.

@coderabbitai

coderabbitai Bot commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: lidge-jun/opencodex/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 272eaf9f-1619-4ce1-a4a6-6d3b90de7b28

📥 Commits

Reviewing files that changed from the base of the PR and between e2ae5f2 and 54117a2.

📒 Files selected for processing (7)
  • devlog/_plan/260927_merge_train_3/090_outcome.md
  • devlog/_plan/260927_merge_train_3/097_batch11.md
  • docs-site/src/content/docs/guides/claude-code.md
  • docs-site/src/content/docs/zh-cn/guides/claude-code.md
  • src/claude/intercept/picker-models.ts
  • structure/clients/claude-desktop.md
  • tests/claude-integration/claude-picker-models.test.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.


📝 Walkthrough

Walkthrough

The Claude Desktop Code-tab picker now adds [1m] to routed model selector IDs when the authoritative context window is at least one million tokens. Tests and English and Chinese guidance cover the threshold and cases that remain unmarked.

Changes

Claude picker context marker

Layer / File(s) Summary
Build and document marked picker selectors
src/claude/intercept/picker-models.ts, tests/claude-integration/claude-picker-models.test.ts, structure/clients/claude-desktop.md, docs-site/src/content/docs/guides/claude-code.md, docs-site/src/content/docs/zh-cn/guides/claude-code.md, devlog/_plan/260927_merge_train_3/*
Picker selector IDs use the shared marker helper with auto-context disabled. Tests cover routed windows below, at, and above one million tokens, unknown windows, and native models. The guides and merge-train notes describe the marker and related status updates.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 54117

Eligible Desktop picker models gain the [1m] marker, and marked selections continue to route correctly. The change is ready to merge after normal checks.

Architecture Summary

Architecture risk: 🔵 Low · up to 54117

The change affects 5 systems.

Changed systems: src, devlog, docs-site, structure, tests

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — src (service) was modified; 1 changed file maps to changed impact.
  • observed — devlog (service) was modified; 2 changed files map to changed impact.
  • observed — docs-site (service) was modified; 2 changed files map to changed impact.
  • observed — structure (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in devlog/_plan/260927_merge_train_3/090_outcome.md: The outcome text adds the post-B9 additions of B10 and B11, the reason #6076 remains open, and #6077 as a draft feature; the existing open-issue count and goal status remain.
  • observed — Modified behavior in devlog/_plan/260927_merge_train_3/090_outcome.md: The B10 table entry now identifies PR #6075, and a B11 row records #6078’s [1m] marker for million-token routes in the Desktop picker.
  • observed — Modified behavior in devlog/_plan/260927_merge_train_3/097_batch11.md: Adds the B11 plan entry with PR #6078’s change and review status, base and branch details, #6076 status, aside-capture location, and build evidence: two named test suites report 29 passes, and typecheck, structure, and privacy exit 0.
  • observed — Modified behavior in docs-site/src/content/docs/guides/claude-code.md: Adds guidance that the first-party Desktop Code-tab picker marks routed models with authoritative context windows of at least one million tokens using [1m]; unknown and sub-million windows, including native long-window opt-ins, are not marked. The text states that labels, profile order, routes, and ocx claude auto-context behavior are unchanged, and that existing conversations retain their selector until the model is selected again from the refreshed picker.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. (5 skipped: 5 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the merge-train batch and the primary change: adding million-token context handling to the Claude Desktop picker. It is specific, concise, and consistent with the pull req…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. (5 skipped: 5 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@lidge-jun
lidge-jun merged commit 24b2f39 into dev Sep 27, 2026
35 checks passed
@lidge-jun

Copy link
Copy Markdown
Owner Author

리뷰 · 우선순위 58 / 80

이 PR은 머지 트레인 3라운드 열한 번째 묶음이에요. 바탕은 dev예요. #6078이 고치려던 Claude Desktop Code 탭 표시를 한 커밋으로 가져와요.

Claude Desktop Code 탭의 모델 목록은 경로마다 ocx-claude-... 별명만 붙여요. Claude는 표시가 없는 커스텀 모델을 더 작은 기본 창으로 세요. 창이 100만 토큰인 경로도 Desktop에서 고르면 그보다 작게 잡혔어요. 이제는 카탈로그에 적힌 창이 100만 이상이면 CLI와 같이 별명 끝에 [1m]을 붙여요. 창을 모르거나 100만 미만이면 별명을 그대로 둬요. Desktop 실행기는 프록시의 자동 압축 환경을 받지 않아서, 작은 창에는 표시를 붙이지 않아요. 들어오는 Desktop과 Messages 경로는 별명을 풀기 전에 [1m]을 떼요. 보이는 이름, 프로필 순서, 제공자 경로는 그대로예요. 이미 열린 대화는 목록에서 모델을 다시 고르기 전까지 저장해 둔 별명을 써요.

types.ts와 config.ts를 나누는 작업과는 안 겹쳐요. #6078은 아직 열려 있고, 이 PR이 그 수정을 품고 있어요.

라인 - src/claude/intercept/picker-models.ts 52행. [1m]은 contextWindow만 봐요. 라우트된 GPT-5.6은 창이 1,050,000이고 입력을 받는 한도는 922,000이에요 (src/providers/registry/model-seeds.ts 145행과 151행). 같은 쌍이 그 시드의 gpt-5.5에도 있어요. [1m]이 붙으면 Claude는 1,000,000으로 세요. 922,000을 넘기면 세션 중에 context_length_exceeded가 나요. CLI 목록은 src/claude/model-info.ts 173행에서 그 줄의 max_input_tokens를 922,000으로 낮춰요. Desktop 피커 별명에는 그 칸이 없어요.

라인 - src/server/index/claude-intercept-lifecycle.ts 48행. loadPickerRoutesFromCatalog가 contextWindow만 넘겨요. maxInputTokens는 피커 입력에 없어요.

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

창은 100만 이상인데 입력 한도는 100만 미만인 모델을 어떻게 보여줄지예요. [1m]을 붙이면 Claude는 1,000,000까지 채워요. 별명을 그대로 두면 더 작은 기본 창으로 세요. Desktop 별명에는 CLI의 max_input_tokens처럼 한도만 따로 적는 칸이 없어요.

너의 추천

입력 한도가 있으면 창과 한도 중 작은 값으로 [1m]을 정하세요. 그 값이 1,000,000 미만이면 별명을 그대로 두세요. 창과 입력 한도가 모두 1,000,000 이상일 때만 붙이면, 진짜 100만 창 모델은 살리고 입력 한도 922,000인 GPT-5.6 라우트는 넘치지 않아요. 그 조건 전에는 머지를 미루는 편이 안전해요. 이 PR을 머지할 때 #6078을 닫으세요. 둘을 같이 머지하면 같은 변경이 두 번 들어가요. types.ts / config.ts 분할은 이 변경과 다른 일이라 그대로 두세요.

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

@lidge-jun
lidge-jun deleted the codex/train3-b11 branch September 27, 2026 11:27
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.

2 participants