im_wower
·
2026-03-28
T-S002.md
1# Task T-S002:清理 control-api-worker 残留与坏测试
2
3> 历史说明:本卡记录的是该任务开工时的状态;当前主线默认入口已是 `http://100.71.210.78:4317` / `https://conductor.makefile.so`,这里的 `control-api*` 只应按 legacy 背景理解。
4
5## 直接给对话的提示词
6
7读 `/Users/george/code/baa-conductor/tasks/archive/T-S002.md` 任务文档,完成开发任务。
8
9如需补背景,再读:
10
11- `/Users/george/code/baa-conductor/tests/control-api/control-api-smoke.test.mjs`
12- `/Users/george/code/baa-conductor/apps/control-api-worker`
13- `/Users/george/code/baa-conductor/ops/cloudflare/README.md`
14- `/Users/george/code/baa-conductor/ops/cloudflare/deploy-control-api-worker.sh`
15- `/Users/george/code/baa-conductor/ops/cloudflare/apply-control-api-d1-migrations.sh`
16- `/Users/george/code/baa-conductor/scripts/cloudflare/prepare-control-api-local-db.mjs`
17- `/Users/george/code/baa-conductor/README.md`
18
19## 当前基线
20
21- 仓库:`/Users/george/code/baa-conductor`
22- 分支:`main`
23- 提交:`e62e98d`
24- 开工要求:不要从其他任务分支切出;如需新分支,从当前 `main` 新切
25
26## 建议分支名
27
28- `chore/remove-control-api-worker-residuals`
29
30## 目标
31
32让仓库不再同时处于“README 说 control-api-worker 已移除,但目录、脚本和测试仍继续引用”的矛盾状态,并修掉当前直接坏掉的 `tests/control-api`。
33
34## 背景
35
36- `tests/control-api/control-api-smoke.test.mjs` 当前会因为缺少 `apps/control-api-worker/local/harness.mjs` 直接失败。
37- `ops/cloudflare/**` 和 `scripts/cloudflare/**` 还在继续按已删除 Worker 的部署方式写脚本和文档。
38- 主线已经转向 `conductor-daemon + codexd + 本地浏览器桥`,旧 Worker 相关残留应该收干净,而不是继续假装还能工作。
39
40## 涉及仓库
41
42- `/Users/george/code/baa-conductor`
43
44## 范围
45
46- 处理 `apps/control-api-worker/**` 的残留目录或产物
47- 修正、删除或替换 `tests/control-api/**`
48- 清理 `ops/cloudflare/**` 和 `scripts/cloudflare/**` 中对旧 Worker 的错误引用
49
50## 路径约束
51
52- 本任务只清 legacy Worker / D1 残留,不处理 `status-api` 的主接口切换。
53- 优先在已有残留文件范围内收口,不把修改扩散到运行时主路径。
54
55## 推荐实现边界
56
57建议优先做:
58
59- 明确 `apps/control-api-worker` 目录里还有哪些内容是真残留,哪些只是构建垃圾
60- 决定 `tests/control-api/**` 是删掉、替换为静态约束,还是改成新主线接口的测试
61- 清掉已经不再成立的 Cloudflare / D1 操作说明和脚本入口
62
63## 允许修改的目录
64
65- `/Users/george/code/baa-conductor/apps/control-api-worker/`
66- `/Users/george/code/baa-conductor/tests/control-api/`
67- `/Users/george/code/baa-conductor/ops/cloudflare/`
68- `/Users/george/code/baa-conductor/scripts/cloudflare/`
69
70## 尽量不要修改
71
72- `/Users/george/code/baa-conductor/README.md`
73- `/Users/george/code/baa-conductor/plans/`
74- `/Users/george/code/baa-conductor/apps/status-api/`
75- `/Users/george/code/baa-conductor/scripts/runtime/`
76- `/Users/george/code/baa-conductor/ops/launchd/`
77
78## 必须完成
79
80### 1. 清掉已失效的 Worker 残留
81
82- 明确删掉或收口 `apps/control-api-worker/**` 中不该继续保留的内容
83- 不要留下“目录还在,但实际完全不可用”的假象
84
85### 2. 处理坏掉的 control-api 测试
86
87- 让 `tests/control-api/**` 不再引用不存在的 harness
88- 如果选择删除或替换测试,要在结果里说明理由
89
90### 3. 收口 Cloudflare / D1 残留
91
92- 修正或删除 `ops/cloudflare/**`、`scripts/cloudflare/**` 中已不成立的入口
93- 让这些路径至少与当前仓库现实保持一致
94
95## 需要特别注意
96
97- 不要顺手改 `status-api` 或 `conductor-daemon`
98- 不要把 legacy 清理变成新功能开发
99- 本任务与并行的 `status-api` cutover、codexd bug 修复应保持零重叠
100
101## 验收标准
102
103- `tests/control-api/**` 不再因为引用缺失文件而直接爆炸
104- `apps/control-api-worker/**`、`ops/cloudflare/**`、`scripts/cloudflare/**` 的状态与当前仓库口径一致
105- 最终结果里能明确说明删了什么、保留了什么
106- `git diff --check` 通过
107
108## 推荐验证命令
109
110- `node --test /Users/george/code/baa-conductor/tests/control-api/control-api-smoke.test.mjs`
111- `git -C /Users/george/code/baa-conductor diff --check`
112
113## 交付要求
114
115完成后请说明:
116
117- 修改了哪些文件
118- 删除了哪些残留
119- `tests/control-api` 最终是修复、替换还是删除
120- 跑了哪些验证
121- 还保留了哪些兼容件