CaseIntermediateResponsible AI & Advanced Practice / AI product case study teardowns / #16
What does an AI product's error handling reveal about its maturity?
TRACE the product is Duskvane, an AI diagnostic assistant for HVAC field technicians
Duskvane reads a unit's sensor data plus a technician's spoken description and suggests the likely fault and fix. Perpetua Lindqvist dispatches technicians for a regional HVAC service company and reviews every call Duskvane got wrong.
The direct answer
Duskvane's error handling reveals it's less mature than it looks: on a genuinely rare fault, it guesses with the same confident tone it uses on a routine one, instead of saying it's unsure. That single behavior, not the overall accuracy number, is the real maturity signal, and it traces back to a UI redesign that quietly removed the one indicator that used to show its doubt.
Do this, in order
Test the product specifically on rare, out-of-distribution cases, not just its overall accuracy.Why: a high average accuracy can hide a product that never once says it's unsure.
Check whether uncertainty ever surfaces anywhere, in any form.Why: a mature product names what it doesn't know. A silent one just guesses at full volume every time.
Trace any missing uncertainty signal back to when it disappeared, not just that it's missing.Why: a removed indicator points to a design decision. A never-built one points to a modeling gap.
Recut errors by fault type before concluding the model itself is the problem.Why: the failure often concentrates in rare faults, not spread evenly, which points at a different fix.
Leave the confident tone alone for the common, well-covered faults.Why: on cases it's actually good at, matching its tone to its accuracy is correct, not a flaw.
Don't chase overall accuracy improvements before fixing whether it can say "unsure" at all.Why: a slightly more accurate model that still never admits doubt is still an immature product.
How to answer this, stage by stage
Seven moves for a diagnosis question. The fifth is the strongest move in the whole framework.
Stage 1
Scope it to one real product and one real symptom
Say it like this
"I'll look at one specific product, Duskvane, an HVAC diagnostic assistant, and one specific symptom: what it does when it's genuinely unsure."
Why this works
Turns a broad "what does error handling reveal" question into something you can actually investigate.
Stage 2
Say your structure out loud
Say it like this
"I'll use TRACE: timeline, when the behavior started. Recut, slice the errors. Assume nothing, rule out instrumentation. Cause candidates, three real hypotheses. Evidence test, the one check that separates them."
Why this works
Tells the interviewer you're diagnosing, not guessing at a single cause up front.
Stage 3
Reframe: maturity isn't an accuracy number
Say it like this
"The overall accuracy number doesn't tell you if a product is mature. What tells you is what it does the one time it's wrong on something genuinely new."
Why this works
Separates a real answer from one that just repeats "it depends on the accuracy."
Stage 4
Recut by fault type before blaming the model
Say it like this
"Duskvane's overall accuracy looks fine, 91%. But sliced by fault type, it's near-perfect on dirty filters and thermostat faults, and it's guessing confidently on rare short-cycling patterns it's almost never seen."
Why this works
An average number hides exactly the segment where the real problem lives.
Stage 5
Run the evidence test
Say it like this
"The test that separates my hypotheses: feed it twenty deliberately novel, out-of-distribution cases. If it says 'unsure' on zero of them, it's not a UI problem, the model itself has no calibration at all."
Why this works
This is TRACE's strongest move, the one check that actually settles the question instead of guessing.
Stage 6
Give the direct answer
Say it like this
"Duskvane is less mature than its accuracy number suggests, because it never says it's unsure, and that traces back to a UI redesign that removed the one indicator that used to show it."
Why this works
Matches deliverable 0 exactly, and names the specific root cause, not just the symptom.
Stage 7
Close on what you'd leave alone
Say it like this
"For dirty filters and thermostat faults, where it's already accurate, I'd leave the confident tone exactly as it is. The problem is narrow, so the fix should be too."
Why this works
Shows judgment, not blanket suspicion of the whole product.
Let's learn
Duskvane listens to a technician describe a unit's symptoms, reads its sensor data, and suggests the fault it thinks is most likely, along with a fix.
Before Duskvane, a technician worked through a printed troubleshooting checklist by hand, roughly 45 minutes per call, checking each likely cause in order.
With Duskvane, most calls drop to about 20 minutes, since the checklist starts at whatever fault Duskvane suggests instead of at the top of the list every time.
Knowledge spark: what's calibration?
How well a model's stated confidence matches how often it's actually right. A well-calibrated model says "unsure" on cases where it's genuinely likely to be wrong. A poorly calibrated one sounds equally sure whether it's right or completely lost.
The turn: the extra wrong diagnoses aren't really the maturity problem. The maturity problem is that Duskvane never once flags a case as one it's unsure about, right or wrong.
Escalation rate on 50 held-out, out-of-distribution fault cases
Same model underneath. The behavior that dropped from 80% to 8% is the interface's confidence indicator, not the model's actual accuracy.
At its worst: a technician trusts a confidently-stated wrong diagnosis on a rare compressor fault, replaces the wrong part, and the customer's unit fails again two days later, on a call that should have been escalated to a senior tech from the start.
The cause the evidence actually points to
A UI redesign quietly removed the small "low confidence, escalate" badge that used to appear on uncertain cases, in favor of a cleaner-looking single suggestion box for every call. That felt like a reasonable simplification when the badge rarely appeared and cluttered the screen. It stopped being reasonable once technicians had no way left to tell a confident right answer from a confident guess.
What I would leave alone: Duskvane's suggestions on dirty filters and thermostat faults, the vast majority of real calls, stay accurate and don't need an uncertainty flag they'll almost never use.
The redesign didn't make Duskvane less accurate. It made Duskvane unable to tell anyone the one time accuracy wasn't there.
The lesson: a product's error handling is the actual maturity test, not its average accuracy. A mature product tells you when to stop trusting it. An immature one just sounds the same either way.
Now here is the same thing as a story
The short version above is what you'd say under time pressure. Read this one for how Perpetua actually traced it back.
Perpetua has dispatched HVAC technicians for eleven years and can usually tell from a two-sentence phone description whether a call needs a senior tech.
The suggestion step, third in line, is where an uncertainty signal should surface and, since the redesign, doesn't.
For months, Duskvane's suggestions looked reliable across the board. Techs stopped double-checking dirty-filter and thermostat calls entirely, since Duskvane was right on those almost every time.
The redesign, not the launch, is the actual moment the maturity problem started, weeks before anyone noticed a pattern.
The trigger was one rare fault: a compressor short-cycling in a pattern combined with a slow refrigerant leak, a combination Duskvane had seen fewer than five times in training. It suggested "replace the start capacitor" with the exact same confident tone it used on a routine dirty filter.
Duskvane's unfamiliar-case branch runs straight into the "guesses anyway" box, the same one a genuinely immature product runs into.
The technician replaced the capacitor. The unit failed again two days later. Perpetua pulled the call log and found nothing in Duskvane's own output distinguishing that call from a routine, high-confidence one.
The rare short-cycle fault sits in the exact corner where escalation should happen most and happens least.
She ran the evidence test herself: twenty deliberately novel cases, faults Duskvane had seen only once or twice in training. It escalated one of them. Nineteen got a confident, specific-sounding suggestion, several of them wrong.
All four of these existed in Duskvane's first release. Only the logged record survived the redesign.
The old interface asked technicians to read a small badge that rarely appeared and decide for themselves whether to trust it. The new one, once fixed, brings that badge back but only on cases below a set confidence line, so it stays out of the way on the calls where it isn't needed.
The redesign team simplified the screen because the badge cluttered a mostly-empty space and rarely fired. It took a technician replacing the wrong part twice on the same unit to see that "rarely fires" and "safe to remove" were never the same thing.
TRACE, five checks for what error handling actually revealsNot a vibe about polish. TRACE is what finds the exact behavior a maturity claim rests on.
Five letters, and the evidence test is the one that actually proves which cause is real.
T
Timeline.
Escalation on novel cases was near 80% at launch, and dropped to 8% right around the UI redesign, months before anyone connected the two.
Pinpoints when the behavior actually changed, not just that it's currently bad.
R
Recut.
Sliced by fault type: near-perfect on dirty filters and thermostat faults, guessing confidently on rare short-cycle patterns.
The overall 91% accuracy hides exactly where the real problem concentrates.
A
Assume nothing.
Ruled out a logging bug first: the confidence score was still being calculated internally, just no longer shown on screen.
A missing display and a missing calculation look identical from the outside until you check.
C
Cause candidates.
Three hypotheses: the UI redesign removed the badge, the model was tuned to sound more authoritative for sales demos, or the model was never calibrated at all.
Names real, distinguishable hypotheses instead of jumping straight to a guess.
E
Evidence test.
Twenty novel cases, run manually: the confidence score still existed in the logs, meaning the model was calibrated, but the badge simply wasn't rendered anymore.
The single strongest move: it settles which of the three hypotheses is actually true.
Technician override rate, months since the UI redesign
Trust erodes for every suggestion, not just the rare ones, once a technician can no longer tell which confident answer to doubt.
The recap, one line per letter: timeline is the redesign months before anyone noticed, recut is escalation collapsing on rare faults specifically, assume nothing is confirming the confidence score still existed internally, cause candidates is three real hypotheses, and evidence test is twenty manual cases proving it's a removed display, not a broken model.
And if you want to be sure it really works, try it somewhere elseSame five letters, a pharmacy instead of an HVAC dispatch office.
Mornbright flags potential drug interactions for pharmacists filling prescriptions. Corvin Adeyanju leads the pharmacy tech team at a regional chain, reviewing flagged interactions before dispensing.
Mapped onto TRACE: timeline traces a drop in "consult pharmacist" flags to a software update that merged two separate alert types into one generic banner. Recut shows the drop concentrated entirely in rare, multi-drug interactions, not common two-drug ones, which stayed accurate. Assume nothing rules out a data feed issue first, confirming the underlying interaction database itself was never touched. Cause candidates: an intentional simplification to reduce alert fatigue, a genuine gap in rare-interaction training data, or a broken confidence threshold. Evidence test: manually checking twenty known rare interactions shows the system still flags them internally, in a log nobody reads, but no longer displays a distinct "high-stakes, consult required" banner, the same removed-signal pattern as Duskvane.
A different product, a different fault type, and the same missing piece: a signal the system still computes but no longer shows.
Swap the trigger and it still runs.
Speed: an interviewer caps you at sixty seconds. Say "it never says it's unsure on rare cases, and the evidence shows the confidence score still exists internally, just not on screen," and stop.
Cost: there's no engineering time this quarter to rebuild the full confidence UI. Say so honestly, and start with a simple text line, "uncommon case, verify manually," triggered whenever the hidden score falls below a threshold.
The model gets better, for real: if Duskvane's overall accuracy genuinely improves next quarter, that's still not proof of maturity, a more accurate model that still never says "unsure" is just a quieter version of the same gap.
Where people run it wrong.
They judge maturity by overall accuracy alone, missing that the real signal lives in the rare, sliced-out segment.
They assume a missing uncertainty signal means the model can't calibrate, without checking whether it's just not being displayed.
They fix the model's accuracy first, when the real gap is a design decision that removed a signal that already existed.
How to use it live. When someone asks what error handling reveals about maturity, ask yourself: does this product ever say "I don't know," and if not, is that because it truly can't, or because someone decided not to show it. Those are two very different problems with two very different fixes.
Flashcards (tap any card to flip it)
1 · THE FRAMEWORK
What framework fits "what does this product's error handling reveal about its maturity"?
Tap to flip
ANSWER
TRACE: timeline, recut, assume nothing, cause candidates, evidence test. It's a diagnosis question about a symptom, not a design or tradeoff question.
2 · THE PERSON
Who is this answer about?
Tap to flip
ANSWER
Perpetua Lindqvist, who has dispatched HVAC technicians for eleven years and traced the pattern back herself.
3 · THE SYMPTOM
What's the actual symptom being diagnosed here?
Tap to flip
ANSWER
Duskvane never flags a case as uncertain, even on genuinely rare faults it's almost never seen before.
4 · THE EVIDENCE TEST
What's the one check that settles which cause is real?
Tap to flip
ANSWER
Manually run twenty novel cases and check the internal logs. The confidence score still exists there, proving it's a removed display, not a broken model.
5 · THE ROOT CAUSE
What decision actually caused the drop in escalation?
Tap to flip
ANSWER
A UI redesign removed the low-confidence badge to simplify the screen, since it rarely appeared and looked like clutter.
6 · THE NUMBER
Fill in the blank: escalation on novel cases dropped from 80% before the redesign to ___% after.
Tap to flip
ANSWER
8%. Same underlying model, a completely different escalation rate.
7 · THE FIX
What's the actual fix, once the cause is confirmed?
Tap to flip
ANSWER
Bring back a short "uncommon case, verify manually" line whenever the existing, already-computed confidence score falls below a threshold.
8 · CROSS PRODUCT TRANSFER
Section 4 answers this again for a different product. Which product, and what's the same missing piece?
Tap to flip
ANSWER
Mornbright's pharmacy drug-interaction flags. Same pattern: the system still computes a signal internally but stopped displaying it after a simplification.
Check yourself Score: 0 / 0
Multiple choice
1. Why does this answer treat Duskvane as less mature, even though its overall accuracy is 91%?
A. 91% is actually a low accuracy rate for this kind of product.
B. It never flags uncertainty on genuinely novel cases, so a confident wrong answer looks identical to a confident right one.
C. It runs slower than the printed checklist it replaced.
D. Technicians dislike its voice interface.
Show hint
Look at the "recut" and "evidence test" steps.
Show answer
B. Maturity is about whether the product can flag its own doubt, not about its average accuracy.
True or false
2. True or false: the evidence test found that Duskvane's model itself was never capable of calculating a confidence score.
True
False
Show hint
Look at the "assume nothing" and "evidence test" steps.
Show answer
False. The score still existed internally in the logs. A UI redesign simply stopped displaying it.
Fill in the blank
3. Fill in the blank: technician override rate climbed from 12% one month after the redesign to ___% by month six.
Show hint
Look at the line chart of override rate over time.
Show answer
44%. Trust eroded across all suggestions, not just the rare cases, once technicians lost the way to tell confident-right from confident-wrong.
Short answer, name the reversal
4. What old decision does this answer take back, and why did it make sense when it was made?
Show hint
Look at "the cause the evidence actually points to."
Show answer
Model answer: Removing the low-confidence badge in a UI redesign, which made sense while it rarely appeared and looked like visual clutter on a mostly clean screen.
Short answer, where it wouldn't matter
5. Name a fault type where this exact problem, missing uncertainty signals, genuinely wouldn't matter.
Show hint
Look at "what I would leave alone."
Show answer
Model answer: Dirty filters and thermostat faults, where Duskvane is already accurate on nearly every call and rarely needs to flag doubt.
Short answer, apply it yourself
6. Pick an AI product you use yourself. Has it ever told you it was unsure, or does it always answer with the same tone regardless of how confident it should be?
Show hint
Think about a voice assistant, a search tool, or an autocomplete feature.
Show answer
Model answer: Many people notice a voice assistant answers an obscure question with the same confident tone as an easy one, with no signal telling them which answers deserve a second check.
Before you close the answer
Why this works
Tests whether you can look past an overall accuracy number and find the specific, traceable behavior, silence instead of doubt, that actually defines product maturity, and whether you can prove the cause instead of guessing at it.
Follow-up traps
"Couldn't the model just be genuinely more confident now than it used to be?" Response: the evidence test rules that out directly, the internal confidence score on the same twenty novel cases is still low, it's just no longer shown.
"Isn't bringing back the badge just going to clutter the screen again, the original complaint?" Response: no, the fix only shows it below a set confidence threshold, so it stays invisible on the common, high-accuracy calls exactly like before.
If pressed
Duskvane's internal confidence score is computed from how many similar training examples it saw for that specific fault pattern, so a fault seen fewer than five times produces a real, low, checkable number, it was never a matter of the model refusing to estimate its own uncertainty.
From U2xAI Academy
From answering questions to owning outcomes.
A live workshop where you ship a working AI agent, defend a launch decision, and walk away with a portfolio recruiters can't wave off, not just more questions to study.