Ouroboros
执行

执行

上一章确认了 Seed。执行就是把这份 Seed 交给运行时,让它产出真正的代码。运行时负责写文件、跑命令,Ouroboros 负责管顺序和状态。

1. 开始

在 Claude Code 会话里:

ooo run

预期结果:执行开始,并打印出几个用来查状态的 ID。它在后台继续跑,所以命令返回不代表活干完了。装了 Codex CLI 或 OpenCode 插件(装插件)的话,同一条命令在那边的会话里一样能用。

全新的执行在开跑前会问你一次用哪种方式。效率优先是先用较低的成本铺开并行和拆解的活,只有需要恢复时才加强路径;质量优先是把子任务保持在跟父任务同一档。不想每次都被问,就在普通终端里把默认值定一次:

ouroboros config set execution.default_policy quality_first

预期结果:输出 execution.default_policy: ask → quality_first,写进 ~/.ouroboros/config.yaml。只收 ask(默认)、efficientquality_first 三个值,别的会被拒。留 ask 就还是每次问。这个设置对 resume 不生效——续跑用的是第一次执行定下的那套。

2. 四个阶段(Double Diamond)

阶段在做什么
Discover看仓库、看环境、看需求里还有什么需要确认。
Define定下来做什么、不做什么。
Design定结构和实现顺序。
Deliver建文件、跑测试。

这个顺序存在的理由只有一个:不让实现在理解之前开始。

3. ID 分几种

不同命令打印不同角色的 ID,从输出里复制就行。

ID长相哪里拿哪里用
session_idorch_…访谈和 run 的输出ooo statusooo evaluate、恢复会话
job_idjob_…后台任务启动输出查后台任务状态和结果
execution_idexec_…run 启动输出ooo cancel
auto_session_idauto_…ooo auto 输出ooo auto --resume
lineage_idlin_…ooo evolve 输出查修订历史、ooo ralph

4. 看状态

ooo status <session_id>

预期结果:显示当前阶段和进度。想看实时进度,另开一个终端跑 ouroboros monitor

5. 取消

ooo cancel

预期结果:列出正在跑的执行,选一个、或者直接传 ID 取消。取消完用 ooo status 再确认一次状态。

6. 算跑完了的标准

第二条值得单独说:状态说完成了,和文件真的在那儿,是两件事。用眼睛确认一遍再往下走。

这一页对着当前源码核过:四个阶段名和 Double Diamond 的说法在 orchestrator_stage.pytui/events.py 里,五种 ID 前缀在源码中都能查到(对照组:不存在的前缀查出 0 条)。有对不上的地方,欢迎到 GitHub Issues 说一声。