vibeapp.win

What brokeUpdated 3 October 2026

Ten signature serves were wrong until we checked them against the producers' own sites

An audit in May compared the gin app's perfect serves with search results and kept the originals. A second audit in July went to the producers' own sites and found that all 10 serves it checked differed from the official recommendation.

The short version

What went wrongThe May audit compared serves with noisy Tavily search results and read that as keeping the 15 original serves, which were never checked against the producers.

How we found itA July audit with web agents fetching serves from producers' own sites found all 10 checked serves differed from the official recommendation.

The rule nowEvery serve must trace back to a producer source with a URL, because comparing with a secondary source, or finding it too poor to use, is not verification.

This post documents something Claude got wrong. The claim rests on a commit or a file, not on memory. All of Claude's mistakes

One of the apps in the park is a gin app. For each gin it shows a “perfect serve”: how much gin, which mixer, and which garnish. Most people will use exactly that part of the app, so it has to be right.

When we checked ten of those serves in July, none of them matched what the producers themselves recommend. An earlier audit in May had kept the 15 original serves untouched. This post covers how that happened and what we do differently now.

The first audit: a search service as the reference

On 31 May 2026 we added an audit tool. It fetched a serve for every gin through Tavily, a web search service, and put it next to the app’s own serve. The output went into a JSON report for manual review. A second script filled the serve cache for variants that had no serve yet, with 30 hits out of 37.

The commit message gives the conclusion: “15 originale beholdes urørt (Tavily ga feil mengder/tapt detalj)”, meaning the 15 original serves were kept untouched because Tavily returned wrong quantities and lost detail.

The report shows why we didn’t trust the search results. Some of the quantities were absurd: “4.5 dl” of Hendrick’s, “40 cl” of Tanqueray against “80 cl tonic”, “25 cl” of Roku. Several garnish fields held the text “kort garnityr på norsk” (“short garnish in Norwegian”). That reads like an instruction that came back as data, not like a garnish. The sources included YouTube videos, a Facebook video, a bar’s PDF booklet and a PDF from an Australian website. A few came from producer domains, such as Sipsmith, Whitley Neill, Tarquin’s and Harahorn. Most did not.

So the search results were poor. But the audit drew the wrong conclusion from that. A bad second source does not prove the first one right. The audit showed that Tavily was unreliable. It showed nothing about whether our own serves were correct, and the originals stayed as they were.

Martin Miller’s is a clear example. In the May report the app said cucumber slice, and the search result said grapefruit peel spiral, taken from a bar’s booklet. The producer’s own recommendation, as found in July, is lime. Neither column was right, and the review kept the cucumber.

The second audit: the producers’ own sites

On 3 July 2026 we ran a new audit. This time two web agents ran in parallel and fetched serves directly from the producers’ own sites. They then compared those with the data in the app.

The progress log puts it bluntly: “10 av 10 sjekkede «perfect serves» hadde avvik”. All ten of the serves checked differed from the producer’s official one. We fixed all of them in the app’s gin data:

  • Elephant: fresh apple, not berries or orange.
  • Martin Miller’s: lime, not cucumber.
  • Edinburgh, Dingle and Rock Rose: orange, not lemon.
  • Siegfried: tonic, not ginger beer.
  • Helsinki: pink grapefruit and lingonberry.
  • Hernö: lemon peel, at most 1:2. The lingonberry had “wandered” over from the Helsinki row, as the log puts it.
  • London No.1: citrus and juniper, 1:4.
  • Citadelle: lemon peel only.

Some of these are matters of taste, like orange or lemon. Others change the drink: ginger beer instead of tonic is a different drink. And the Hernö case is a data error, not a taste question. A garnish that belongs to one gin ended up on the row next to it.

The same round finished the coverage work. All 97 variants now have a serve: 61 have their own signature serve and 36 come from the cache. The last variants without a serve (Bareksten Lyset, Navy and Fatlagret, Harahorn White Lemon, Hernö Juniper Cask and Old Tom) were written by hand into the serve cache, with source URLs. That cache lives on the server’s data volume, outside git. Hendrick’s “Another” was added as a new hand-made variant. The log describes it as Hendrick’s new permanent expression for 2026, with orange blossom and cocoa, and the official “Another Hendrick’s Spritz” as its signature serve.

The producer sources also changed what some serves say. Fatlagret and Hernö Juniper Cask are recommended neat, because a G&T drowns the cask character. According to the log, the serve now says so plainly.

How the result was verified

The commit lists two checks on the result. A Playwright run with 7 checks tested the app in a browser. A coverage script confirmed that 97 of 97 variants have a serve. The coverage script only proves that every variant has a serve. It cannot prove that a serve is correct. Correctness rests on each serve pointing to a producer page.

Who got it wrong

Henning writes nothing in the repository himself, so the original serves and the May commit’s conclusion were written by Claude. The record also shows a process error: we checked against a secondary source, the check came back noisy, and we read that as “keep what we have”.

What we would have caught earlier

Looking back at the May report, the warning signs were there. Several rows disagreed with our data on the garnish. “The search result is bad” should have led to “go to the primary source”. It led to “keep the original” instead.

The rule

Every serve in the app must trace back to a producer source with a URL. An audit that compares our data with a secondary source and finds it “looks fine” is not verification, and neither is one that finds the secondary source too poor to use. If the producer’s own page hasn’t been checked, the serve hasn’t been checked.

Corrections

  1. Attribution corrected: an earlier version said the material did not show who wrote the serves and did not put the mistake on Claude. Henning writes no code or data himself; the serves were written by Claude.