A Passing Check Is a Claim, Not Evidence

Nine checks passed in three days of building with AI agents, and all nine were wrong. Why a green build is a claim, and where to look before you believe it.

A jointed wooden artist’s mannequin lies tucked into a bed, its head on a small linen pillow and its arms resting on top of a black and white zigzag blanket.
Photo: Gilbert Beltran / Unsplash

In Ferris Bueller’s Day Off, Ferris props a mannequin in his bed and rigs the door so that opening it plays a tape of him snoring. His mother looks in on him, cracks the bedroom door, sees the lump under the covers, hears the snore, and leaves satisfied. Technically, she ran a check. Practically, Ferris was downtown in a borrowed Ferrari.

Anyone working with AI agents knows that feeling, usually right after a green checkmark scrolls past in the terminal. The build passed, the types checked, the tool said “saved”. Most of us read that as done and type the next prompt. So did I.

From 15 to 17 August, I spent three days with AI agents getting the new korture.ai website ready to launch: the analytics, the move to our domain, and the sign-up flow. The site is the home for Sense, the tool I am building to measure how I work with AI agents. There is a special kind of comedy in building a product about human judgment while your own agent keeps slipping a mannequin into the bed.

What happened

On 15 August the agent handed me its list of what was left before launch. I am not a developer, and the list looked complete. It still felt too tidy, so I asked:

“Are you sure these are the only steps? Nothing is missing? Don’t we have to also include the GTM container that is there in the current korture.ai website?”

It was not complete. The list had been put together from our own notes and never checked against the live site, and the new site had no analytics at all. The agent wrote it down plainly: “the open-items list in a session note is a record of what we decided, not a record of what is true.”

Then it built the analytics, and the build came back clean. Nothing was being measured. The components had been imported at the top of the file and never placed on the page, and a block of script code had printed onto the page as text, throwing a browser error. The build had nothing to complain about, because an unused import is not an error, and the HTML looked right in a search. To its credit, the agent caught both by opening the page in a browser, and summed them up in one line: “Both faults share one shape: the build passed and the code was wrong.”

From then on, we wrote down every gap between what a check claimed and what was true. In three days there were nine.

On 16 August we opened our Google Tag Manager container, which still held the tracking tags from the old site. The plan assumed those tags were dead because the old pages were gone. Then we read every tag’s trigger, one by one, instead of its name. 11 of the 17 tags would have fired on the new site. One was named “Dashboard View”, and its trigger fired on every page.

Minutes later, the agent told me another Google Analytics property had “never received a single hit”. That made me pause. I knew that site got traffic, because another analytics tool showed it every day, so “never” smelled wrong. It reminded me of the control room in Michael Crichton’s novel Jurassic Park. The computer keeps reporting 238 dinosaurs, exactly the number expected, because it stops counting once it reaches the number it was told to look for. Ian Malcolm has them raise that number, and at 300 the count comes back at 292.

I pushed back. With the date range widened, the “empty” property held 31,951 events. The agent wrote: “I treated three symptoms of recent silence as proof of never.” Right below it: “SK was right on the facts and right to push.”

Two side-by-side counts. Left, Jurassic Park, the novel: told to look for 238 animals, the computer finds 238; told to look for 300, it finds 292, because it stopped counting at the number it expected. Right, our analytics on 16 August 2026: the last 7 days showed 0 events, read as never received a single hit; 1 January 2025 to 15 August 2026 showed 31,951 events.
A count that stops where it expects to. Widen the question and the real number appears.

On 17 August the agent built three quick questions that appear after someone signs up. It set the spacing in the source file, took a screenshot, and called it fine. I looked at the live page and found three faults in one screenshot: cramped spacing, three answers splitting into two groups, and no way to change an answer once tapped. I asked: “How did you not see the issue of spacing from dots and 1,2,3 should be one below the other? And what if I want to go back in options?”

The margin the browser applied was 0px. Another CSS rule had overridden the agent’s, so its spacing had never been in effect at all. After the fix the gaps measured 18px and 14px, and fixing those turned up two more faults, visible only at real phone size.

Nine checks that passed and were wrong, 15 to 17 August 2026. Source: KORTURE.ai website build notes, sessions 18 to 21.
What the check saidWhat was actually trueHow it was caught
Typecheck and build passed (15 Aug)Analytics imported, never placed on the pageOpening the page in a browser
The HTML looked right in a search (15 Aug)The browser hit a syntax errorRunning it in the browser
Tags with names like “Dashboard View” (16 Aug)11 of 17 would fire on the new siteReading each tag’s trigger, not its name
“Never received a single hit” (16 Aug)31,951 events of historyI challenged it, and the date range was widened
Green message: “enabled as a key event” (17 Aug)Not savedReloading the list
Spacing written in the source file (17 Aug)The browser applied 0pxMy screenshot, then reading the applied style
The agent’s own screenshot: “fine” (17 Aug)Three faults, then two moreMy screenshot at real size
Clean build (17 Aug)Diagram text spilled outside the drawingA screenshot
The page loaded in the preview server (17 Aug)The real build was brokenRunning the real build

What we checked

Ask a ten-year-old if they cleaned their room and they will yell “Done!” from the hallway. That shout is a claim. Opening the closet door is the evidence.

Software shouts from the hallway all day. On 17 August the agent marked our sign-up event as a key event in Google Analytics, and a green banner said it “has now been enabled as a key event”. After a reload, the list of key events did not include it. It had not saved.

Every “done” in those three days had a place to look instead.

Five pairs. What said done, and where to look instead: typecheck and build passed, open the page in a browser, the analytics were never on the page; a green message saying enabled as a key event, reload the list, the setting had not saved; a tag named Dashboard View, read what triggers it, it fired on every page and 11 of 17 tags would fire on the new site; spacing written in the source file, read the style the browser applied, 0px because another rule overrode it; the agent’s own screenshot called fine, look yourself at real size, three faults in one screenshot.
Each check on the left passed. Each look on the right found the fault.

Three rules went into our build notes those days:

1. “A computed style is the evidence. A value in the source file is only an intention.”

2. “A tag’s name and a trigger’s name describe what someone intended, not what fires. Read the trigger, not the label.”

3. “A toast is a claim by the interface, not evidence. Read the list.”

What it says about your judgment

Look again at that screenshot on 17 August. The agent did not skip the check. Afterwards it wrote:

“I screenshotted the first version, looked at it, and called it fine. The failure was not a missing check. It was bad judgment on a check I actually ran.”

Simon Willison, one of the clearest writers on working with coding agents, has been making the same point for months. In December 2025, in Your job is to deliver code you have proven to work, he wrote:

“If you haven’t seen the code do the right thing yourself, that code doesn’t work. If it does turn out to work, that’s honestly just pure chance.”

And: “Don’t be tempted to skip the manual test because you think the automated test has you covered already!” In his notes from a fireside chat at the Pragmatic Summit, published on 14 March 2026, he put it more bluntly: “just because the test suite passes doesn’t mean that the web server will boot.”

The same December post says: “When working on CSS changes I’ll often encourage my coding agent to take screenshots when it needs to check if the change it made had the desired effect.” My three days add one wrinkle. My agent took the screenshot, looked straight at the squashed options, and still called it fine.

Checking can be handed to an agent. Deciding where to look, and whether what you see would work for a person, stays with you.

It happens outside code too. An AI headline can pass every grammar check, hit the character count, and still put the reader to sleep. A form can snap to an 8-pixel grid and still trap someone who wants to change an answer. And on 7 August, an AI research report told us that competent work sits at 2 of 4 on the rating scales surgeons and anaesthetists use. The handbooks themselves said 2 meant “Marginal”. The report looked finished. Only the original was evidence.

Now, when an agent tells me something is finished, I pause before the next prompt. That pause is what I am building Sense to see: whether I take the agent’s word and move on, or stop and look.

The one rule to take into your next session: when an agent says “done”, ask where you would look to see it. Then look there yourself.

Try it on your last ten sessions

1. In your last ten sessions with an agent, find the last three times it told you something was done.

2. Next to each one, write where the evidence would be: the live page, the reloaded list, the style the browser applied, the file it exported.

3. Go and look at those three places now. Count how many match what the agent said.

What went into this post

  • Three days of building, 15 to 17 August 2026
  • Nine checks that passed and were wrong, each one written down when it was found
  • 17 tags read one by one, trigger by trigger
  • Two pieces by Simon Willison read in full

Sources

All writing