Position
The happy path is the cheap part.
A voice agent on an insurance line in 2021 and a job search tool built with AI in 2026 both failed in the places their demos never went.
The voice reads back the caller's email address aol.com as "ayole dot com." A minute later, it confidently mangles "gastroenterologist." Months of conversation design already done: paths mapped, utterances and responses written. Only so much could be tested by manually pasting words and conversations into the slow speech synthesizer. Once the system was built and put into testing on a dial-in phone line, many more mispronunciations made themselves heard. The types of failures a live insurer's line couldn't survive.
A demo that works is the result of rounds of design decisions. Designers mapped the conversation and wrote what the system would say at each turn. The engineers built to spec. The happy path runs smoothly. What changed is how quickly the demo is produced. Months once, now days, and that speed gets misread as design completion. In Segal and Rachitsky's 2026 survey of thousands of tech workers, respondents described producing more in less time while understanding less of what they shipped. The idea that 80% of the design is done and only 20% polish remains is reasonable, since everything seems to be working.
But that's an illusion afforded by AI. That last 20% was always core design work. The happy path is the demo path precisely because it's the cheapest to produce. The real effort comes in at the edges: abuse, confusion, hallucinations, handing off to a human. AI has collapsed the cost of producing the happy path, but it can't collapse the judgment needed to define it. It can list possible failures faster than anyone could read them. Which ones are real, and which the user deserves to have handled, still requires a decision. The designer's judgment defines both the happy path and the edges.
That phone line ran on intents, utterances, and hand-mapped dialog. Repairing the pronunciation started before any phone call, with a complete list of specialties, email domains, and common member names. I could read down the list and mark the items likely to break a synthesizer. Suspects went to the dial-in line, and each confirmed failure got its fix specified in IPA and SSML for the linguists and developers to build. Nothing in the system knew which words it was failing; knowing where synthetic speech breaks, and that a caller who already strains to hear can't recover from a mangled word, is what made the list possible.
Callers asked the agent whether it was human, and it needed an answer that was honest and didn't break character. That question sat beside the others: the cursing, the befriending, the point where the right move was handing off the call, and the topics that were never the agent's to take. Those paths were never polish, and the demo didn't show them. Deciding what the agent should refuse was as much the design as anything it said.
The claim got easier to test this year. I built myself a job search tool, an app that watches a fleet of company job boards, ingests their postings, and scores each one against my background. AI built most of it and AI runs inside it. The happy path arrived in an afternoon, but the edges have taken two months and counting.
One feed passed every check a monitor could run. It answered, the rows were well formed, it reported 466 jobs. What broke it open was an absence: a senior design manager role I knew was on the company's careers site never appeared in the app.
I went back to the feed. The count was exactly 466 in June and exactly 466 thirty-six days later, and every posting date stopped on the same day months ago. A live board's count varies over time. Every property that made this one look healthy was the evidence it was dead. An API abandoned but still answering.
Nothing in the system knew what a live board is supposed to do. Just like hallucination and refusal, the dead feed came down to a definition the system couldn't supply. Someone has to define what healthy means for a person who will act on the contents. While a model can generate failure candidates by the thousand, deciding which are real didn't get cheaper.
The fix was a rule. Any feed whose newest posting is older than ninety days fails loudly, with a banner, before anything is ingested. Deciding what the system should refuse, again.
From outside the system, this work is invisible. At this scale the division between defining and producing collapsed outright: writing the ninety-day rule and shipping it were the same motion. Larger organizations keep the division, but the cost of testing a definition fell with the cost of production. The designer once handed a spec to engineering and waited for a build. They can now build the working version themselves, find where it breaks, and hand over a definition already tested. On this project that work looks like engineering practice. Adapter tests recorded against fixtures, a calibration gate on scoring, live verification before a change lands.
A score came back wrong one day, off from the number I remembered. The log showed why: a fix upstream had moved it, and it sat at 82 again. In 2021 the catch was a mispronunciation, by ear, corrected before the system ever spoke it back. In 2026 it was a score, by memory, corrected before the system ever acted on it. Different systems, five years apart. The job hasn't changed: knowing what right looks like, against a system that answers that nothing is wrong.