Pipeline Router 是一个研究流程路由技能,核心作用是在研究项目初始绑定阶段,把一个尚未绑定工作流的 Goal 路由到唯一一个 Workflow,或将其初始 C0 启动块具体化。其设计理念是:路由即承诺——根据期望的交付物和证据方法选定一个 Workflow,记录该选择,并暴露下一个需要人工决策的节点。
用途 该技能用于研究项目的初始绑定阶段。当 Workspace 是新的、Goal 尚未绑定工作流时,由它完成路由决策。它不适用于后续的检查点摘要;历史 Workspace 若在 C0 之后仍调用 pipeline-router,会被转交给 checkpoint-brief 并附带弃用警告,路由器本身从不批准这些检查点。
输入
- GOAL.md,或在 Workspace 为新时使用当前用户请求。
- 已存在的 PIPELINE.lock.md、UNITS.csv、STATUS.md 和 DECISIONS.md(若存在)。
- 选择期间使用的 docs/PIPELINE_TAXONOMY.md 和候选 Pipeline 的 front matter。
输出
- 为新绑定的 Goal 生成 PIPELINE.lock.md。
- 在 DECISIONS.md 中生成初始 C0 检查点块。
- 当所选检索 Workflow 从 C0 开始时生成 queries.md。
- 在 STATUS.md 中同步当前的 Pipeline/检查点投影。
主要能力与使用方式
- 确立请求的交付物:读取 Goal,识别面向读者的交付物、所需的证据方法、请求的格式或交付配置,以及会实质性改变 Workflow 选择的决策。当缺少路由判别信息时,向 DECISIONS.md 写入最小化的分组问题集,并在该决策处停止。完成标准:所有可能改变 Workflow 选择的事实都已明确,或在 DECISIONS.md 中被显式限定。
- 选择一个 Workflow:加载 docs/PIPELINE_TAXONOMY.md,仅检查候选 Pipeline 契约。依据目标交付物和证据方法进行选择,而非仅靠关键词匹配。交付配置和课程报告用例被视为其现有 Workflow 家族内的叠加层。完成标准:恰好选中一个可执行 Pipeline,且其目标交付物与 Goal 匹配。
- 具体化承诺:写入 PIPELINE.lock.md,包含 pipeline、units_template、locked_at 字段。当 Workspace 为新时,从该模板初始化 UNITS.csv。保留有效的现有锁;路由变更是一次显式的操作者决策,随后进行重新初始化或迁移,绝不静默重写。完成标准:锁、Unit 模板和 Workspace 投影指向同一个 Pipeline。
- 暴露 C0 检查点:在 DECISIONS.md 中具体化 C0 启动块和批准复选框。当检索是所选 Workflow 的一部分时,从 Goal 播种 queries.md。后续检查点使用 checkpoint-brief。
- 验证路由:检查锁定的 Pipeline 存在、其 Unit 模板存在,且活动检查点同时体现在 STATUS.md 和 DECISIONS.md 中。完成标准:Pipeline Runner 可以从 Workspace 文件继续,而无需再做一次路由推断。
确定性辅助脚本
选择之后可使用确定性辅助脚本:
uv run python .codex/skills/pipeline-router/scripts/run.py
--workspace workspaces/<name>
--checkpoint C0
当 C0 具体化需要调试时,可用 --help 运行该辅助脚本;该辅助脚本记录初始路由投影,但不负责选择路由。
上下文指针
- 仅在选择或有意更改 Workflow 时读取 docs/PIPELINE_TAXONOMY.md。
- 选择之后,锁定的 pipelines/*.pipeline.md 是执行契约,taxonomy 退出上下文。
- 仅当缺少路由事实需要人工回答时,使用 assets/pipeline-selection-form.md。
适用场景 适用于研究项目的初始绑定阶段,需要根据目标交付物和证据方法确定唯一工作流并生成初始检查点的场景。
限制 不用于后续检查点摘要;不批准历史 Workspace 在 C0 之后的调用;路由变更必须由操作者显式决策,不能静默重写。