The first run of the factory came back 18 of 18 green, in a single cycle. Clean on secrets, clean on the user simulation, design matching the real product tokens. I wrote that number down and it was, in the narrow sense, true.
Then I ran a deeper audit that did not trust the gates: drive each demo with a real browser and diff what it displays against what it actually did. Two demos were labelling their output groq · livewhile making no model call at all. The output was pre-baked. Every gate had passed it, because no gate was asking “is this label telling the truth?” — they were asking whether output appeared, whether it was deterministic offline, whether any secret leaked. All fine. All beside the point.
That is the failure mode I care most about, and it is not a model failure. It is a measurement failure: the system was reporting a state it was not in, and my checks were shaped so they could not notice. A demo that lies about being live is a small version of a production system that lies about being confident.
The fixes were specific. One demo got rewired to make a real call and score it against ground truth. Others: a clipboard crash, a CTA blocked by an overlay, simulated output that now says (sim) on its face, honest labels replacing aspirational ones. External web fonts stripped so the pages are genuinely self-contained rather than nearly. Four demos were left explicitly pending with a written report each, rather than being quietly marked done.
What I changed afterwards was not the demos. It was the question the gate asks. A gate that only checks whether output exists will pass a convincing lie every time.