Files

30 lines
1.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`