baa-conductor


baa-conductor / tasks / archive
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- 还保留了哪些兼容件