Develop Refactor 是 guardrails 项目中的一个技能,用于修复一次针对代码或架构指南文件的一致性审查(CODE 或 ARCHITECTURE conformance review)所发现的问题。
用途 该技能由 develop-change 派发,接收一次 review-conformance 审查的发现、对应的代码或架构指南文件、diff 范围以及任务工作树路径。它的职责是修复这些发现,而不是审查 diff,也不审查自己的修复——下一轮审查会做这件事。
主要能力
- 读取指南文件和发现,每条发现引用一个条款(Heading N)和 file:line。
- 在发现所指的行按条款修复,并修复同一发现命名的所有位置,其余代码保持不变。
- 不改变行为:运行的测试必须保持通过。每次修复后运行该修复涉及的测试(验证其变更的测试,以及它新增或编辑的测试)。当运行器无法选择时,运行 verify_commands。
- 每次修复以不签名方式提交(git -c commit.gpgsign=false commit)。
- 绝不删除、跳过或放宽测试来保持测试通过。
- 无法修复的发现报告为未修复并说明原因,例如:修复会改变行为、代码不支持该发现、条款与 floor 矛盾(这是针对该条款的发现)、发现需要修改 SDD 或 LLR 项、或需要不同结构(不编辑设计项)。
使用方式 开始时声明:"Using the develop-refactor skill on 's findings." 前置条件:由 develop-change 派发,携带一次针对代码或架构指南文件的 review-conformance 审查发现、该文件、diff 范围和任务工作树路径。按提示创建任务工作树,从当前所在的 change 工作树出发,只在那里工作。在任务分支上提交并留在那里,不合并,也不再派发。
步骤
- 读取指南文件和发现。只读取提示指定的那一个文件,不读其他指南文件。每条发现引用一个条款(Heading N)和 file:line。
- 在发现所指的行按条款修复。修复同一发现命名的所有位置,其余代码保持不变。
- 不改变行为。运行的测试必须保持通过。每次修复后运行该修复涉及的测试。当运行器无法选择时,运行 verify_commands。每次修复以不签名方式提交。绝不删除、跳过或放宽测试来保持测试通过。
- 无法修复的发现报告为未修复并说明原因。
floor 规则(由派发者决定每条):每个测试带有 verifies:;每个测试在其 verifies: 的行为被破坏时失败;class B 和 C 为每个 REQ 和 LLR 保留异常输入测试;class C 在每个触及的 SDD 项接口保留测试;每个 SDD 项追溯到 REQ;class C 项有 LLR;不同 class 项之间有隔离机制;每个第三方组件在 soup.md 中;跨单元依赖在 depends_on: 中声明,class 不同时用 segregated_from:。
适用场景 适用于 guardrails 项目中,需要根据一次代码或架构一致性审查的发现进行修复的场景。由 develop-change 派发,在独立任务工作树中工作。
限制
- 只修复发现所指的内容,不做其他整理。
- 不改变行为,不编辑设计项(SDD/LLR),不合并任务分支。
- 无法修复的发现必须报告为未修复并说明原因,由派发者决定。
- 返回报告时不包含 diff 或日志。
报告格式 task: <tag> worktree: <path to the task worktree> files touched: <paths> fixed: <finding-N — what changed, or "not fixed — <reason>"> (one per line) result: <N passed, N failed>
完成条件
- 每条发现已修复或报告为未修复并说明原因。
- 每次修复已提交在任务分支上,且未合并。
- 那些测试保持通过。
- 返回报告。