用途:patch-edit 用于代码迁移与协作调优类任务,把 rewrite-plan 生成的步骤逐步、小范围地应用到项目中。其目标不是让智能体一次性重写整个文件,而是保证每次改动都可被审查。每一步都是局部最小改动,禁止在步骤只需局部修改时重写整个文件,禁止改动步骤 files[] 之外的文件,禁止在步骤风险级别不是 high 或用户未确认时改动 shell 层文件;跳过某步必须提供凭据与理由。
主要能力与输入:读取 rewrite-plan 产出的 plan/steps.json、当前的 iterations(守护进程的每阶段计数器)、以及代码文件的 code/index.json(已知导入与相邻文件)。通过 file-edit 工具在项目当前工作目录内修改文件。
输出与凭据:每次迭代后写入单步凭据:plan/steps.json 中状态由 pending 更新为 completed 或 skipped;plan/receipts/step-<id>.json 记录 { files, diffSummary, rationale, completedAt }。
收敛条件:当 plan/steps.json 中所有步骤都进入终态(completed/skipped),或 iterations 达到上限(如 OD_MAX_DEVLOOP_ITERATIONS)时结束。示例循环配置:{"id":"patch-edit-loop","atoms":["patch-edit"],"repeat":true,"until":"plan.steps.terminal === plan.steps.total || iterations >= 8"}。
适用场景:需要可审计 diff 的代码迁移、协作调优等逐步修改任务。限制:v1 中为保留 id 的提示词片段,具体实现细节暂未提供;不执行 shell 层改动需满足风险与确认条件。