Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Bug]: ACP adapter re-sends an unchanged model, which resets Copilot's 1M context tier

オープン 初心者向け
#27,022 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 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
  1. Add GitHub Copilot through the ACP Registry (agent github-copilot-cli).
  2. 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.
  3. Start a T3 Code thread on claude-opus-5.5 and send a message.
  4. 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

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

pingdotgg/t3code のほかの issue

pingdotgg/t3code の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。