Where the Failure Has to Land
Picture the moment the whole mechanism exists to survive. Someone is deep in a consumer repository, chasing a bug, and the fix is one line inside a vendored file sitting right there in the editor. The header says do not edit here. They have already stopped reading headers, because they are three hours into a bug.
A check that runs only in the shared repository reports this later, to somebody else, about a repository the editor was not looking at. A check that runs in the consumer's own test suite goes red for them, in the repository they are already in, with a message naming the file to edit instead. Same check, same script, completely different outcome — because the correction arrives while the context is still loaded.
So each consumer runs the drift check from its own suite. It shells out to the shared repository's script in check mode, scoped to that consumer, and asserts a zero exit.
The Rule Was Written as a Path, and That Was the Bug
The convention had been recorded like this: every consumer has a test file at a particular path under its backend directory. It worked for every consumer that had a backend directory.
Then one joined that is frontend-only. It vendored shared files for a week with no check at all. Nothing failed, because a test that does not exist cannot fail — and there was no inventory anywhere asking whether each consumer's check was present. The repository quietly complied with nothing while looking exactly like a compliant member of the family.
The correction was not to give that repository a backend. It was to notice that the rule's real content had been mis-stated. The requirement is every consumer enforces the check; the path was only ever an implementation detail of how the majority happened to do it. The frontend-only consumer now runs the same check from its own JavaScript test runner. Same assertion, different host.
Verify That the Check Can Fail
When the frontend-only consumer's check was added, it was not merely observed to pass. A vendored file was deliberately edited, the suite was run, and the failure was confirmed — then the edit was reverted.
That step is easy to skip and it is the only thing separating a real check from a decorative one. A green test proves nothing about a check's sensitivity: a check with an inverted condition, a wrong path, a swallowed exception, or a filter that matches nothing all pass beautifully forever. The first thing a new guard should do is fail on purpose.