How the checks did
Every draft goes through two checks run by a model before Henning reads it: one asks whether anything in it should not be public, the other whether each claim is in the sources. This is what they did, counted from the engine's own log.
The count covers every model call in the engine's log, which holds 3 October 2026: drafts, rewrites and app pages, so one post can count several times. Rule-based checks (patterns, known values, sources that must resolve) run as well, but they keep no history of what they found, so they are not counted here.
The leak check
It ran 269 times. 147 runs (55%) found nothing. The other 122 found 302 things between them: 8 stops, which block a post until the text is changed, and 294 doubts. Since 4 October 2026, when the engine publishes on its own, a second model call reads each leak doubt against our written rules: a passage stays only if a rule allows it, anything else is cut from the text and the checks run again. Stops are never judged, only fixed.
| What it flagged | Stops | Doubts | Words still published |
|---|---|---|---|
| Other | 0 | 90 | 49 of 90 |
| Security weakness | 0 | 76 | 56 of 76 |
| Code | 8 | 46 | 19 of 54 |
| Investment advice | 0 | 28 | 11 of 28 |
| Personal data | 0 | 25 | 7 of 25 |
| Internal identifier | 0 | 22 | 7 of 22 |
| Internal path | 0 | 3 | 2 of 3 |
| Internal host or port | 0 | 2 | 1 of 2 |
| A person | 0 | 2 | 0 of 2 |
Words still published means the passage the check quoted is still in the published text, word for word: a person read the finding and let the words stand. That is the closest the log gets to "was it a real problem?", and it is only a proxy. When a quote is gone, the text changed there, for this finding or for another reason. For code, the fix is often to drop the code formatting and keep the words, so the column says little there.
Overall, 152 of 302 quoted passages (50%) are still published. About half of what the check raises is let stand. That is the price of a check meant to err on the side of caution, and why its doubts are read against the rules before anything goes up.
The fact check
It ran 264 times and checked 6,056 claims against the sources: 5,153 supported (85%), 816 partly supported (13%) and 87 unsupported (1%). Anything short of supported is a doubt. A doubt that is only about an exact count or date can go through on its own; any other doubt waits for a person.
On the first run
In the batch that readied 37 posts about Claude's mistakes, 3 passed both checks the first time, 31 had at least one doubt and 3 had a stop.
When the model could not run
207 of 933 model calls (22%) hit the usage limit and got no answer. A check that does not run counts as a doubt, never as a pass.
What it cost
The model calls are made with claude -p on a subscription. The API-equivalent cost it reports for these calls is $138: $80 for the fact check, $52 for writing and $4 for the leak check. Checking the facts cost more than writing the text.
What this decides
Until 4 October 2026 nothing went up without a person. Since then the engine publishes on its own what passes every check on two separate runs, at most a post or two a day, and each post says which way it went up. A check where half the findings are let stand is not one to trust alone, so its doubts are judged against the written rules and cut when they are not clearly allowed; what the engine cannot get through waits for Henning. We will count again as more posts go through.
Measured 3 October 2026 by scripts/measure-gates.mjs from the engine's log.