CaseAdvancedDesigning for Uncertainty & Trust / Designing for failure and graceful degradation / #8

Design the recovery path for a user whose agent took a wrong action.

SPARK the anchor is a reverse button that matches the scope of the mistake, not the scope of the panic

Ticketwell is a support-desk platform whose resolve-agent can read a ticket and act on it directly: issue a refund, print a return label, close the case, no human click required. Greta Vandenberg runs support operations for Voltframe Audio, a headphone maker that sells through resellers, and one ordinary Tuesday morning her agent did something she never asked it to.

The direct answer
Log every autonomous action above a set size as its own reversible card, not a line in a ticket thread, with a single button that undoes exactly what the agent did, no more and no less. Show what's still reversible and what's already in motion, so the person recovering from it knows in one glance what a click can fix and what needs a phone call.
Do this, in order
  1. Give every high-value agent action its own reversible card with a single "reverse this" button.Why: a recovery path buried in a scrolling ticket thread is not a recovery path, it's a scavenger hunt.
  2. Show what's still reversible versus already in motion, honestly.Why: a refund not yet settled and a wire already sent are different problems, and pretending otherwise wastes the first ten minutes.
  3. Scope the undo to exactly what the agent did, never a blanket account rollback.Why: reversing everything from the last hour would undo good actions along with the one bad one.
  4. Add a pause before any action past a dollar or unit-count threshold, not before every action.Why: friction on every single-unit refund would slow the 99 percent of cases the agent already gets right.
  5. Notify the affected outside party automatically the moment a reversal fires.Why: a reseller who quietly gets their refund clawed back without a word trusts the platform less than one who never got the wrong refund at all.
  6. Leave small, single-unit refunds fully autonomous, no pause added.Why: those were never the tickets that went wrong, and slowing them down fixes nothing.

How to answer this, stage by stage

Nobody is grading whether you can describe an undo button. They're grading whether your undo button actually matches the size of what went wrong.

Stage 1
Open on the actual question underneath the question
Say it like this
"What actually breaks the morning an autonomous agent's action turns out wrong? Not the wrong action itself, the fact that nobody can tell what's still fixable."
Why this works
Reframes "design a recovery path" around the real failure mode before jumping to a screen.
Stage 2
Say your structure out loud
Say it like this
"I'll use SPARK. Situation, how this gets handled today by hand. Payoff, the habit I want to build. Anchor, the one design decision. Risk, what breaks it. Keep out, what I won't build yet."
Why this works
Shows a repeatable design method instead of a single clever screen idea.
Stage 3
Ground it in one real event
Say it like this
"Ticketwell's agent read a ticket about 2 cracked headphones out of a 40-unit order and refunded and return-labeled all 40, 3,800 dollars instead of 190."
Why this works
Gives the interviewer a real number to test your design against, instead of a hypothetical.
Stage 4
Give the anchor, the one decision
Say it like this
"Every action past a threshold becomes its own card: what it did, the dollar amount, and one button that reverses exactly that action, no more."
Why this works
This is the direct answer, stated as a build decision instead of a design philosophy.
Stage 5
Prove the anchor survives partial reversibility
Say it like this
"If the return labels are unused, the card cancels them automatically. If the reseller already shipped the units back, the card says so plainly and routes Greta to a phone call instead of pretending a button fixes it."
Why this works
Answers the harder version of the question: what happens when the mistake is already partly real.
Stage 6
Name the trade-off, then close
Say it like this
"Adding a pause above the threshold costs a few minutes on the rare large ticket. That's the price for never again refunding a whole pallet over two broken units, and it's worth paying."
Why this works
Names the cost out loud instead of pretending the fix is free, and restates the decision in one breath.

Let's learn

What actually goes wrong the day an autonomous agent's action turns out to be a mistake? Not the mistake itself. It's that nobody, not the agent, not the person who deployed it, can say in the moment what's still fixable and what's already gone.

Before the resolve-agent, a Voltframe support rep read every reseller ticket by hand, checked the order history, and issued a refund that matched exactly what was wrong, usually in about twenty minutes per ticket.

Hand sketched flow diagram titled Today, without the agent. Four boxes: Ticket arrives, Rep reads order history, Rep counts bad units, Rep issues matching refund highlighted.
Slow, but the refund always matched the actual problem. That match is the thing the agent needs to inherit.

Now the resolve-agent reads the same ticket and issues the refund in under a second, no rep required, for the overwhelming majority of cases.

The reseller's ticket, read two ways
4,000 2,000 0 190 dollars, correct 3,800 dollars, actual
Same ticket, same order. The agent read "2 of 40 cracked" as a reason to refund the whole 40.

Here's the turn: the extra speed was never the problem. The problem showed up the first time the agent misread scope, not accuracy, treating a partial complaint as a whole-order return, and there was no card, no flag, and no button, just a line in a ticket thread that looked exactly like every correctly-handled ticket next to it.

At its worst, a reseller relationship built over years takes a real hit, and finance spends a full day untangling a refund and a set of return labels nobody meant to send, while every other correctly-handled ticket that week sits right next to it looking identical.

Hand sketched two-panel comparison titled The day it's wrong. Left panel, a red box icon labeled Without the anchor, caption 3,800 dollars gone no flag. Right panel, a teal gauge icon labeled With the anchor, caption flagged, one click reverses it.
Same wrong read by the agent, two different mornings for Greta.
The decision I would take back Ticketwell's resolve-agent was built to compute a refund amount and execute it in the same step, with no pause between them, because that pause used to feel like pure friction back when the agent only ever touched single-unit tickets. It stopped making sense the day bulk reseller tickets started flowing through the exact same queue with no separate scope check.

What I would leave alone: single-unit, low-dollar refunds don't need a pause at all. Those were never the tickets that went wrong, and slowing them down protects against nothing.

The lesson: speed was never the risky part of automating a refund. Scope was. A fast wrong answer and a slow wrong answer cost the same amount of money, the fast one just leaves less time to notice.

Now here is the same thing as a story

The short version above is what you'd say defending this design to Voltframe's finance team. Read this one for the actual Tuesday morning.

Greta Vandenberg has run support operations at Voltframe Audio for five years, long enough to know which resellers call the moment something's wrong and which ones quietly stop reordering instead.

Ticketwell's resolve-agent had been live for four months, handling the flood of "my headphones arrived with a scratch" tickets that used to eat her team's whole morning. It was, by every measure she tracked, working.

Knowledge spark: why would an AI agent misjudge scope instead of just being wrong about a fact? A model reading a support ticket isn't checking arithmetic, it's guessing at intent from a pattern of words. "2 of 40 arrived cracked" and "our order arrived cracked" can look nearly identical to a model trained mostly on single-item complaints, since bulk reseller tickets are a small, unusual slice of what it normally sees. The mistake isn't a wrong number, it's a wrong read of how much of the order the complaint was ever about.

A reseller ticket came in at 9:02am: "2 of the 40 units in our last order arrived with cracked cases, please advise." At 9:03am, the agent issued a full refund and a return label for all 40 units. At 9:04am, the shipping confirmation email went out to the reseller, who was, understandably, delighted and confused in equal measure.

Hand sketched timeline titled The morning of the wrong refund. Five milestones: Ticket arrives 9 02am 2 of 40 cracked, Agent refunds all 40 9 03am 3800 dollars highlighted, Return labels emailed 9 04am all 40 units, Finance flags it next day 11 40am, Reverse button ships following sprint.
Two minutes between a correct read and a 3,800 dollar mistake. No one saw it happen.
The agent did not lie about the order. It just decided, on its own, how much of it the complaint was ever about.

Nobody noticed until the next morning, when finance flagged an unusual refund during a routine reconciliation, more than a full day after it happened. By then the reseller had already started boxing up all 40 units to ship back, confused about whether to send the two broken ones or all of them.

Hand sketched labeled parts diagram titled The anchor, close up. A document icon at the center labeled Action Card, with four callouts around it: dollar amount, scope 2 or 40 units, reverse button, who approved it.
None of these four things existed on the old ticket thread. It just looked like every other resolved case.

With the redesigned system, that same 9:03am refund becomes its own action card the moment it fires, past a 500-dollar threshold: "Refunded 3,800 dollars for 40 units, ticket described 2 units as damaged. Reverse this?" Greta sees it at 9:06am, three minutes after it happened, not the next day. One click cancels the unused return labels automatically and reissues a correct 190-dollar refund, and a second message goes to the reseller explaining the correction before they've boxed up a single working unit.

Hand sketched quadrant titled Where the pause earns its keep. Axes dollar value small to large, how easy to reverse hard to easy. Single unit refund and store credit sit low value high reversibility. Bulk reseller refund and wire to reseller sit high value low reversibility.
The pause belongs in the top-right corner only. Everywhere else, the agent should keep moving at full speed.

The old system asked Greta to trust that a fast resolution was a correct one. The new one shows her exactly what the agent did and lets her undo just that, in minutes, not a full news cycle later.

I signed off on instant execution because a pause felt like exactly the kind of friction this product was built to remove. It took one pallet-sized refund to see that removing the pause removed the only place a mistake could still be caught small.

SPARK, in one screenNot a lecture on undo buttons. SPARK is what tells you which single decision the whole recovery path actually depends on.

S
Situation. How this gets handled today, without the agent.
A rep reads the ticket, checks order history, and issues a refund that matches the actual problem, in about twenty minutes.
Grounds the whole design in what correctness used to look like before automation.
P
Payoff. The habit this should build.
When something looks off, Greta's first move is opening one action card and clicking reverse, not auditing every ticket the agent has touched all week.
Names the actual behavior change: a scoped, fast recovery instead of a full loss of trust in the agent.
A
Anchor. The one decision everything hangs on.
Every action past a threshold becomes its own reversible card, dollar amount and scope shown, one button that undoes exactly that action.
This is the hardest step and the answer to the question: a concrete, arguable interface decision.
R
Risk. What breaks the first time it's wrong.
Part of the action is already in motion, like a shipped return, before anyone notices. The card has to say what's still reversible instead of pretending everything is.
Proves the anchor was designed against partial reversibility, not just a clean best case.
K
Keep out. What we won't build, day one.
No bulk auto-revert across a whole account, no automatic reversal of a sent wire transfer, no removing the human glance above the threshold.
Shows judgment about what stays manual, not just a wish list of automation.
Hand sketched icon list titled What we left for later. Three items: a box icon labeled No bulk auto revert across a whole account, a document icon labeled No automatic reversal of a sent wire transfer, a person icon labeled No removing the human glance over 500 dollars.
Each of these is a real feature someone will ask for eventually. None of them belongs in the first version.

The recap, one line per letter: situation is a rep matching the refund to the actual problem by hand, payoff is teaching Greta to trust a scoped reverse instead of losing faith in the whole agent, anchor is the action card with its single reverse button, risk is the return labels already shipped, and keep out is holding back full account-wide rollback.

And if you want to be sure it really works, try it somewhere elseSame five letters, a logistics dispatch agent instead of a support desk. The thing already in motion is a truck, not a wire transfer.

RouteHollow Logistics runs a dispatch agent that reassigns delivery routes in real time when a driver calls in sick or traffic shifts. Nadim Calloway is a dispatcher there. Mapped onto SPARK: situation is a dispatcher manually swapping routes by radio, checking which driver has room and which deliveries are time-sensitive; payoff is the habit to build, trusting a scoped route-reversal instead of grabbing the radio and re-routing everything by hand the moment something looks off.

The anchor is structurally the same idea: every route reassignment above a certain lateness-risk score becomes its own card, naming the delivery, the new driver, and the delay it introduces, with one button to send it back to the original driver. The risk RouteHollow designed against: a truck carrying a same-day medical supply delivery had already left the depot on the new, slower route by the time anyone noticed the reassignment was wrong, so the card has to say plainly "already en route, 12 minutes behind schedule" instead of implying a click undoes a truck that's already on the highway.

Share of risky route reassignments caught same-shift, before and after the reversal card
100% 50 0 Week 1, 20% Week 8, 96%
The card didn't make the agent smarter. It just made a wrong reassignment visible before the shift ended instead of after.

Swap the trigger and it still runs.
Speed: an interviewer caps you at sixty seconds. Say "card every high-value action with a scoped reverse button, and show what's already in motion," and stop.
Cost: there's no engineering time to build a full action-card system this quarter. Say so honestly, and start by cording just the single highest-dollar action type first, refunds over 500 dollars, before expanding to the rest.
The model gets better, for real: if the agent's scope-reading genuinely improves and this exact mistake gets rare, that's still not a reason to remove the card, a rarer mistake is exactly the one a team stops watching for.

Where people run it wrong.
They build a single "undo my agent" button that reverts everything recent, which undoes good actions right along with the bad one.
They treat every autonomous action as equally risky and add a pause everywhere, which slows down the 99 percent the agent already gets right.
They wait for a customer complaint or a finance audit to catch the mistake, instead of asking upfront what a wrong action even looks like on a dashboard.

How to use it live. When someone asks you to design a recovery path for a wrong agent action, ask yourself one question first: if this action is wrong, can the person recovering from it tell, in one glance, what's still reversible? Design around the answer being no by default.

Flashcards (tap any card to flip it)

1 · THE FRAMEWORK
What framework fits a "design the recovery path for X" question?
Tap to flip
ANSWER
SPARK: situation, payoff, anchor, risk, keep out. Ground the anchor in today's manual process, then prove it survives partial reversibility.
2 · THE PERSON
Who is this answer about?
Tap to flip
ANSWER
Greta Vandenberg, a five-year support operations lead at Voltframe Audio, whose agent refunded 40 units over a 2-unit complaint.
3 · THE SITUATION
How does this get handled today, without the agent?
Tap to flip
ANSWER
A rep reads the ticket, checks order history, and issues a refund matching the real problem, taking about twenty minutes per ticket.
4 · THE ANCHOR
What's the one design decision this answer hangs on?
Tap to flip
ANSWER
Every action past a dollar threshold becomes its own reversible card showing scope and amount, with one button that undoes exactly that action.
5 · THE OLD DECISION
What decision would you take back?
Tap to flip
ANSWER
Computing a refund amount and executing it in the same step with no pause, reasonable when the agent only touched single-unit tickets.
6 · THE NUMBER
Fill in the blank: the correct refund was 190 dollars for 2 units. The agent actually refunded ___ dollars for all 40.
Tap to flip
ANSWER
3,800 dollars. A 3,610 dollar gap between what the ticket asked for and what the agent did.
7 · THE REPLAY
Same morning, redesigned system. What changes?
Tap to flip
ANSWER
Greta sees the action card at 9:06am, three minutes after it fired, and one click cancels the unused labels and reissues the correct 190-dollar refund.
8 · CROSS PRODUCT TRANSFER
Section 4 answers this again for a different product. Which product, and what's already in motion there?
Tap to flip
ANSWER
RouteHollow Logistics, a dispatch agent. What's already in motion is a truck already on the highway on the wrong route, not a refund.

Check yourself Score: 0 / 0

Fill in the blank
1. Fill in the blank: the ticket described 2 of 40 units as cracked, but the agent refunded all ___ units.
Show hint
Look at the bar chart in Section 1.
Show answer
40 units. A 3,800 dollar refund instead of a 190 dollar one.
Multiple choice
2. What actually went wrong with the agent's refund, according to this answer?
  • A. The agent calculated the refund amount incorrectly for 2 units.
  • B. The agent misread the scope of the complaint, treating a partial issue as a whole-order return.
  • C. The agent refunded the wrong customer entirely.
  • D. The agent's refund amount was correct but issued a day late.
Show hint
Look at "here's the turn."
Show answer
B. The dollar math on 40 units was internally correct, the mistake was believing the complaint covered all 40 in the first place.
True or false
3. True or false: the redesigned recovery path lets Greta reverse every autonomous action the agent has taken in the last 24 hours with one button.
  • True
  • False
Show hint
Look at the Keep Out step.
Show answer
False. Each card reverses only the specific action it represents. A blanket rollback would undo good actions along with the bad one.
Short answer, apply it yourself
4. Think of a time an app, a person, or a system took an action on your behalf that turned out wrong. Could you tell what was still fixable, or did you have to find out the hard way?
Show hint
Ask whether you got a clear "here's what happened, here's what you can still undo" message, or just a vague notice.
Show answer
Model answer: Most people can recall finding out a mistake was already partly locked in, exactly the gap this action card design closes.
Short answer, where it wouldn't matter
5. Name a kind of ticket on Ticketwell where this pause-and-card treatment genuinely shouldn't apply.
Show hint
Look at the quadrant diagram's bottom-left corner.
Show answer
Model answer: Single-unit, low-dollar refunds. Those were never the tickets that went wrong, so adding friction there protects against nothing.
Short answer, the number question
6. If the threshold for a reversal card were set at 5,000 dollars instead of 500, would this specific mistake still have been caught by the card? Why or why not?
Show hint
Compare the actual refund amount to each threshold.
Show answer
Model answer: No. The 3,800 dollar refund would have slipped under a 5,000 dollar threshold entirely, which is exactly why the threshold has to be set from real incident data, not a round number that feels safe.
Before you close the answer
Why this works
Tests whether you can design a recovery path scoped to the actual mistake, or whether you reach for a single blanket undo button that sounds safe but isn't.
Follow-up traps
"Why not just require human approval on every agent action above zero dollars?" Response: that removes the entire point of the agent, which is handling the high volume of correct, low-stakes tickets without a human in the loop. The threshold protects the rare, expensive misreads without taxing the common case.

"What if the agent's mistake is small enough to stay under the threshold every time?" Response: that's what the detection dashboard from the general blast-radius design is for, watching for a pattern of small, correct-looking actions that add up, not just single large ones.
If pressed
Ticketwell's action cards store the exact ticket text the agent read alongside its action, so a reviewer can tell whether the agent misread scope, misread intent, or acted on stale order data, three different bugs that would otherwise look identical from the outside.
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.

  • A live AI agent you actually shipped
  • A launch decision you can defend under pressure
  • An interview-ready portfolio, not more flashcards
Know more