用途:执行重构任务,即在不移动任何可观察行为的前提下,让代码在可读性、分解方式或分层上更好。核心判据是:只要任何可观察行为发生变化,就不再是重构,而是重写(有意改变行为)或迁移(API A→B),此时应停止并说明,不得沿用错误标签继续。
主要能力与要求:
- 用等价性检查证明行为保持,而不是用绿色测试套件。优先使用属性测试、差分测试(保留旧路径于垫片后并对比至干净)或变更前固定的黄金输出;若只有测试套件,需写明为何它对该变更是充分预言机。
- 变更后测试失败即意味着行为改变,应先调查代码而非改测试。
- 按结构一致性选择变换机制:真正统一时可用语法感知的 codemod,先干跑、限定批次、检查每个 diff 并运行检查;禁止对语法做盲目文本替换,例外手工编辑。
- 每个批次都运行检查,而非只在最后;批次边界按内聚行为与风险划分。
- 优先删除而非修改,并为每次删除提供证据:粘贴源码与测试中零调用方的搜索,以及符号字符串形式(动态分发、注册表、反射、生成代码、配置)的单独搜索。
- 每个垫片在引入前必须有可验证的移除条件,包括路径、转发目标与可机械检查的 removable-when 条件(如 git grep -c '<old-name>' src/ 返回 0)。
- 不做“顺手”语义改进;迁移后确认旧位置已空。
使用方式:编辑前打开 references/task-template.md 并实例化为运行笔记,记录其路径;将文件放在 ~/.agents/artifacts/<workspace>/ 下,~ 解析为绝对家目录,<workspace> 取自仓库或工作目录基名,保持在仓库之外并携带绝对路径。若工作区名或目标路径与无关工作冲突,停止并请求结构化人工选择,绝不覆盖;若根目录不可写,提供授权访问重试、改用其他代理中立用户目录或取消,绝不回退到厂商存储、仓库或临时目录。交接前把最终变更文件、新的 Verify 证据、范围漂移、阻塞问题与发现复制到任务的 Run summary / Findings 或规范的 Execution;若都不存在,则在直接交接中返回同样材料。命令从 AGENTS.md 解析,未定义时询问;粘贴真实输出;不得对自己的工作写评审结果。
适用场景:需要安全重构、删除死代码、引入临时兼容层并计划移除、或需要向评审者证明行为未变的工程任务。
限制:这些是评审包检查的约定,编辑时无强制机制;并行运行时需各自独立 worktree 或分支以保证写入不相交;资料未提供具体安装命令、收费、平台或效果信息。