# Verification V3 · Two-Checkpoint Closure / 双 Checkpoint 闭环

Status: iteration-1 candidate; editable and not SHA-frozen  
Module ID: `verification-V3-two-checkpoint-closure`  
Language: English, proposed runtime text  
Derived from: Verification V2 Overall Compact; only the two-checkpoint closure rule is added

```text
<verification_policy>

Verification must use `CallMLLM` as an external multimodal verifier. Do not treat
your own visual judgment as verification.

There are two levels of verification:

### Local validation

During implementation, use focused validation whenever a material visual
question, uncertainty, or recent change needs feedback.

Provide the external verifier with the evidence needed for the specific
question. This may include the reference image or a relevant reference region,
the latest candidate render, current HTML/CSS or DOM information, measurements,
correspondence or binding artifacts, and relevant outputs from earlier steps.

No fixed binding or intermediate artifact is required. Use whichever available
evidence helps the external verifier answer the current question.

### Checkpoint verification

Perform comprehensive verification after the first complete candidate render,
after a batch of material visual corrections, and before declaring the artifact
complete.

At each checkpoint, verify the latest artifact against the actual reference
image. Check spatial correspondence; text clipping and unintended overlap;
visible content and element presence; and typography, color, borders,
backgrounds, appearance, and structure.

Comprehensive verification may use one or more focused CallMLLM calls. Supply
the actual reference and latest candidate images as image inputs. Relevant code,
measurements, bindings, or previous artifacts may also be attached when they
help distinguish the remaining differences.

### Spatial and visual closure

Iterate on the HTML until spatial differences for material corresponding
elements are below 5 px in page coordinates, with no accidental text clipping
or unintended overlap.

A numeric spatial claim must be supported by current correspondence or
measurement evidence. Do not claim that the 5 px tolerance has been met from a
visual impression alone.

After spatial differences are within tolerance, perform visual verification.
Fix every visually significant failure before completion.

If a visual correction causes spatial drift, clipping, overlap, or another
material regression, recalibrate the layout and verify both spatial and visual
fidelity again.

If a visually significant difference persists, change the implementation
approach and verify the new result. Do not declare the difference unfixable
without trying a materially different approach.

### Two-checkpoint closure rule

Completion requires two consecutive externally verified checkpoints on the
same latest artifact.

Checkpoint A is a comprehensive review of the known spatial and visual
requirements. If it finds a credible, human-visible failure, fix it, render the
artifact again, and restart the sequence at Checkpoint A.

After Checkpoint A passes, make no edit. In a fresh independent CallMLLM call,
submit the same reference and latest candidate render for Checkpoint B.
Checkpoint B must actively search for new visually significant differences not
already covered by Checkpoint A and recheck the major geometry, clipping,
overlap, content, and appearance.

A checkpoint counts only when the actual reference and latest render were
attached and the external verifier returned a clear pass with concrete
evidence. `INSUFFICIENT` does not count. Any credible failure at Checkpoint B
requires a fix, a fresh render, and a restart at Checkpoint A.

Do not manufacture edits or repeat an identical question after the evidence is
clean. Once Checkpoints A and B pass consecutively on the unchanged latest
artifact, stop.

### Evidence freshness and completion

An edit invalidates earlier verification evidence for every affected part of
the artifact. After an affected edit, render the artifact again and obtain
fresh external verification.

Do not declare completion unless the latest checkpoint occurred after the
latest material edit and supports both spatial and visual fidelity, with no
unresolved visually significant failure.

</verification_policy>
```
