im_wower
·
2026-03-28
T-S014.md
1# Task T-S014:把 `status-api` 从默认 runtime 服务集合里降为显式 opt-in
2
3## 直接给对话的提示词
4
5读 `/Users/george/code/baa-conductor/tasks/archive/T-S014.md` 任务文档,完成开发任务。
6
7如需补背景,再读:
8
9- `/Users/george/code/baa-conductor/scripts/runtime/install-mini.sh`
10- `/Users/george/code/baa-conductor/scripts/runtime/install-launchd.sh`
11- `/Users/george/code/baa-conductor/scripts/runtime/start-launchd.sh`
12- `/Users/george/code/baa-conductor/scripts/runtime/stop-launchd.sh`
13- `/Users/george/code/baa-conductor/scripts/runtime/restart-launchd.sh`
14- `/Users/george/code/baa-conductor/scripts/runtime/status-launchd.sh`
15- `/Users/george/code/baa-conductor/scripts/runtime/check-launchd.sh`
16- `/Users/george/code/baa-conductor/scripts/runtime/check-node.sh`
17- `/Users/george/code/baa-conductor/docs/runtime/README.md`
18- `/Users/george/code/baa-conductor/docs/runtime/launchd.md`
19- `/Users/george/code/baa-conductor/README.md`
20
21## 当前基线
22
23- 仓库:`/Users/george/code/baa-conductor`
24- 分支:`main`
25- 提交:`7b27e5a`
26- 开工要求:不要从其他任务分支切出;如需新分支,从当前 `main` 新切
27
28## 建议分支名
29
30- `chore/demote-status-api-default-runtime`
31
32## 目标
33
34把 `status-api` 从默认 runtime 安装/启动/检查集合里降为显式 opt-in 服务,同时保留手工安装和管理能力。
35
36## 背景
37
38- 当前主线已经明确 `status-api` 只是本地只读观察面,不是默认对外接口。
39- 但 runtime 脚本和文档仍把它放在默认安装/启动/检查集合里,和它的辅助定位不完全一致。
40- 如果它继续保留,最好是“可选观察服务”,而不是默认 runtime 套件的一部分。
41
42## 涉及仓库
43
44- `/Users/george/code/baa-conductor`
45
46## 范围
47
48- 调整 runtime 脚本的默认服务集合
49- 让 `status-api` 仍可通过显式 `--service status-api` 或等价开关安装/管理
50- 回写 runtime / README 文档
51
52## 路径约束
53
54- 不要删除 `apps/status-api`
55- 不要改 `status-api` 本身的 HTTP 合同
56- 不要把任务扩展成“把 status-api 并入 conductor-daemon”这类大改
57
58## 推荐实现边界
59
60建议优先做:
61
62- 修改 `install-mini.sh` 和常用 launchd 管理脚本的默认服务集合
63- 保持显式选择 `status-api` 时行为不变
64- 同步更新 runtime 文档、帮助文本和 README
65
66## 允许修改的目录
67
68- `/Users/george/code/baa-conductor/scripts/runtime/`
69- `/Users/george/code/baa-conductor/docs/runtime/`
70- `/Users/george/code/baa-conductor/docs/api/README.md`
71- `/Users/george/code/baa-conductor/README.md`
72- `/Users/george/code/baa-conductor/DESIGN.md`
73- `/Users/george/code/baa-conductor/ops/launchd/`
74
75## 尽量不要修改
76
77- `/Users/george/code/baa-conductor/apps/status-api/`
78- `/Users/george/code/baa-conductor/apps/conductor-daemon/`
79- `/Users/george/code/baa-conductor/tasks/`
80
81## 必须完成
82
83### 1. 调整默认服务集合
84
85- 默认 install/start/stop/restart/status/check 集合不再强制包含 `status-api`
86- 仍然可以显式选择 `status-api`
87
88### 2. 保持观察服务可用
89
90- `status-api` 的安装和检查能力不能被删掉
91- 帮助文本和脚本说明要清楚写出 opt-in 方式
92
93### 3. 回写文档
94
95- runtime 文档和 README 要反映新的默认服务集合
96- 写清 `status-api` 现在的定位和启用方式
97
98## 需要特别注意
99
100- 不要破坏 `codexd` 和 `conductor` 现有默认安装链路
101- 如果某些检查脚本仍默认依赖 `status-api`,要同步调整
102- 与 `worker-runner` 测试任务并行时,避免同时改同一段 repo verification 文档
103
104## 验收标准
105
106- 默认 runtime 服务集合不再包含 `status-api`
107- 显式启用 `status-api` 仍可安装和检查
108- 文档、帮助文本和模板口径一致
109- `git diff --check` 通过
110
111## 推荐验证命令
112
113- `bash -n /Users/george/code/baa-conductor/scripts/runtime/install-mini.sh`
114- `bash -n /Users/george/code/baa-conductor/scripts/runtime/install-launchd.sh`
115- `bash -n /Users/george/code/baa-conductor/scripts/runtime/check-launchd.sh`
116- `bash -n /Users/george/code/baa-conductor/scripts/runtime/check-node.sh`
117- `npx --yes pnpm -C /Users/george/code/baa-conductor lint`
118- `git -C /Users/george/code/baa-conductor diff --check`
119
120## 交付要求
121
122完成后请说明:
123
124- 默认服务集合现在是什么
125- `status-api` 现在如何显式启用
126- 修改了哪些脚本/文档
127- 还有哪些剩余风险