Files

1.2 KiB
Raw Permalink Blame History

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