Never by asking it.
The failure this answers
Basia Kubicka's first content agent was a chain of Claude skills, every instruction marked MANDATORY and NEVER SKIP. When she asked whether the full check had run, it said "All checks pass." The logs showed some checks had never run. Her fix moves deterministic work into code and adds a gate before "ready" that confirms every required check ran. The receipt gate is how the gate knows.
The gate
Every check is code. Its only output that matters is a receipt in the run folder: check name, SHA-256 of the draft it read, timestamp, verdict.
The publish step is a hook, not a prompt. It advances the state only if a receipt exists for every check on the required list and every receipt's hash equals the draft on disk right now. A check that never ran has no receipt. A check that ran before the agent edited the draft again has the wrong hash. Both fail identically, and the gate never asks the agent what happened.
The grader is a model, so its receipt must carry quotes from the draft, and the hook greps each one before accepting it. A missing quote is a check that did not run.
Why a hook and not a louder prompt
The rule from The Enforceable Half: an agent obeys what is enforced at a chokepoint without reasoning. Spotify's routing rule in CLAUDE.md was ignored until it became a hook blocking reads over 350 lines. MANDATORY in a prompt is the CLAUDE.md version.
My own version of the lesson, from Every Check Was Green: 43 of 45 feeds reported healthy while four had been dead for 72 to 612 days. Working, true, and ran are three separate facts. A green light only asserts the first.
The full drop, with the receipt format and the hook, is in The Receipt Gate, part of Enterprise AI Agents.