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- 还有哪些检查仍未被根入口覆盖