Files
SuperBizAgent-java/devflow/projects/2026-07-21-single-react-tool-invocation-store/acceptance.md
T

1.9 KiB
Raw Blame History

Acceptance: single-react-tool-invocation-store

实现结果

  • 新增 canonical record/limits/exceptions/store interface/Redis JSON adapter。
  • 新增 ToolBoundary envelope/result、executor/projector interfaces 和稳定错误码。
  • 实现 preflight、Run/Tool budget、Run capacity、PROJECTING、READY/ERROR、evidence semantics、TTL 和 UTF-8 limits。
  • 旧 ToolInvocationRecorder、JPA、Chat/AIOps、Controller、Repository 和公开协议未修改。

静态验证

  • openspec validate single-react-tool-invocation-store --strict:通过。
  • 新 Harness 包 Redis 引用仅为 RedisCanonicalInvocationStore。
  • legacy recorder/JPA/Chat/AIOps/Controller/repository/resources diff:为空。
  • staged diff check 与 Secret scan:提交前执行并通过。

脚本验证

  • mvn -q -DskipTests compile:通过。
  • mvn -q '-Dtest=CanonicalInvocationStoreTest,ToolBoundaryTest' test:通过。
  • 综合阶段 0/1/2/3A suite(含 Harness/ACI/Core/retry/key/config/ChatController):通过。

浏览器/人工验证

  • 不适用。本阶段没有 UI、Controller、SSE 或公开协议变化。

未验证

  • 未连接真实 Redis,未做 ACL/network/TTL live 验证;最终 E2E 阶段执行。
  • 未接入 Alibaba ToolInterceptor,真实框架 ID 传播留给后续 Agent/application stage。
  • 未实现 RAG/log/MySQL projector,留给 3B/3C。
  • canonical update 的 read-TTL-write 并发窗口已记录为风险,尚未 Lua/CAS 化。

剩余风险与后续门禁

  • 新旧 JPA audit 与 canonical store 短期并存,后续 projector 必须只以新 boundary 的 READY record 作为引用来源。
  • 下一阶段 3B/3C 必须复用本 ToolBoundary,不复制 Redis 状态机。

状态

  • Stage acceptance: accepted
  • OpenSpec archive: archived at openspec/changes/archive/2026-07-21-single-react-tool-invocation-store
  • Main spec sync: openspec/specs/canonical-tool-invocation-store/spec.md(7 added requirements)