3.7 KiB
3.7 KiB
Single React Diagnosis Agent Acceptance
结果
已接受。阶段 4 Committed OpenSpec 的 11 项任务全部完成,新链路仅通过内部 Java/test 入口运行,公开 Chat 未切换。
验证
静态验证
- 检查:新
harness.agent包与 Prompt 搜索ThreadLocal|SessionContextHolder|while|SequentialAgent|SupervisorAgent|StateGraph|Planner|Composer|Verifier|raw_response。 - 结果:通过,无匹配。
- 检查:
git diff --name-only限定 Controller、ChatService、AiOpsService。 - 结果:通过,无 diff。
- 检查:OpenSpec artifact status、cross-artifact、L2 interface impact、
.committed、.archive-ready。 - 结果:通过。
脚本验证
- 命令:
mvn -q -DskipTests compile - 结果:通过。
- 命令:
mvn -q '-Dtest=HarnessToolInterceptorTest,DiagnosisAgentUseCaseTest' test - 结果:通过,14 tests。
- 命令:
mvn -q '-Dtest=DiagnosisAgentUseCaseTest,HarnessToolInterceptorTest,DiagnosisHarnessCoreTest,ToolBoundaryTest,ToolAdapterTest,MysqlToolAdapterTest,CanonicalInvocationStoreTest,HarnessContractTest,RagToolContractTest,QueryLogsToolContractTest,MysqlToolContractTest' test - 结果:通过。
- 命令:
openspec validate single-react-diagnosis-agent --strict - 结果:通过。
- 命令:归档后
openspec validate single-react-diagnosis-agent --type spec --strict - 结果:通过;仓库级
openspec validate --specs --strict另发现前序mysql-readonly-tool、rag-log-projections主规格仍使用旧 scenario 格式,本阶段不跨归档边界修改。
浏览器/人工验证
- 不适用。本阶段无 UI、HTTP 或 SSE 行为变化。
未验证
- 未启动 Maven 应用、外部模型、MySQL、Redis、Milvus 或日志服务;按 ISS-014 门禁统一留到阶段 7 live E2E。
- 未验证 provider 生产响应始终携带 Token Usage;缺失 Usage 时模型调用次数仍强制,实际 Token 只能在 provider 返回时记录。
已完成范围
- 单一 Diagnosis ReactAgent、单 Prompt 和固定 Query/PreviousTurn 输入。
- 框架原生 tool loop、exact Tool Call ID 和三类 Harness adapter bridge。
- 模型/Token/Tool/上下文/Draft 预算与无自动 retry。
- 严格 DiagnosisDraft 输出和无证据停止规则。
- 显式 sessionId/runId audit metadata、可注入 AgentStep Hook、canonical Tool invocation。
- 公开 Chat/AiOps 与旧多 Agent 路径保持不变。
已知限制
- Draft 尚未经过 EvidenceGuard/SemanticGuard,不能公开发布;阶段 5 负责释放门禁。
- previous turn 由调用方传入,阶段 6A 才实现同 Session 安全 Run 选择和确定性组装。
- 真实业务 adapter/Spring Bean 装配和公开入口切换分别留给阶段 6A/6B。
- 仓库级全规格 strict validation 仍受阶段 3B/3C 主规格 scenario 标题格式阻塞,建议阶段 7 文档清理时统一修正并复验。
Bug 修复和诊断
- 编译发现框架
Interceptor.getName()必须实现,已补充稳定名称并回归。 - 首次测试修正了两个测试假设:callback 异常包装类型,以及 ToolResponseMessage 在 Prompt instructions 中的实际位置;生产规格与实现方向未变。
- 提交前自审发现默认 BeanOutputConverter schema 不允许
conclusion=null,与冻结的无证据契约冲突;已增加 schema post-process 和 focused regression,未放宽其他 Draft 字段。
交接
- 下一步:提交独立阶段 4 commit,再进入阶段 5。
- OpenSpec 归档确认:用户已对 ISS-014 每阶段 Apply、Archive 和 Git commit 提供持续授权;已归档至
openspec/changes/archive/2026-07-21-single-react-diagnosis-agent,主规格已同步至openspec/specs/single-react-diagnosis-agent/spec.md。