30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
# Brief: single-react-tool-invocation-store
|
||
|
||
## 背景
|
||
|
||
旧 `ToolInvocationRecorder` 依赖 ThreadLocal 和 JPA preview,不能证明完整 Tool 结果、生命周期和当前 Run 所有权。阶段 2 已提供 RunContext/Key/Capacity,需要统一 canonical ToolBoundary 和 Redis store 供后续 projector 复用。
|
||
|
||
## 目标
|
||
|
||
- 统一 Pre-Tool 门禁、PROJECTING/READY/ERROR 状态和 evidence semantics。
|
||
- 在同一 Redis record 保存 request/raw_response/agent_result、框架 ID、Run、时间和错误。
|
||
- 固定 TTL 不续期、容量/结果大小 fail-closed、raw 不静默截断。
|
||
- 用 Fake Tool/Projector/Store 覆盖 duplicate、cross-run、no-evidence、error、TTL 和 oversize。
|
||
|
||
## 范围
|
||
|
||
- Canonical invocation model/store、Redis JSON adapter、ToolBoundary 和 focused tests。
|
||
- 复用阶段 2 Core、budget、capacity、ToolCallKeyFactory。
|
||
|
||
## 非目标
|
||
|
||
- 不实现 RAG/log/MySQL projector。
|
||
- 不修改旧 recorder/JPA、Chat/AIOps、Controller/SSE 或公开协议。
|
||
|
||
## 元数据
|
||
|
||
- 分档:complex
|
||
- 接口影响:L2 内部 Harness boundary/store
|
||
- 关联 Issue:ISS-014 阶段 3A
|
||
- 关联 OpenSpec:`openspec/changes/single-react-tool-invocation-store`
|