The deterministic spine of control-driven checking: turn a text control into a finding via an LLM used as a grounded pattern-recognizer. ground() admits a verdict only if its quoted snippet appears verbatim in the retrieved region and recomputes the finding line from that match (the model's line is discarded), so a fabricated snippet cannot survive. cache_key() makes verdicts reproducible. Pure — no LLM, no IO. 4 lib tests incl. fabricated-snippet-dropped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>