`store_memory` fails in v1.0.81 prereleases: `Instance id is required`
还没有人认领这个 Issue。
- 主要语言
- Shell
- 星标
- 11.2k
- 派生
- 1.9k
- 平均合并
- 14 小时 16 分钟
- 30 天内合并 PR
- 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 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 store_memory 入口点以及 debug 日志中描述的原生 Rust memory writer 路径开始。比较 1.0.79 的正常行为与 1.0.81-3 至 1.0.81-5 的行为,重点关注在 HTTP request 之前如何提供 instance ID。完成标准是:有效的用户作用域 memory 能够再次持久化,且不再出现 Instance id is required 错误。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- rust
- 领域
- backend
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100