baa-conductor


baa-conductor / tasks / archive
im_wower  ·  2026-03-28

T-S013.md

  1# Task T-S013:给 `worker-runner` 补包级测试并接入根验证入口
  2
  3## 直接给对话的提示词
  4
  5`/Users/george/code/baa-conductor/tasks/archive/T-S013.md` 任务文档,完成开发任务。
  6
  7如需补背景,再读:
  8
  9- `/Users/george/code/baa-conductor/apps/worker-runner/package.json`
 10- `/Users/george/code/baa-conductor/apps/worker-runner/src/index.ts`
 11- `/Users/george/code/baa-conductor/apps/worker-runner/src/runner.ts`
 12- `/Users/george/code/baa-conductor/package.json`
 13- `/Users/george/code/baa-conductor/scripts/verify-workspace.mjs`
 14- `/Users/george/code/baa-conductor/docs/ops/repo-verification.md`
 15
 16## 当前基线
 17
 18- 仓库:`/Users/george/code/baa-conductor`
 19- 分支:`main`
 20- 提交:`7b27e5a`
 21- 开工要求:不要从其他任务分支切出;如需新分支,从当前 `main` 新切
 22
 23## 建议分支名
 24
 25- `chore/add-worker-runner-root-test`
 26
 27## 目标
 28
 29`worker-runner` 增加稳定包级测试,并把它接入根 `pnpm test` 30
 31## 背景
 32
 33-`pnpm test` 现在已经覆盖 `db`、`host-ops`、`codex-app-server`、`codex-exec`、`status-api`、`conductor-daemon`、`codexd`。
 34- `worker-runner` 仍然只有 `build` / `typecheck`,没有包级 `test`,因此主线验证对它还是空白。
 35- 这块代码负责本地 step 执行、日志落盘和 checkpoint 编排,值得至少有一层稳定回归。
 36
 37## 涉及仓库
 38
 39- `/Users/george/code/baa-conductor`
 40
 41## 范围
 42
 43-`@baa-conductor/worker-runner` 增加稳定 `test` 入口
 44- 为当前可稳定验证的能力补最小测试集
 45- 把它接入根 `pnpm test`
 46- 更新 repo verification 文档
 47
 48## 路径约束
 49
 50- 优先测纯函数、准备阶段、合同映射和落盘前后的稳定行为
 51- 不要把任务扩展成真实外部 worker 进程集成测试
 52- 不要顺手改 `conductor-daemon``codexd`
 53
 54## 推荐实现边界
 55
 56建议优先做:
 57
 58-`apps/worker-runner/package.json` 增加 `test`
 59- 新增最小 `src/index.test.js` 或等价测试入口
 60- 更新根验证脚本和文档覆盖范围
 61
 62## 允许修改的目录
 63
 64- `/Users/george/code/baa-conductor/apps/worker-runner/`
 65- `/Users/george/code/baa-conductor/package.json`
 66- `/Users/george/code/baa-conductor/scripts/`
 67- `/Users/george/code/baa-conductor/docs/ops/`
 68
 69## 尽量不要修改
 70
 71- `/Users/george/code/baa-conductor/apps/conductor-daemon/`
 72- `/Users/george/code/baa-conductor/apps/codexd/`
 73- `/Users/george/code/baa-conductor/tasks/`
 74
 75## 必须完成
 76
 77### 1. 给 `worker-runner` 增加稳定测试入口
 78
 79- 包级 `pnpm --filter @baa-conductor/worker-runner test` 应可执行
 80- 测试不依赖人工交互或线上环境
 81
 82### 2. 覆盖最小关键行为
 83
 84- 至少覆盖一个或多个当前稳定的 runner / checkpoint / contract 行为
 85- 测试结果要能直接定位失败点
 86
 87### 3. 接入根验证入口
 88
 89-`pnpm test` 应覆盖 `worker-runner`
 90- 文档要同步说明新增覆盖范围
 91
 92## 需要特别注意
 93
 94- 不要为了凑覆盖率写脆弱的实现细节快照
 95- 如果测试需要 build 前置,文档里要写清楚
 96- 与 runtime 默认服务集合任务并行时,避免同时改同一段 repo verification 文档
 97
 98## 验收标准
 99
100- `@baa-conductor/worker-runner` 有稳定 `test` 入口
101-`pnpm test` 覆盖 `worker-runner`
102- repo verification 文档已同步更新
103- `git diff --check` 通过
104
105## 推荐验证命令
106
107- `npx --yes pnpm -C /Users/george/code/baa-conductor -F @baa-conductor/worker-runner test`
108- `npx --yes pnpm -C /Users/george/code/baa-conductor test`
109- `git -C /Users/george/code/baa-conductor diff --check`
110
111## 交付要求
112
113完成后请说明:
114
115- 修改了哪些文件
116- `worker-runner` 的测试入口最终怎么组织
117-`pnpm test` 现在新增覆盖了什么
118- 还有哪些检查仍未被根入口覆盖