[Bug]: ACP adapter re-sends an unchanged model, which resets Copilot's 1M context tier
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 74/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- backend
調査の方向性
packages/provider-acp/src/server/adapter.tsの6694–6709行目付近にある設定オプションのモデル設定を読み、その直下にあるsession/set_modelのチェックと比較してください。現在のモデルが要求されたモデルとすでに一致しているACPセッションで再現し、セッションジャーナルを調べてください。アダプターが冗長な設定オプションの設定を省略し、要求されたモデルが異なる場合はモデルの変更を維持できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
[!NOTE]
🤖 Claude Opus 5.5 responding on behalf of uzairansaruzi
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/server
Steps to reproduce
- Add GitHub Copilot through the ACP Registry (agent
github-copilot-cli). - Start Copilot on a long-context-eligible model with the 1M tier:
copilot --acp --model claude-opus-5.5 --context long_context, or set"contextTier": "long_context"in~/.copilot/settings.json. - Start a T3 Code thread on
claude-opus-5.5and send a message. - Read the session journal at
~/.copilot/session-state/<session-id>/events.jsonl.
Expected behavior
The model the thread wants is already the session's current model, so T3 Code leaves it alone and the session keeps the tier Copilot started with.
Actual behavior
T3 Code sends session/set_config_option {configId: "model", value: "claude-opus-5.5"} even though currentValue is already claude-opus-5.5. Copilot treats every model change as clearing the context tier, so the session drops to the 200K default.
On the config-option path, the adapter sets the model without checking the current value:
https://github.com/pingdotgg/t3code/blob/960d5761c13f68a2f10635bcd26489a5fa404ec1/packages/provider-acp/src/server/adapter.ts#L6694-L6709
The session/set_model path just below skips a model that already matches:
https://github.com/pingdotgg/t3code/blob/960d5761c13f68a2f10635bcd26489a5fa404ec1/packages/provider-acp/src/server/adapter.ts#L6715-L6717
The real fix belongs in Copilot CLI (github/copilot-cli#4275). Its ACP model switch drops contextTier, and the tier isn't offered as a config option. Skipping a model set that changes nothing still matters on our side: it is the only thing resetting the tier when the thread model matches Copilot's startup model. It also brings the two paths in line.
Once Copilot advertises a context-tier config option, T3 Code should show it with no changes (sessionConfig.ts passes through everything outside the model and collaboration_mode categories).
Impact
Major degradation or frequent failure
Version or commit
0.1.4-nightly.20261028.3841 (code references at main @ 960d576)
Environment
macOS 26, GitHub Copilot CLI 1.0.104 over ACP, claude-opus-5.5
Logs or stack traces
# Copilot started with --model claude-opus-5.5 --context long_context, then T3 Code's model set
1 session.start {"selectedModel":"claude-opus-5.5","contextTier":"long_context"}
2 session.model_change {"newModel":"claude-opus-5.5","previousModel":"claude-opus-5.5","contextTier":null,"source":"sdk"}
6 session.usage_record maxPromptTokens: 200000
# Every recent T3 Code Copilot session (Copilot 1.0.97 to 1.0.104) shows the same pattern
2 session.model_change {"newModel":"claude-opus-5.5","contextTier":null,"source":"sdk"}
8 session.usage_record maxPromptTokens: 200000
Workaround
None in T3 Code today. The launch flag and the settings.json tier are both cleared by the model set. Over ACP, /model -s <id> takes no tier argument and doesn't restore the saved tier. The interactive copilot CLI is the only way to get the 1M window.
- 主要言語
- TypeScript
- スター
- 24.8k
- フォーク
- 6.4k
- 平均マージ
- 3時間 20分
- マージ済み PR(30日)
- 208
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pingdotgg/t3code のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
pingdotgg/t3code#27445 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
pingdotgg/t3code#27146 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
メンテナーはふだん 1 日以内に返信
-
[Bug]: Device hub update button is clipped with long canary version strings対応中かも @juliusmarminge が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
pingdotgg/t3code の issue をすべて見る
似ている issue
-
Add: Disco Mix SDオープンcheck:passed streams:add
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
level2 nsoc26
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
GauravKarakoti/SecureFlow#1488 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
deltachat/deltachat-desktop#6914 ·
メンテナーはふだん 2 日以内に返信
-
area:cli bug P4
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
bug from-studio
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
esengine/DeepSeek-Reasonix#14868 ·
メンテナーはふだん 1 日以内に返信