mcpField
U
unit-executor

unit-executor

github.com/willoscarAgent 工作流51742 次安装4 周前更新
代码仓库

关于 unit-executor

用于在 Pipeline 工作区中执行恰好一个符合条件的 Unit,涵盖选择、验收检查和提交。它会记录带证据的完成结果或可诊断的阻塞原因,然后停止,不会启动下一个 Unit。

主要功能

  1. 01选择一个符合条件的 Unit
  2. 02开启并跟踪执行 Attempt
  3. 03运行 Unit 声明的 Skill
  4. 04检查验收条件和严格质量规则
  5. 05提交完成状态或阻塞原因

适用场景

  1. 01执行一个已就绪的 Pipeline Unit
  2. 02记录 Unit 受阻及具体原因
  3. 03提交完成前核验输出文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/willoscar/research-units-pipeline-skills --skill unit-executor

安装后在 Claude Code 中输入/unit-executor确认已加载。

附带文件scripts/run.py

详细介绍

单元执行器

首要原则是原子性:一次调用只拥有一个单元尝试,并且只能提交一个已接受的完成结果,或记录一个可诊断的阻塞。它绝不会启动第二个单元。

输入

  • UNITS.csv 和选定的单元行。
  • 该行 inputs 字段声明的文件。
  • 当单元受检查点门控时,使用 DECISIONS.md。

输出

  • 单元 outputs 字段声明的文件。
  • 更新后的 UNITS.csv、运行证据,以及可选的 STATUS.md 投影。
  • 当严格质量检查阻止完成时,生成 output/QUALITY_GATE.md。

步骤

1. 对齐并选择一个单元

通过 Pipeline 适配器检查工作区。选择指定的单元,或第一个依赖项均为 DONE 的 TODO 单元。当人工检查点、未解决的决策、未关闭的尝试或完整性故障阻碍选择时,停止。

完成标准:恰好选中一个符合条件的单元,或记录一个包含明确后续操作的阻塞条件。

2. 开始尝试

通过适配器开始语义工作,绝不通过编辑状态单元格来实现:

uv run python scripts/pipeline.py mark \
  --workspace workspaces/<name> \
  --unit-id <U###> \
  --status DOING \
  --note "starting semantic execution"

完成标准:单元状态为 DOING,且有一个匹配的未关闭尝试拥有此次执行。

3. 执行声明的技能

读取选定单元的技能,以及此分支所需的上下文指针。生成声明的输出,不更改无关的工作区产物。

完成标准:每个必需的输出均已存在,或失败足够明确,可以提交为 BLOCKED。

4. 验证并提交完成结果

按要求评估单元验收规则和严格质量契约。通过适配器提交:

uv run python scripts/pipeline.py mark \
  --workspace workspaces/<name> \
  --unit-id <U###> \
  --status DONE \
  --note "acceptance checked"

当未通过验收时,使用 BLOCKED 并提供明确原因。不要直接编辑 UNITS.csv;适配器会对齐尝试、产物、清单、决策和状态投影。

完成标准:完成结果为 DONE,并附有验收和来源证据;或为 BLOCKED,并附有可诊断的失败信息。

5. 一个单元后停止

刷新工作区投影,并报告已完成或受阻的单元。不要声称已端到端完成,也不要启动下一个符合条件的单元。

完成标准:此次调用期间,恰好一个单元的执行状态发生变化;下一位操作者可以从工作区文件继续执行。

上下文指针

  • UNITS.csv 中选定的行包含依赖项、输入、输出、验收条件、检查点和技能标识。
  • 选定的技能决定语义行为。
  • 已锁定的 Pipeline 负责跨单元门控和目标产物。
  • 使用 research-pipeline-runner 在多个单元间自动继续执行。

脚本

快速开始
uv run python .codex/skills/unit-executor/scripts/run.py \
  --workspace workspaces/<name>
所有选项
  • --workspace <path>:现有工作区。
  • --unit-id <U###>:执行一个符合条件的特定单元。
  • --inputs、--outputs、--checkpoint:与 Pipeline 运行器兼容的参数。
  • --strict:阻止类似脚手架的输出,并写入质量门报告。
示例

严格运行恰好一个单元:

uv run python .codex/skills/unit-executor/scripts/run.py \
  --workspace workspaces/<name> \
  --strict

等效的适配器命令:

uv run python scripts/pipeline.py run-one \
  --workspace workspaces/<name> \
  --strict

帮助程序在 DONE 或 IDLE 时返回 0,在 BLOCKED 或 ERROR 时返回 2。

故障排查

  • 当没有可运行的单元时,请检查依赖项、检查点审批和未关闭的尝试,然后再更改状态。
  • 当 DONE 单元缺少输出时,请通过适配器重新打开该单元,并附上说明;切勿只修复 CSV 投影。

评论

支持 Markdown