Check reference

Review trace links after either side changes

A trace link was reviewed for particular requirement and artifact content. suspect_clean reopens the relationship when either side changes or a reviewed target fingerprint is missing.

What the check observes

Review state records the requirement fingerprint and a fingerprint for each linked target. The check compares both with current content. Target scope follows the link: a Go symbol can be fingerprinted at declaration scope, a Markdown target at the relevant requirement sections, and a satisfies target by its meaning. Commit timestamps and file modification times do not decide whether a link remains current.

Example: a test link was added after review

Illustrative case. The requirement's existing implementation and test targets still match their reviewed fingerprints. A new test link is added. Only the new relationship lacks a reviewed target fingerprint; adding it does not make every unchanged sibling relationship suspect.

proof trace suspect

# After reviewing this requirement-to-target relationship
proof trace review SYS-REQ-042 --citation pkg/retry/retry_test.go

Resolve the finding

  1. Inspect why the link is suspect: changed requirement, changed target, or missing target review.
  2. Reassess whether the artifact still implements, verifies, documents, or satisfies the requirement. Correct the implementation or relationship if it no longer does.
  3. Record a trace review with relevant citations only after that assessment. Preserve any failing evidence or unresolved impact instead of refreshing fingerprints mechanically.

Run and interpret

proof audit --check suspect_clean --verbose

This verify-stage check reports suspect relationships for review and is registered at error severity. Do not assume a suspect finding is non-blocking. Legacy reviews without target fingerprints need an actual re-review or a supported migration from review-time provenance. A current timestamp alone is insufficient.

Matching fingerprints mean that the recorded relationship is current for those inputs. They do not prove the original judgment was correct or that a linked test ran successfully. Trace freshness complements requirement review, typed evidence, and execution checks; it cannot replace them.

Continue from here

Review code deltas against intent. Review interface implementation drift.

Bring a changed requirement and the code or test link whose validity is now uncertain. Bring a change to Proof.