# Verification V6 · Atomic Confirmed Repairs / 已确认失败原子化修复：中文审阅

状态：第四轮迭代候选；可编辑，不做 SHA 冻结  
对应 Module ID：`verification-V6-atomic-confirmed-repairs`  
来源：Verification V5 External Failure Adjudication；只增加“原子化修复—复验顺序”

```text
<verification_policy>

验证必须使用 `CallMLLM` 作为外部多模态验证器。不得把主模型自己的视觉判断当作验证。

验证分为两个层次：

### 局部验证

在实现过程中，当一个重要的视觉问题、不确定性或刚完成的修改需要反馈时，进行聚焦的
局部验证。

向外部验证器提供回答当前具体问题所需的证据。这些证据可以包括参考图片或相关参考区域、
最新 candidate render、当前 HTML/CSS 或 DOM 信息、测量结果、对应或绑定产物，以及
此前步骤中与当前问题有关的输出。

不强制要求固定的 binding 或中间产物。根据当前问题，使用能够帮助外部验证器作出判断的
可用证据。

### Checkpoint 全面验证

在第一次得到完整的 candidate render 后、完成一批重要视觉修正后，以及声明 artifact
完成之前，进行全面验证。

在每个 checkpoint，使用最新 artifact 对照真实参考图片进行验证。检查空间对应、文字
裁切和非预期重叠、可见内容和元素是否存在，以及字体排版、颜色、边框、背景、外观和结构。

全面验证可以使用一次或多次聚焦的 CallMLLM 调用。必须把真实 reference 和最新 candidate
图片作为 image inputs 提供。相关代码、测量结果、bindings 或此前产物也可以作为输入
附加，以帮助区分仍然存在的差异。

### 空间与视觉闭环

持续调整 HTML，直到重要对应元素在页面坐标中的空间差异小于 5 px，并且没有意外的文字
裁切或非预期重叠。

任何数值空间结论都必须得到当前对应关系或测量证据的支持。不得只根据视觉印象声称已经
满足 5 px 容差。

空间差异进入容差范围后，执行视觉验证。完成之前必须修复所有视觉上显著的失败。

如果视觉修复造成空间漂移、裁切、重叠或其他重要回归，应重新校准布局，并重新验证空间
和视觉两方面的忠实度。

如果一个视觉上显著的差异持续存在，应改变实现方法并验证新的结果。没有尝试实质不同的
方法之前，不得宣布该差异无法修复。

### 双 Checkpoint 闭环规则

只有在同一个最新 artifact 上连续通过两次外部 checkpoint，才允许完成。

Checkpoint A 对已知的空间与视觉要求进行全面检查。如果它发现可信且人眼显著的失败，
必须修复、重新渲染，并从 Checkpoint A 重新开始。

Checkpoint A 通过后不得编辑。在一个新的独立 CallMLLM 调用中，把相同的 reference 和
最新 candidate render 交给 Checkpoint B。Checkpoint B 必须主动搜索 Checkpoint A
尚未覆盖的新视觉显著差异，并再次检查主要几何关系、裁切、重叠、内容和外观。

只有实际附加了 reference 与最新 render，且外部验证器返回带具体证据的明确通过，
checkpoint 才计数。`INSUFFICIENT` 不计为通过。Checkpoint B 的任何可信失败都要求
修复、重新渲染，并从 Checkpoint A 重新开始。

证据已经干净时，不得为了延长过程而制造修改或重复完全相同的问题。一旦同一个未改变的
最新 artifact 连续通过 Checkpoint A 和 B，应停止。

### 外部失败裁决

每次 Checkpoint A 或 B 请求都必须要求外部验证器把以下三个 token 之一准确放在响应
第一行：

`VERDICT: PASS`
`VERDICT: FAIL`
`VERDICT: INSUFFICIENT`

任何其他输出都按 `INSUFFICIENT` 处理，即使正文语气是正面的。Checkpoint verdict 是
外部证据；主模型不得只依靠自己的判断推翻非 PASS。

如果 `FAIL` 指出的缺陷得到当前 reference、render 或测量证据支持，直接修复。如果
`FAIL` 与当前具体反证或另一个独立外部观察存在实质冲突，不得盲目修改，也不得自行把它
清除。针对该争议主张发起一次新的外部 adjudication 调用：附加完整 reference、最新
render 和反证，明确指出被争议的主张，并要求同样的精确首行 verdict 合约。

Adjudication 结果决定该主张：`VERDICT: FAIL` 表示确认，必须修复；`VERDICT: PASS` 表示
清除；`VERDICT: INSUFFICIENT` 表示需要补充证据或缩窄外部问题。Adjudication 的 PASS
不能算作 Checkpoint A 或 B。任何非 PASS checkpoint 或任何 adjudication 之后，都必须
从 Checkpoint A 重新开始闭环。

只有最后两次全面 checkpoint 调用依次是 Checkpoint A 的 `VERDICT: PASS` 和 Checkpoint B
的 `VERDICT: PASS`，且二者针对同一个未修改的 artifact，中间没有编辑、adjudication 或
非 PASS checkpoint，才允许完成。

### 已确认失败的原子化修复

当 checkpoint 或 adjudication 同时确认多个对人眼显著的失败时，先按因果范围排序，
一次只修复一个因果相关的问题组。不要把彼此无关的已确认失败合并成一次大修改。

每个问题组修复后，重新渲染最新 candidate，并使用外部局部验证检查已修主张及其可能回归，
再开始下一个已知问题组。局部验证失败时继续修复并复验；通过后才进入下一个已确认问题组。
所有已确认主张清除后，从 Checkpoint A 重新开始全面闭环。

不要把一个连贯的父布局修正拆成装饰性的微小编辑；没有已确认失败时，不得制造修复阶段。

### 证据时效与完成条件

一次编辑会使 artifact 中所有受影响部分的旧验证证据失效。完成相关编辑后，必须重新渲染
artifact，并获得新的外部验证结果。

只有当最后一次 checkpoint 发生在最后一次重要修改之后，同时支持空间和视觉忠实度，并且
不存在尚未解决的视觉显著失败时，才可以声明完成。

</verification_policy>
```

