用途
unit-planner 用于把一条研究流水线(pipeline)转化为某个具体工作区可执行的 UNITS.csv 合同。它面向需要初始化或更新执行合同的场景:从 pipeline 选择生成 UNITS.csv,或在 scope 扩展时新增 units 与依赖。如果 UNITS.csv 已经正确反映当前 scope,则不需要重写。
主要能力
- 读取 PIPELINE.lock.md(优先)或选定的 pipelines/*.pipeline.md。
- 使用流水线 front matter 中引用的 templates/UNITS.*.csv 模板。
- 在工作区根目录生成 UNITS.csv;若已存在,则仅按需编辑以反映新 scope(新增行)、修正依赖或澄清验收标准。
- 确保每个单元包含:unit_id、skill、outputs、acceptance、checkpoint、status、owner。
- 保持 checkpoint 与 CHECKPOINTS.md 一致;若流水线使用自定义 checkpoint,则补充缺失的 checkpoint。
- 可选更新 STATUS.md,记录下一步可运行的单元。
使用方式
触发词包括:unit planner、generate UNITS.csv、execution contract、units template、生成工作单元。
过程要求:
- 读取 PIPELINE.lock.md(或通过 pipeline-router 请求创建)。
- 若工作区缺少 UNITS.csv,则将流水线的 units_template 复制为 UNITS.csv。
- 若 UNITS.csv 已存在,仅编辑以反映新 scope、修正依赖或澄清验收标准。
- 确保每个单元具备必需字段。
- 保持 checkpoint 与 CHECKPOINTS.md 一致,必要时补充自定义 checkpoint。
验收检查:
- UNITS.csv 能作为 CSV 解析,并包含所有必需列。
- 每个 depends_on 都引用已存在的 U###。
副作用范围:
- 允许:编辑 UNITS.csv、STATUS.md、CHECKPOINTS.md(用于添加自定义 checkpoint)。
- 不允许:除非被要求,否则不得修改 pipelines/ 下的流水线文件。
适用场景
- 需要从 pipeline 生成执行合同(UNITS.csv)时。
- scope 扩展,需要新增 units 或依赖时。
- 需要澄清或修正验收标准、依赖关系时。
限制与注意事项
- 网络:无。
- 若 PIPELINE.lock.md 缺失,需先运行 pipeline-router(Mode A)或 uv run python scripts/pipeline.py kickoff|init 创建 PIPELINE.lock.md,再生成 units。
- 若编辑后 UNITS.csv 变为非法 CSV,需保持分号分隔的 inputs/outputs,避免字段内出现未转义的逗号,并用 uv run python scripts/validate_repo.py 验证。
- 只在满足验收后标记 DONE。
- 保持 CSV 合法;scope 增长时新增 units。