im_wower
·
2026-03-21
T-007-planner.md
1---
2task_id: T-007
3title: Planner 抽象与模板
4status: done
5branch: feat/T-007-planner
6repo: /Users/george/code/baa-conductor
7base_ref: main
8depends_on:
9 - T-001
10write_scope:
11 - packages/planner/**
12 - packages/step-templates/**
13updated_at: 2026-03-21
14---
15
16# T-007 Planner 抽象与模板
17
18## 目标
19
20把 `planner` 作为抽象角色落到代码骨架里,并把设计中的模板任务拆分成可复用的 step template。
21
22## 本任务包含
23
24- `Planner` 接口整理
25- `ProposedPlan` 与 `ProposedStep` 数据结构
26- `feature_impl`、`bugfix` 等模板的完善
27
28## 本任务不包含
29
30- 调真实 Claude 或 Codex
31- conductor 的最终 plan 验收逻辑
32
33## 建议起始文件
34
35- `packages/planner/src/index.ts`
36- `packages/step-templates/src/index.ts`
37- `DESIGN.md` 第 14、15 节
38
39## 交付物
40
41- planner 抽象层
42- step template 定义
43
44## 验收
45
46- 模板命名清晰
47- step kind 与设计文档一致
48- 后续可直接被 conductor 调用
49
50## files_changed
51
52- `coordination/tasks/T-007-planner.md`
53- `packages/planner/src/index.ts`
54- `packages/step-templates/src/index.ts`
55
56## commands_run
57
58- `./node_modules/.bin/tsc --noEmit -p packages/planner/tsconfig.json`
59- `./node_modules/.bin/tsc --noEmit -p packages/step-templates/tsconfig.json`
60
61## result
62
63- 补齐了 `planner` 抽象:策略、provider kind、step status、planner 输入上下文、`ProposedPlan` / `ProposedStep`、risk flags 建议值与 plan 校验 helper。
64- 把常见任务模板整理成稳定数据结构,覆盖 `feature_impl`、`bugfix`、`review_only`、`ops_change`、`infra_bootstrap`。
65- 提供了模板查询与 `buildTemplatePlan` helper,后续 conductor 可以直接据此产出结构化 plan。
66
67## risks
68
69- `review_only`、`ops_change`、`infra_bootstrap` 的 step kind 与输入 payload 需要靠设计文本推断,后续若设计补充更细契约,可能要同步收窄。
70- conductor 侧还未接入这些类型与模板;真正落计划验收时,需要决定不同 task 何时走 `template_first`、何时走 `planner_assisted`。
71
72## next_handoff
73
74- conductor 可直接消费 `packages/planner` 的类型与 `validateProposedPlan`,并从 `packages/step-templates` 读取模板或调用 `buildTemplatePlan`。
75
76## notes
77
78- `2026-03-21`: 创建任务卡
79- `2026-03-21`: 完成 planner 抽象与模板实现,等待 review