53 lines
3.0 KiB
Markdown
53 lines
3.0 KiB
Markdown
# Chat Diagnosis StateGraph ChatService Cutover 验收
|
||
|
||
## 结果
|
||
|
||
已接受。OpenSpec tasks 26/26 完成,阶段 3 可归档。
|
||
|
||
## 验证
|
||
|
||
### 静态验证
|
||
|
||
- `git diff --check`:通过。
|
||
- source/reference isolation:cutover 核心文件中的 `SequentialAgent`、`VerifierContextHolder`、`VerifierInputHook`、`tool_trace_summary` 命中 0;核心 TODO/FIXME/placeholder 命中 0。
|
||
- schema whitelist:V012 为 1 个 ALTER TABLE、1 个 ADD COLUMN、0 CREATE、0 DROP,目标仅 `diagnosis_run.orchestration_trace JSON NULL`。
|
||
- `openspec validate chat-diagnosis-stategraph-chatservice-cutover --strict`:通过。
|
||
- `openspec validate --specs --strict`:14 passed,0 failed。
|
||
|
||
### 脚本验证
|
||
|
||
- focused Maven regression:Graph runtime/result mapper/real nodes、ChatService cutover、Trace、Controller、Repository、Gatekeeper、Composer、Eval,共 27 suites / 119 tests;0 failures、0 errors、0 skipped。
|
||
- `mvn -q -DskipTests test-compile`:通过。
|
||
- `ChatServiceGraphIntegrationTest` 覆盖 SUCCESS、handled Fallback、unhandled failure、blank answer/partial trace 和同 session 多 Run 隔离。
|
||
|
||
### 浏览器/人工验证
|
||
|
||
- 未运行。阶段 3 的公开协议由 Controller/service tests 覆盖,完整人工/live 验收按用户规则保留到阶段 5。
|
||
|
||
### 未验证
|
||
|
||
- 未使用 Maven 启动应用做 live E2E。
|
||
- 未检查 `logs/` 运行日志。
|
||
- 未执行 `scripts/query_mysql.py` 查询真实数据库。
|
||
- 原因:用户明确要求只有阶段 5 全部完成后统一执行端到端、日志和数据库验收;阶段 3 只做风险相关自动化验证。
|
||
- 剩余风险:真实模型/工具调用下的 Prompt 行为、Flyway 在真实 MySQL 的应用结果和最终 Trace 数据须由阶段 5 E2E 证明。
|
||
|
||
## 已完成范围
|
||
|
||
- 复杂 Chat 唯一生产编排切换到 Diagnosis StateGraph,公开 ChatResult 保持兼容。
|
||
- Run 生命周期、metrics、Eval、finally cleanup 与 runId 隔离保持;handled Fallback=SUCCESS,未处理/空答案=FAILED。
|
||
- 新增 Run 级 compact orchestration trace,并只在 Trace run 对象暴露解析结果。
|
||
- Verifier Prompt/self-evaluation 使用 verified-only 数据,不伪造未发生 verdict/event。
|
||
- 移除冲突的 Sequential 实现测试并以 Graph/public contract tests 替代。
|
||
|
||
## Bug 修复和诊断
|
||
|
||
- 替代测试错误引用 `com.superbiz.agent.tool.ToolInvocationRecorder`:通过定义/引用搜索确认类型位于同一 `service` 包,删除错误 import。
|
||
- no-answer 新测试错误期待 inner cause:分类为测试断言偏差,改为公开 wrapper error,同时保留 FAILED 与真实 partial trace 核心断言。
|
||
|
||
## 交接
|
||
|
||
- OpenSpec archive:已同步 5 份 delta specs,并归档到 `openspec/changes/archive/2026-07-17-chat-diagnosis-stategraph-chatservice-cutover/`。
|
||
- 下一步:审查精确 Git diff 并完成阶段 3 独立提交,之后才启动阶段 4。
|
||
- OpenSpec 归档确认:用户已明确授权后续阶段直接实现/归档;归档已完成。
|