`store_memory` fails in v1.0.81 prereleases: `Instance id is required`
まだ誰も着手していません。
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
[From Femi's agent: GPT-5.6 Sol]
Summary
store_memory fails consistently in Copilot CLI 1.0.81 prereleases because the native memory writer is invoked without a required instance ID:
[DEBUG] [rust:copilot_runtime::tools::api::memory] Storing user memory with subject: "agent selection"
[ERROR] [rust:copilot_runtime::tools::api::memory] Failed to store memory: Instance id is required.
The failure occurs locally in the same millisecond as invocation, before the memory writer makes an HTTP request. The tool surfaces only the generic message Unable to store memory: an unexpected error occurred.
Version evidence
Observed across local Copilot session logs:
| CLI version | Successful writes | Instance id is required failures |
|---|---|---|
| 1.0.79 | 5 | 0 |
| 1.0.81-3 | 0 | 5 |
| 1.0.81-4 | 0 | 5 |
| 1.0.81-5 | 0 | 3 |
There were no memory-write attempts available for 1.0.80 or 1.0.81-0, so the precise first broken build is not yet isolated. The regression is confirmed between 1.0.79 and 1.0.81-3.
In 1.0.79, the writer opened a connection to api.enterprise.githubcopilot.com and returned Memory stored successfully. In 1.0.81-3 through 1.0.81-5, the Rust path rejects the operation immediately with the missing instance-ID error.
Reproduction
- Run Copilot CLI 1.0.81-5 in a GitHub-hosted repository.
- Invoke
store_memorywith a valid user-scoped payload:
{
"scope": "user",
"subject": "agent selection",
"fact": "Never use Gemini models as subagents.",
"reason": "This is a durable model-selection preference that applies across repositories and future delegated tasks.",
"citations": "User input: \"new rule. never use gemini as a subagent for anything\""
}
- Observe the generic tool failure. With debug logging enabled, the underlying error is
Instance id is required.
The same underlying error has occurred across unrelated subjects and multiple fresh sessions. Memory enablement and retrieval still work; only writes fail.
Expected behavior
The memory is sent to the service and persisted, as it was in 1.0.79.
Actual behavior
The native memory writer rejects the operation before sending it because its instance ID is missing.
Environment
- macOS Darwin, arm64
- GitHub-hosted repository with a valid
origin - Authenticated GitHub/Copilot account
- Memory enablement check: enabled
- Affected builds: 1.0.81-3, 1.0.81-4, 1.0.81-5
- Last locally verified working build: 1.0.79
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
store_memory エントリポイントと、デバッグログに記載されているネイティブ Rust メモリ書き込みパスから調査を始めます。1.0.79 の動作している挙動と、1.0.81-3 から 1.0.81-5 までを比較し、HTTP リクエストの前にインスタンス ID がどのように渡されているかに焦点を当てます。Instance id is required エラーが発生せず、ユーザースコープの有効なメモリが再び永続化されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- backend
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100