本文件定义“一个仓库如何被逐轮解耦治理”。
目标不是一次性大改,而是通过小步、可验证、可回退的方式持续迭代:
- 每轮只处理有限范围
- 每轮都必须验证
- 每轮都必须产出报告
- 每轮都必须决定是否允许进入下一轮
每一轮必须遵守下面这条硬规则:
只有“通过测试 + 通过策略 + 可运行”的改动,才允许进入下一轮。
这里的三个条件缺一不可。
至少包括:
- 本系统自身测试通过
- 目标仓库相关测试通过
- 本轮变更范围的回归测试通过
至少包括:
- 没越过 protected paths
- 没超出允许改动范围
- 没绕过人工门禁
- 没引入被禁止的自动执行
至少包括:
- 目标仓库主入口能启动或执行
- 关键命令仍可跑通
- 没出现明显结构性损坏
每轮迭代输入包括:
- 目标仓库路径
- 当前仓库快照或 commit
- 当前 artifacts
- 上一轮 human report
- 上一轮 agent report
- 当前允许改动范围
每轮迭代必须产出两类输出。
建议产物:
iteration_agent_report.json
内容至少包含:
- 本轮范围
- 模块状态
- 通过/失败测试
- gate 结果
- 建议下一步
建议产物:
iteration_human_report.md
内容至少包含:
- 这轮做了什么
- 哪些模块被分析/修改
- 测试情况
- 风险情况
- 是否允许进入下一轮
一轮完整迭代建议按 9 步执行。
确认当前目标仓库的基线状态:
- 当前能否运行
- 当前测试是否通过
- 当前主要入口是什么
- 当前哪些模块最热、最脆弱
如果基线本身已不可运行,要先记录“带病基线”,后续所有结果都要和这个现实对齐。
运行确定性扫描与规则引擎,产出:
- 扫描 artifacts
findings.json
这里得到的是候选问题,不是最终结论。
由 Validator Agent 对 finding 做二次确认,产出:
validated_findings.json
每条 finding 至少要有:
confirmation_statusconfidencevalidation_reason
只有 confirmed 或 needs_review 的 finding 才进入后续规划。
不要对全部问题一起动手。
每轮只选择有限范围,例如:
- 一个包
- 一条高优先级规则
- 一个热点模块
- 一个明确的边界问题
由 Planner Agent 基于 actionable findings 生成:
triage.jsonaction_plan.json
要求:
- bounded
- file-scoped
- 不自动执行
- 有 success criteria
- 有 rollback 条件
由 Critic Agent 和 Policy Engine 一起判断计划是否合理。
必须回答的问题:
- 风险是否过高
- 范围是否过大
- 是否越过保护边界
- 是否应该补测试
产物:
critic_review.json
当前仓库还没有完全开放自动改代码,因此这一阶段的目标设计是:
- 只生成 patch plan
- 不直接改文件
- 不自动落盘
未来进入真正执行阶段后,也必须是:
- 小步执行
- 每步验证
- 每步可回退
这是整轮最重要的门禁。
至少要验证:
- 本系统测试通过
- 目标仓库测试通过
- 策略检查通过
- 目标仓库仍可运行
任何一项失败,整轮都不能进入下一轮。
如果通过验证,则生成:
- agent report
- human report
并明确给出一个结论:
allow_next_iterationhold_for_reviewblocked
只有满足以下条件才允许:
- 本轮变更范围清晰
- 本轮测试通过
- 本轮策略检查通过
- 目标仓库仍可运行
- 本轮产物完整
- 人类能够理解本轮结果
出现以下任一情况,必须停止自动推进:
- 新改动导致目标仓库不可运行
- 测试失败
- policy 阻断
- Critic 标记为高风险且未复核
- 本轮结果无法解释
- 模块边界不清,导致无法定义安全范围
这里的“复现”不是指重新写一个一模一样的新仓库,而是指:
- 能完成安装
- 能运行主入口
- 能执行关键命令
- 能通过核心测试
- 能理解关键模块职责
- 能解释关键依赖关系
也就是说,目标状态是:
可运行、可理解、可维护、可验证。
建议最终把 gate 固化成三个明确阶段。
包括:
- 单元测试
- 金标测试
- 目标仓库回归测试
包括:
- protected path 检查
- 变更范围检查
- 禁止自动执行检查
包括:
- 主入口启动
- 最小 smoke run
- 关键命令可执行
只有 A + B + C 都通过,才写入“允许下一轮”。
当前仓库已经覆盖了:
- 诊断
- finding 复核
- triage
- action plan
- critic review
- LLM health check
- summary + artifacts 输出
未来还需要补:
- 目标仓库运行验证器
- 受控 patch plan executor
- 模块级双测试报告产物
- 每轮迭代状态管理
- stop/resume 机制
建议按“小步可回归”推进。
推荐节奏:
- 先盯一个模块或一个规则
- 先做金标与回归
- 再做调整
- 调整后马上跑 gate
- 通过后再进入下一轮
不建议:
- 一次跨太多目录
- 一次改太多文件
- 在没有基线测试时推进
- 让 agent 连续多轮自动写代码
解耦迭代不是“连续重构直到看起来更干净”,而是:
每一轮都可验证、可解释、可回退,并且只有通过测试、策略和运行门禁后,才允许继续推进的受控工程循环。