The check verb of the feature loop: run it anytime, locally or in CI; fix what it lists and run it again.
$ mix cohere.check # exit 1 on hard drift (the CI gate)
$ mix cohere.check --accept deals # rebind the deals card after re-review
$ mix cohere.check --accept deals --by greg # …recording who judged (default: git user.name)
Hard findings fail the build: a stale map, an intent card whose context surface moved since review, a card referencing dead code. Design docs only ever produce advisories — an accepted design is a dated record, and drift on history is information, not a build failure.
Accepting drift is a review action: re-read the card against the current map first. The annotation records that the surface change was seen and deemed consistent with the card's intent.