baa-conductor


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

T-S003.md

  1# Task T-S003:切换 status-api 到 conductor 主接口
  2
  3> 历史说明:本卡记录的是该任务开工时的状态;当前主线默认入口已是 `http://100.71.210.78:4317` / `https://conductor.makefile.so`,`control-api.makefile.so` 和 `BAA_CONTROL_API_BASE` 只保留 legacy 兼容语义。
  4
  5## 直接给对话的提示词
  6
  7`/Users/george/code/baa-conductor/tasks/archive/T-S003.md` 任务文档,完成开发任务。
  8
  9如需补背景,再读:
 10
 11- `/Users/george/code/baa-conductor/apps/status-api/src/data-source.ts`
 12- `/Users/george/code/baa-conductor/apps/status-api/src/service.ts`
 13- `/Users/george/code/baa-conductor/docs/runtime/README.md`
 14- `/Users/george/code/baa-conductor/docs/runtime/environment.md`
 15- `/Users/george/code/baa-conductor/scripts/runtime/install-launchd.sh`
 16- `/Users/george/code/baa-conductor/scripts/runtime/check-launchd.sh`
 17- `/Users/george/code/baa-conductor/ops/launchd/so.makefile.baa-status-api.plist`
 18- `/Users/george/code/baa-conductor/docs/api/README.md`
 19
 20## 当前基线
 21
 22- 仓库:`/Users/george/code/baa-conductor`
 23- 分支:`main`
 24- 提交:`e62e98d`
 25- 开工要求:不要从其他任务分支切出;如需新分支,从当前 `main` 新切
 26
 27## 建议分支名
 28
 29- `feat/status-api-local-truth-cutover`
 30
 31## 目标
 32
 33`status-api` 默认真相源切到当前 `conductor` 主接口,并把运行脚本、launchd 模板和文档里对 `BAA_CONTROL_API_BASE` 的口径降到兼容变量,而不是 legacy truth source。
 34
 35## 背景
 36
 37- 当前主线 canonical local API 已经是 `http://100.71.210.78:4317` 38- `status-api` 仍默认经由 `BAA_CONTROL_API_BASE` 指向 `https://control-api.makefile.so`,这和现状不一致。
 39- 运行文档、launchd 模板和检查脚本里也还保留类似口径,容易让后续维护继续沿着旧 control plane 走偏。
 40
 41## 涉及仓库
 42
 43- `/Users/george/code/baa-conductor`
 44
 45## 范围
 46
 47- 修改 `apps/status-api/**` 的默认数据源
 48- 更新 `scripts/runtime/**``ops/launchd/**` 的默认配置口径
 49- 回写 `docs/runtime/**``docs/api/README.md`
 50
 51## 路径约束
 52
 53- 只处理 `status-api` 与其运行文档/模板,不修改 `conductor-daemon` 的 HTTP 行为。
 54- `BAA_CONTROL_API_BASE` 可以保留兼容入口,但不能继续被描述成 canonical truth source。
 55
 56## 推荐实现边界
 57
 58建议优先收口:
 59
 60- `status-api` 默认读取的上游地址与描述文本
 61- launchd 安装、检查脚本和 plist 模板里的默认值
 62- 运行文档里对本地 `4317`、公网 `conductor.makefile.so`、legacy control-api 的关系说明
 63
 64## 允许修改的目录
 65
 66- `/Users/george/code/baa-conductor/apps/status-api/`
 67- `/Users/george/code/baa-conductor/scripts/runtime/`
 68- `/Users/george/code/baa-conductor/ops/launchd/`
 69- `/Users/george/code/baa-conductor/docs/runtime/`
 70- `/Users/george/code/baa-conductor/docs/api/README.md`
 71
 72## 尽量不要修改
 73
 74- `/Users/george/code/baa-conductor/apps/conductor-daemon/`
 75- `/Users/george/code/baa-conductor/tests/control-api/`
 76- `/Users/george/code/baa-conductor/ops/cloudflare/`
 77- `/Users/george/code/baa-conductor/bugs/`
 78
 79## 必须完成
 80
 81### 1. 切换 status-api 默认真相源
 82
 83-`status-api` 默认读取当前主线 `conductor` 接口
 84- 不再默认依赖 `control-api.makefile.so`
 85
 86### 2. 收口运行脚本和 launchd 模板
 87
 88- 让安装、检查脚本和 plist 模板与新的默认真相源保持一致
 89- 如果保留兼容变量,要明确其兼容性质
 90
 91### 3. 回写文档
 92
 93- 更新 runtime 文档和 API 入口文档
 94- 明确现在默认读哪里、什么时候才需要 legacy 兼容变量
 95
 96## 需要特别注意
 97
 98- 不要顺手处理 `ops/cloudflare/**``tests/control-api/**`
 99- 不要把本任务扩展成 `status-api` 的功能重构
100- 本任务会改文档和运行脚本,注意与其它并行任务的写范围隔离
101
102## 验收标准
103
104- `status-api` 默认不再把 legacy control-api 当作真相源
105- 运行脚本、launchd 模板、文档口径与当前主线一致
106- 最终结果里能明确说明哪些地方仍保留兼容变量
107- `git diff --check` 通过
108
109## 推荐验证命令
110
111- `npx --yes pnpm -C /Users/george/code/baa-conductor -F @baa-conductor/status-api build`
112- `npx --yes pnpm -C /Users/george/code/baa-conductor -F @baa-conductor/status-api smoke`
113- `git -C /Users/george/code/baa-conductor diff --check`
114
115## 交付要求
116
117完成后请说明:
118
119- 修改了哪些文件
120- `status-api` 默认现在读哪里
121- 哪些地方仍保留 `BAA_CONTROL_API_BASE` 兼容入口
122- 跑了哪些验证
123- 还有哪些 legacy 没清完