Check reference
Reaffirm a mirror after content changes
A source and its port can keep identical annotation coverage while their implementations diverge. mirror_stale detects changes to either file set since the mirror was last reaffirmed.
What the check observes
For each declared mirror, Proof hashes the files selected by its source and target paths and compares the two aggregate digests with the saved reaffirmation. A missing record, changed source digest, or changed target digest requires review. Overlapping paths contribute to both file sets. The check does not write a new reaffirmation or change the mirror's lifecycle status.
Example: a source fix adds no new annotation
Illustrative case. The original parser fixes an off-by-one error inside an already annotated function. Annotation parity stays unchanged, but the source content digest changes. The port now needs an impact decision and, where applicable, the corresponding repair.
proof mirror status MIR-3
proof mirror reaffirm MIR-3 --dry-run \
--reason "Reviewed the parser boundary repair and the target's corresponding regression evidence"Resolve the finding
- Inspect both changed file sets and the obligations the mirror governs.
- Port the intended behavior or explain with evidence why the target already meets it. Review regression results and any remaining parity gaps.
- Record a substantive reaffirmation only when the actor is authorized by the project's approval policy. Preserve remaining mirror work instead of treating reaffirmation as completion.
Run and interpret
proof audit --check mirror_stale --verboseThis verify-stage check is on by default. Finding severity follows mirror status: planned is informational, in_progress warns, and complete errors. Reaffirmation uses the most restrictive assurance level governed by the mirror and the configured agent delegation policy.
Matching digests show that the reviewed file sets have not changed. They do not prove equivalence between two implementations. Reaffirmation can be recorded with parity gaps still open; it does not complete the mirror. A reason must be substantive, not a replacement for the missing evidence.
Continue from here
Review a migration's behavior. Review source changes against intent.
Bring one source fix and its corresponding port to review the retained guarantees. Bring a change to Proof.