Announcing our partnership with the U.S. Army to advance mission-critical AI workflows.Announcing our partnership with the U.S. Army. Read the release

Skip to main content

A 97% Success Rate Is a Liability

BlogDay Two
Post 4 of 6

Thread AI Editorial · October 21, 2026

The monthly review had gone fine for the first 10 months. The success-rate chart for the exception-handling agent ran at 99% during the initial rollout, the same number it had shown since the pilot.

These early successes gave the team confidence they were on the right path. Even though they knew they had launched the product without robust failure mechanisms in place, even though they knew the agent wasn’t perfect, they figured they could continue iterating and tweak the product post-launch.

This perspective seemed to work, until it didn’t. As the team began to scale the product with more customers and real-world scenarios, they experienced failures that couldn’t be accounted for, like runs that stalled halfway through or tasks that were lost mid-run when the team deployed an update. What started at 99% slowly decreased to 97% over 10 months, and as volume grew, daily failures went from less than one at rollout to 1,500, each one a real problem someone was waiting on.

Those failures landed on the support team, the same team the agent was supposed to relieve. Instead of handling fewer inbound problems, they now spent their time untangling failures that aren’t tracked or easily resolved.

Exception agent

Healthy

Success rate since launch

97%

Fell from 99% at launch to 97% today.

At launch

10 clients · 50 runs a day · 1% failure rate

<1

Failed run a day

Today

1,000 clients · 50,000 runs a day · 3% failure rate

1,500

Failed runs, every day

Where the Failures Went

The company had never run a logistics product before it built this one. About a year earlier, it spotted an opening: enterprise shippers were handing every delivery problem to their call center support teams, which was costly and often got overwhelmed with call volume. Shippers wanted an agent that could triage delivery exceptions on its own, without routing every issue to a call queue, and the first company to offer one stood to capture them as early customers. The team picked an open-source agent framework, wired it to the client service rules already in place, and had a working version live in about eight weeks.

That early agent wasn’t pretty, but it did the job. The agent read each exception, such as a package stuck at a hub, a damaged shipment, or a delivery window a driver couldn’t hit, checked it against the client’s own rules, and either resolved it automatically or routed it to a human. Occasionally a run failed, meaning the agent stalled or errored partway through. In the beginning, this was rare, and someone would notice the stuck ticket, fix it by hand, and move on. Although fixing failures by hand wasn’t a long-term solution, with so few runs failing and first-mover advantage at stake, the team decided a more robust system could wait until after launch.

Same start. Two endings.

Anatomy of an early agent run

Every run

  1. 01

    Exception arrives

    A package stuck at a hub, a damaged shipment, a missed delivery window
  2. 02

    Agent is triggered

    Takes in the details of the exception
  3. 03

    Checks the rules

    Against the client’s own rules

Usually

  1. 04

    Resolved or routed

    Fixed automatically, or handed to a person
  2. 05

    Run completes

    Ticket closed

Occasionally

  1. 04

    Run stalls or errors

    Partway through, with nothing to catch it
  2. 05

    Then, nothing

    No record of how far the run got and someone eventually needs to fix it by hand
  3. 06

    A customer waits

    A real package, stuck where the agent stopped
Most runs resolved the exception or routed it to a person. Occasionally one stalled partway through and left no trace of what happened.

Behind each of these failures was a real package and a customer waiting on it. Each one sat wherever the agent had stopped working on it, with no record of how far it had gotten or whether anything else downstream, like a reshipment or a refund, depended on it.

Getting there first had answered whether the team could ship fast. It hadn’t answered the question sitting underneath the dashboard: Does the agent execute correctly, every time?

The agent executed correctly the overwhelming majority of the time, and the technology kept improving month over month. None of that helped the customers behind those 1,500 daily failures. Each of them was waiting on a delivery that never resolved, and each of them had a name.

Success Rate Is Not a Single Number

Look past the percentage, and the dashboard’s real problem comes into view: a success rate measures a share, but customers experience a count. At low volume, the count is small enough to look past. At high volume, the count is thousands of customers every single day, whether the aggregate metric looks reassuring or not.

What the team had put off until after launch was the layer that catches the failures and does something deliberate with them without needing someone to step in and triage. That layer means durable execution that survives a restart mid-run, idempotent retries that don’t resolve the same exception twice, and a completion guarantee so every run ends in a known state: finished, failed cleanly, or still in progress. It also means building in failsafe logic that is able to handle runs that deviate from defined paths. Those pieces exist on any serious stack, and somebody still has to build them, then prove they hold up at the speed the business is actually running.

What shipped

The agent logic, live in about eight weeks

  1. Read the exception

  2. Check the client’s rules

  3. Resolve or route

What sits underneath · left to the builder

Put off until after launch

Durable execution

A run survives a restart midway and picks up where it stopped.

Idempotent retries

A retry never resolves the same exception twice.

Completion guarantee

Every run ends finished, failed cleanly, or still in progress.

Failsafe logic

Runs that leave the defined path are handled, not stranded.

The pilot only needed the top layer. Fifty thousand runs a day run on both.

That proof work does not shrink when the ship date has passed. It’s the same job before and after, but doing it with a growing number of live failures a day is considerably harder than doing it before the first client site goes live.

When durable execution and completion guarantees are part of the platform from the first run, a failure becomes a recorded, resumable event, handled the same way every time. The team doesn’t have to choose between launching first and handling failures well, because the machinery underneath was built for the business the company was going to become, not just the pilot it started as.

Same start. Every ending known.

Anatomy of a durable agent run

Every run

  1. 01

    Exception arrives

    A package stuck at a hub, a damaged shipment, a missed delivery window
  2. 02

    Agent is triggered

    Takes in the details of the exception
  3. 03

    Checks the rules

    Against the client’s own rules

Usually

  1. 04

    Resolved or routed

    Fixed automatically, or handed to a person
  2. 05

    Run completes

    Ticket closed

Occasionally

  1. 04

    Run stalls or errors

    Partway through, and the platform catches it
  2. 05

    Recorded

    Where it stopped and what depends on it, so it can pick back up without repeating work
  3. 06

    A known state

    • Finished
    • Failed cleanly
    • Still in progress
When a run stalls, the platform records where it stopped and what depends on it, so every run ends in a known state.

That is the version worth building toward: an agent that behaves reliably whether a run succeeds or fails, so no one is left reconstructing what happened or guessing how to fix it. Both of these realities are critically important because the failures, however infrequent, are never invisible to the team responsible for them or the customers who experience them.

The Series

This is Post 4 of six, and the second of two about moving up the stack. Read the thinking behind this series in the manifesto.

Post 1
Published

Your Customers' Regulators Will Ask What the Agent Did – and Why

For companies whose customers already depend on their product, adding AI means answering to those customers’ regulators too. This post follows a claims software company that ships an agent to review insurance claims, then can’t explain one of its denials to a state examiner because the reasoning was never recorded when the decision was made.

Post 2
Published

The Demo Was the Easy Part

Businesses that run their operations on a product hold every new feature to the same service commitments. This post follows an insurance software company whose overnight deploy leaves quote requests stalled mid-decision while every health check stays green, because nothing recorded where each request stopped or how to resume it.

Post 3
Published

What Can This Agent Access for Each of Your 200 Clients?

Turning an internal tool into a product for a new market pays off if it ships while the opportunity is still open. This post follows a company that plans to sell its internal dispute-reconciliation agent, then learns that keeping each client’s data, billing, and limits separate could take quarters to build, long enough to miss the opening.

Post 4
This Post

A 97% Success Rate Is a Liability

Teams moving fast into unfamiliar territory often launch first and plan to iterate later. This post follows a company building its first logistics product, whose exception-handling agent slips from 99% to 97% success as volume grows, leaving 1,500 failed runs a day with nothing built to handle them.

Post 5
Coming Soon

Productize the Playbook: Composite One

The first composite about codifying expertise. Methodology that lives in a few senior leaders, reaching clients that those people will never have time to serve, so people and product sell together.

Post 6
Coming Soon

Productize the Playbook: Composite Two

The second playbook composite, closing the series. A different organization, the same tension: doubling down on human capital while turning part of the playbook into product.