- commit
- cc93ae7
- parent
- ee40b9a
- author
- im_wower
- date
- 2026-03-29 01:26:36 +0800 CST
docs: add T-BUG-026 fix conductor-daemon test localApiBase undefined Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 files changed,
+121,
-0
+121,
-0
1@@ -0,0 +1,121 @@
2+# Task T-BUG-026:修复 conductor-daemon 测试中 localApiBase undefined 错误
3+
4+## 状态
5+
6+- 当前状态:`待开始`
7+- 规模预估:`S`
8+- 依赖任务:无
9+- 建议执行者:`Claude`(需要理解 conductor-daemon 测试初始化流程,定位 config 注入缺失)
10+
11+## 直接给对话的提示词
12+
13+读 `/Users/george/code/baa-conductor/tasks/T-BUG-026.md` 任务文档,完成开发任务。
14+
15+## 当前基线
16+
17+- 仓库:`/Users/george/code/baa-conductor`
18+- 分支基线:`main`
19+- 提交:`ee40b9a`
20+
21+## 分支与 worktree(强制)
22+
23+每个任务必须使用独立的分支和 worktree,禁止直接在 main 上修改,禁止多个任务共用同一个 worktree。
24+
25+- 分支名:`bug/fix-daemon-test-localApiBase`
26+- worktree 路径:`/Users/george/code/baa-conductor-fix-daemon-test-localApiBase`
27+
28+开工步骤:
29+
30+1. `cd /Users/george/code/baa-conductor`
31+2. `git worktree add ../baa-conductor-fix-daemon-test-localApiBase -b bug/fix-daemon-test-localApiBase main`
32+3. `cd ../baa-conductor-fix-daemon-test-localApiBase`
33+4. 在这个 worktree 目录里开发,不要回到主仓库目录
34+
35+完成后提交与推送(由执行者完成,不要合并):
36+
37+1. 在 worktree 里提交所有变更(包括更新后的任务文档)
38+2. `git push -u origin bug/fix-daemon-test-localApiBase`
39+
40+## 目标
41+
42+修复 conductor-daemon 测试中多个 `handleConductorHttpRequest` 相关的 `TypeError: Cannot read properties of undefined (reading 'localApiBase')` 错误,让所有测试通过。
43+
44+## 背景
45+
46+多个任务(T-S042、T-S045)执行过程中报告 conductor-daemon 测试有预存的 `localApiBase` undefined 失败。这些失败在 main 分支上已存在,不是某个任务引入的回归。根本原因是测试中构造 HTTP request context 时缺少必要的 config 字段。
47+
48+## 涉及仓库
49+
50+- `/Users/george/code/baa-conductor`
51+
52+## 范围
53+
54+- 定位所有 `localApiBase` 相关的测试失败
55+- 修复测试中的 config/context 初始化
56+- 确保所有 conductor-daemon 测试通过
57+
58+## 允许修改的目录
59+
60+- `/Users/george/code/baa-conductor/apps/conductor-daemon/src/` (测试文件和被测代码)
61+
62+## 尽量不要修改
63+
64+- `/Users/george/code/baa-conductor/packages/`
65+- `/Users/george/code/baa-conductor/plugins/`
66+- `/Users/george/code/baa-conductor/apps/conductor-daemon/src/instructions/` (除非是 context 初始化问题)
67+
68+## 必须完成
69+
70+### 1. 复现并定位
71+
72+- 运行 `pnpm -F @baa-conductor/conductor-daemon test`
73+- 收集所有失败的测试用例
74+- 定位 `localApiBase` 在哪个 context/config 对象中缺失
75+
76+### 2. 修复
77+
78+- 补全测试中缺失的 config 字段
79+- 如果是被测代码缺少默认值保护,补上合理的默认值
80+- 不要通过跳过测试来"修复"
81+
82+### 3. 验证
83+
84+- 所有 conductor-daemon 测试通过
85+- 其他 package 的测试不受影响
86+
87+## 验收标准
88+
89+- `pnpm -F @baa-conductor/conductor-daemon test` 全部通过,0 failures
90+- `pnpm test` 全部通过
91+- 没有通过跳过测试来解决问题
92+
93+## 推荐验证命令
94+
95+- `cd /Users/george/code/baa-conductor-fix-daemon-test-localApiBase && pnpm build`
96+- `cd /Users/george/code/baa-conductor-fix-daemon-test-localApiBase && pnpm -F @baa-conductor/conductor-daemon test`
97+- `cd /Users/george/code/baa-conductor-fix-daemon-test-localApiBase && pnpm test`
98+
99+## 执行记录
100+
101+> 以下内容由执行任务的 AI 填写,创建任务时留空。
102+
103+### 开始执行
104+
105+- 执行者:
106+- 开始时间:
107+- 状态变更:`待开始` → `进行中`
108+
109+### 完成摘要
110+
111+- 完成时间:
112+- 状态变更:`进行中` → `已完成`
113+- 修改了哪些文件:
114+- 核心实现思路:
115+- 跑了哪些测试:
116+
117+### 执行过程中遇到的问题
118+
119+> 记录执行过程中遇到的阻塞、环境问题、临时绕过方案等。合并时由合并者判断是否需要修复或建新任务。
120+
121+### 剩余风险
122+