2.0 KiB
2.0 KiB
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.0ToolCallRequest提供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 完成等价核对。