Phase 003: remove the coding-agent and ekko-agent runtimes

Every chat session now runs through the Hermes bridge, so the three chat
chains become feature-equivalent instead of three partially-maintained
dispatch paths. Keeping the coding-agent and in-house agent runtimes alive
meant every bridge change had to be mirrored into two more runtimes that
had already drifted.

Historical rows are read, not migrated: sessions stored with the retired
source normalize to cli on load, workflow graphs naming the retired agents
keep loading and run on the bridge, and the visible-source check plus
SOURCE_LABELS still recognize the old value so those sessions stay listed.

The public surface follows the code: the OpenAPI generator and the MCP
chat-run tool schema drop the six retired entry fields so external callers
are not told about runtimes that no longer exist.

harness-check gains a RETIRED_RUNTIME scan so the residual check is a
mechanical gate instead of a manual grep, with the two surviving read-side
compat sites recorded with reasons.

Refs: docs/phases/phase_003.md
This commit is contained in:
2026-10-16 13:27:50 +08:00
parent c93e1fe1bd
commit 8c1ddf415f
123 changed files with 567 additions and 23599 deletions
+4 -5
View File
@@ -158,10 +158,9 @@ isEkkoAgentExecution()
```bash
cd /Users/jack/source/MyProject/js/hermes-ui
# 残留检查
grep -rn "coding_agent\|codingAgent\|CodingAgent\|ekko-agent\|ekkoAgent\|EkkoAgent" \
packages/ tests/ --include="*.ts" --include="*.vue" --include="*.json"
# 期望:零命中
# 残留检查(harness 机械门禁,RETIRED_RUNTIME_ALLOWED 登记保留理由)
npm run harness:check
# 期望:Harness check passed
npm run build
npm run test
@@ -184,7 +183,7 @@ npm run test:e2e
| # | 风险 | 缓解 |
|---|---|---|
| P3-1 | `isWorking` 三处漏改 → 聊天状态卡死或一直转圈 | `grep -n isCodingAgentExecution` 必须零命中后才算改完 |
| P3-1 | `isWorking` 三处漏改 → 聊天状态卡死或一直转圈 | `npm run harness:check` 的 RETIRED_RUNTIME 扫描必须零命中 |
| P3-2 | 历史会话带 `coding_agent_id` 导致渲染报错 | 读侧容忍未知字段;手工造一条旧会话验证 |
| P3-3 | 删 `agent-runner/` 时误删共用工具 | 先 `grep -rn "agent-runner"` 确认引用方只在这两组内 |
| P3-4 | e2e 有用例依赖 coding-agents API | `npm run test:e2e` 必跑,红了删对应用例 |