Check reference
Detect interface implementation drift
An interface review applies to particular implementation content. When that content changes, its old review may no longer justify confidence in the caller/callee contract.
What the check observes
The check hashes artifacts in traces.implemented_by and implemented_by_extra and compares them with fingerprints stored on the latest interface review. A mismatch surfaces the changed path. It uses content hashes rather than file modification time, so checking out the same content on a new machine does not create drift by itself.
Example: a timeout convention changed
Illustrative case. The provider now treats zero timeout as an immediate failure while the caller still expects it to mean no deadline. The implementation hash changes even if the interface requirement text stays untouched. The finding identifies the need to review that contract.
Reviewed contract: zero timeout means no deadline.
Current provider: zero timeout fails immediately.
Review both participants before refreshing the record:
proof review interface INT-REQ-042 \
--reason "Reviewed timeout semantics and both participants against the approved boundary contract"Resolve the finding
- Inspect the changed implementation paths and the caller and callee assumptions they affect.
- If behavior violates the approved contract, repair the implementation and capture the regression. If the contract legitimately changed, update it through the authorized process.
- Once the impact and required evidence are reviewed, record a fresh interface review. Do not refresh a fingerprint just because the check is inconvenient.
Run and interpret
proof audit --check interface_staleness_clean --format markdownThis verify-stage check reports implementation drift as warnings. Markdown output is useful for a full path list. Audit defaults to failing on warnings unless the configured threshold says otherwise.
Legacy reviews without stored implementation fingerprints use a trust-the-review fallback and cannot detect this drift. Migrating fingerprints establishes a baseline of current content; it does not retrospectively verify that content. A matching hash also says nothing about untraced artifacts or an initially incorrect contract.
Continue from here
Specify caller and provider obligations. Review changed trace relationships.
Bring a changed interface implementation and the review that previously justified it. Bring a change to Proof.