Files

2.0 KiB
Raw Permalink Blame History

Evidence: single-react-aci-tool-contracts

文档证据

  • ISS-014 5.2/5.3 冻结 evidence_status 与框架 tool_call_id;6-9 节冻结 RAG、日志和 MySQL Agent-facing Schema。
  • ISS-014 阶段 1 明确只冻结 ACI Contract,不实现 Agent 架构切换、真实 CLS/MCP 或 MySQL 执行。
  • 阶段 0 OpenSpec 与 devflow 已冻结 InvocationStatus、EvidenceStatus、框架 ID 真理源和阶段 6B 才公开切换。

代码证据

  • LookupKnowledgeTool 仍返回包含 ContextPack/Trace 的旧 LookupResult,证明需要新的 bounded RAG Contract,也证明本阶段未提前切换。
  • QueryLogsTools 仍暴露 region/logTopic/limit、Topic discovery 和旧 mutable DTO,证明逻辑 Topic/Scope/Mock provenance 契约的必要性。
  • ChatService 与 AiOpsService 仍引用旧 LookupKnowledgeTool/QueryLogsTools,新 contract 生产包当前没有旧运行消费者。
  • 本地 Spring AI 1.1.7 AssistantMessage.ToolCall 提供 id();Spring AI Alibaba 1.1.2.0 ToolCallRequest 提供 getToolCallId() 与 ToolInterceptor 边界。
  • Spring AI 1.1.7 普通 ToolContext 只传递调用方 context/history,不自动提供当前 Tool Call ID,因此后续必须从 Alibaba interceptor request 接入。

Evidence-driven 结论

  • lifecycle 与 evidence result 必须保持两套正交状态;已汇报并进入 OpenSpec/代码测试。
  • tool_call_id 可以从当前框架 API 取得,Harness 无需也不得生成第二套 ID;已汇报并进入 OpenSpec。
  • 阶段 1 不改旧运行签名/返回;已通过引用和 diff scope 验证。
  • 日志首版保留 Mock 数据源但必须显式 source_kind=MOCK,不实现真实适配器;已进入 Log Contract。
  • 三类 Contract 的可验证口径是精确 JSON、不可变结果、短描述和基础设施字段排除;三个独立测试均通过。

工具限制

  • 当前会话未提供 codebase-retrieval 或 LSP;使用 rg 引用搜索、源码阅读、本地依赖 javap、Maven 编译和 focused tests 完成等价核对。