refactor(harness): remove legacy agent architecture

This commit is contained in:
zhuyongxin
2026-07-22 18:02:01 +08:00
parent bc36248cd8
commit 8ee7cc0b70
148 changed files with 3091 additions and 13889 deletions
@@ -1,6 +1,6 @@
# ISS-014 单体 ReAct Agent、Harness 与 ACI 工具瘦身
**状态**:实施中(阶段 0-6B 已归档,下一阶段 7)
**状态**:已完成(阶段 0-7 已验收并归档)
**严重程度**:高
**发现时间**:2026-07-20
**目标分支**:`refactor/chat-single-react-harness`
@@ -1307,27 +1307,27 @@ ISS-014 是总设计 Issue,不创建跨阶段共享的 OpenSpec change。以
## 14. 总体验收标准
- [ ] 复杂诊断只存在一个拥有工具循环的 Diagnosis ReAct Agent。
- [ ] 不存在业务 StateGraph 或 Planner/Executor/Composer 多 Agent 主链路。
- [ ] Harness 不承担业务推理,不演变为工作流引擎。
- [ ] EvidenceGuard 是 Harness 内的确定性能力,不是独立编排节点。
- [ ] SemanticGuard 使用完全隔离上下文,无工具、无记忆、无回调循环。
- [ ] SemanticGuard 不使用未校准数值置信度控制在线释放。
- [ ] 所有 Agent-facing evidence Tool 符合 ACI 状态和 Tool Call ID 契约。
- [ ] RAG 不再向 Agent 返回 ContextPack/Trace/Rerank 等审计数据。
- [ ] query_logs 不要求 Agent 先调用 Topic discovery,且返回聚合、抽样、脱敏结果。
- [ ] MySQL Tool 只读、安全解析、参数绑定、allowlist、超时和结果上限全部生效。
- [ ] Tool 原始结果不会未经有界投影进入 Agent 上下文;Redis canonical evidence 当前可暂不脱敏,但不得被 Agent 直接读取。
- [ ] Redis 每次 Tool Call 单 Key 保存,状态、TTL、容量、ACL 和日志禁泄漏规则均有测试。
- [ ] 每个 Tool Call ID 可以按 exact runId 和调用记录状态验真,并取得对应 `agent_result`。
- [ ] 只保留一个 `/api/chat` SSE 接口。
- [ ] SSE 不输出 Thought、Prompt、原始 Tool 载荷和未验证结论。
- [ ] 客户端断开、模型/Tool/SemanticGuard 超时均有明确取消和 Run 终态。
- [ ] 所有重试由 Harness 按类型化策略装配和记录,无 SDK/HTTP/数据库隐藏重试或整个 Diagnosis Agent 重跑。
- [ ] 最终 E2E 能按 sessionId/runId 对齐 SSE、日志、AgentStep、ToolInvocation 和最终答案。
- [ ] Token、工具调用、Tool 投影、Redis TTL 和总延迟预算均来自集中配置,并有可验证的强制上限和耗尽原因。
- [ ] 11 个 OpenSpec changes 均已独立 Archive,并分别对应一个范围清晰的 Git commit。
- [ ] 不保留旧兼容分支、注释代码、本地 refs 卸载和硬编码凭据。
- [x] 复杂诊断只存在一个拥有工具循环的 Diagnosis ReAct Agent。
- [x] 不存在业务 StateGraph 或 Planner/Executor/Composer 多 Agent 主链路。
- [x] Harness 不承担业务推理,不演变为工作流引擎。
- [x] EvidenceGuard 是 Harness 内的确定性能力,不是独立编排节点。
- [x] SemanticGuard 使用完全隔离上下文,无工具、无记忆、无回调循环。
- [x] SemanticGuard 不使用未校准数值置信度控制在线释放。
- [x] 所有 Agent-facing evidence Tool 符合 ACI 状态和 Tool Call ID 契约。
- [x] RAG 不再向 Agent 返回 ContextPack/Trace/Rerank 等审计数据。
- [x] query_logs 不要求 Agent 先调用 Topic discovery,且返回聚合、抽样、脱敏结果。
- [x] MySQL Tool 只读、安全解析、参数绑定、allowlist、超时和结果上限全部生效。
- [x] Tool 原始结果不会未经有界投影进入 Agent 上下文;Redis canonical evidence 当前可暂不脱敏,但不得被 Agent 直接读取。
- [x] Redis 每次 Tool Call 单 Key 保存,状态、TTL、容量、ACL 和日志禁泄漏规则均有测试。
- [x] 每个 Tool Call ID 可以按 exact runId 和调用记录状态验真,并取得对应 `agent_result`。
- [x] 只保留一个 `/api/chat` SSE 接口。
- [x] SSE 不输出 Thought、Prompt、原始 Tool 载荷和未验证结论。
- [x] 客户端断开、模型/Tool/SemanticGuard 超时均有明确取消和 Run 终态。
- [x] 所有重试由 Harness 按类型化策略装配和记录,无 SDK/HTTP/数据库隐藏重试或整个 Diagnosis Agent 重跑。
- [x] 最终 E2E 能按 sessionId/runId 对齐 SSE、日志、AgentStep、ToolInvocation 和最终答案。
- [x] Token、工具调用、Tool 投影、Redis TTL 和总延迟预算均来自集中配置,并有可验证的强制上限和耗尽原因。
- [x] 11 个 OpenSpec changes 均已独立 Archive,并分别对应一个范围清晰的 Git commit。
- [x] 不保留旧兼容分支、注释代码、本地 refs 卸载和硬编码凭据。
## 15. 非目标
@@ -1,6 +1,7 @@
# ISS-012 Executor Token 预算与上下文膨胀
**状态**:待规划
**状态**:已被 ISS-014 吸收并归档(2026-07-22)
**吸收结果**:单 Diagnosis Agent、Harness 集中预算、ACI Tool projection、exact Run audit 与安全 Fallback 已替代本 Issue 的旧 Executor 方案;最终 live 数据见 ISS-014 阶段 7 验收。
**严重程度**:高
**发现时间**:2026-07-20
**关联**:ISS-002、ISS-004、ISS-011
@@ -1,6 +1,7 @@
# ISS-013 Chat 入口解耦与真正 SSE 收敛
**状态**:待规划
**状态**:已被 ISS-014 吸收并归档(2026-07-22)
**吸收结果**:唯一 `/api/chat` named SSE、Chat Application Use Case、bounded executor、exact Run cancel 和前端单 consumer 已由 ISS-014 阶段 6A/6B 完成,最终 E2E 归入阶段 7。
**严重程度**:高
**发现时间**:2026-07-20
**关联**:ISS-011、ISS-012