baa-conductor

git clone 

baa-conductor / coordination / tasks / done
im_wower  ·  2026-03-21

T-011-launchd-runtime.md

 1---
 2task_id: T-011
 3title: launchd 与本地 Runtime 布局
 4status: done
 5branch: feat/T-011-launchd-runtime
 6repo: /Users/george/code/baa-conductor
 7base_ref: main
 8depends_on:
 9  - T-001
10write_scope:
11  - ops/launchd/**
12  - docs/runtime/**
13updated_at: 2026-03-21T19:41:24+0800
14---
15
16# T-011 launchd 与本地 Runtime 布局
17
18## 目标
19
20把 mini 与 mac 上的 launchd 配置、运行目录创建方式、环境变量与安装步骤整理清楚。
21
22## 本任务包含
23
24- 完善 `ops/launchd/*.plist`
25- 说明 `~/Library/LaunchAgents``/Library/LaunchDaemons` 的差异
26- 说明 `runs/`、`worktrees/`、`logs/`、`tmp/` 的初始化方式
27
28## 本任务不包含
29
30- 真实业务逻辑
31- D1 schema
32
33## 建议起始文件
34
35- `ops/launchd/*.plist`
36- `docs/runtime/README.md`
37- `DESIGN.md` 第 25、27 节
38
39## 交付物
40
41- launchd 配置模板
42- 本地 runtime 初始化说明
43
44## 验收
45
46- 能明确 mini 与 mac 分别怎么安装
47- 能明确需要哪些环境变量
48
49## files_changed
50
51- `coordination/tasks/T-011-launchd-runtime.md`
52- `docs/runtime/README.md`
53- `docs/runtime/layout.md`
54- `docs/runtime/environment.md`
55- `docs/runtime/launchd.md`
56- `ops/launchd/so.makefile.baa-conductor.plist`
57- `ops/launchd/so.makefile.baa-worker-runner.plist`
58- `ops/launchd/so.makefile.baa-status-api.plist`
59
60## commands_run
61
62- `git worktree add /Users/george/code/baa-conductor-T011 -b feat/T-011-launchd-runtime main`
63- `plutil -lint ops/launchd/so.makefile.baa-conductor.plist`
64- `plutil -lint ops/launchd/so.makefile.baa-worker-runner.plist`
65- `plutil -lint ops/launchd/so.makefile.baa-status-api.plist`
66- `git diff --check`
67
68## result
69
70- 已补全 `launchd` plist 模板,加入 runtime 目录、日志路径、环境变量和 mini 默认值
71- 已新增 runtime 文档,明确 `mini` / `mac` 的安装方式、`LaunchAgents` / `LaunchDaemons` 差异,以及 `runs/`、`worktrees/`、`logs/`、`tmp/` 的初始化规则
72
73## risks
74
75- 当前仓库的 app 构建脚本仍不产出真实 `dist/index.js`,因此本任务只能静态校验 plist 和文档,不能验证真实 `launchctl bootstrap` 启动成功
76- `BAA_SHARED_TOKEN` 仍需在安装副本中手工替换,真实部署时如果漏改会直接导致鉴权失败
77
78## next_handoff
79
80- 后续接入真实服务产物后,按 `docs/runtime/launchd.md``mini``mac` 上分别复制、改写并加载 plist,再做一次端到端启动验证
81
82## notes
83
84- `2026-03-21`: 创建任务卡