How do you budget latency when a third-party API's response time is outside your control?
Quennoc built Trackspan so customers could text "where's my package" and get a real answer instead of a form email. Trackspan doesn't know where any package is. It asks Ferrold, the carrier that actually has the truck, every time. Ferrold is fast almost always, and then, for one call in twenty, it isn't, and Quennoc can't fix Ferrold's servers, only decide what Trackspan does while it waits.
The direct answer
Don't budget latency around the third-party API's typical response time. Budget it around the point on their own distribution where you stop waiting, set a bit below their P95, not their average. Cap your own wait there, and the moment you cross it, answer with something honest, "still checking, I'll message you," instead of more silence. The customer's wait stays bounded even when Ferrold's own never is.
Do this, in order
Set your own timeout below the third-party API's P95, never its average.Why: the average describes a call that almost never causes a problem. The tail is the only part that ever makes the product feel broken.
State the equation before naming a number: your own processing, plus the carrier's call, plus a fallback cost only when you cross the cap.Why: "it feels slow" hiding inside one number is how a single uncontrolled stage burns the whole budget with nobody able to say which part did it.
Cache the answer wherever the underlying status genuinely can't have changed yet.Why: it's the one lever fully inside your own control, and it removes calls from the third party's tail before they ever happen.
Build the timeout to end in a real, bounded message, not a longer wait.Why: a timeout that just keeps waiting quietly isn't a timeout, it's the same open-ended risk with an extra step.
Never retry a slow call by default.Why: a retry adds load to an endpoint that's already struggling, and can turn a 2 second wait into a 4 second one.
Watch the share of calls crossing the cap in production, not the average latency number.Why: an average can sit still while a rising tail quietly trains a growing share of customers to stop trusting the reply.
How to answer this, stage by stage
Nobody is grading whether you know a number for Ferrold. They're grading whether you know that budgeting a dependency you don't control means budgeting its worst honest behavior, not its usual one, and that the fix lives on your side of the wall, not theirs.
1
Scope it to one call, and name who owns which half
Say it like this
"Let's ground this in one real case. Trackspan is a chat assistant Quennoc built, it answers 'where's my package' by calling the carrier's own tracking API directly. Idriss Doyle owns its latency budget. The first thing worth saying out loud: Quennoc controls Trackspan's own code. Quennoc does not control Ferrold, the carrier, or one millisecond of how long Ferrold's servers take to answer."
Why this works
Naming the ownership boundary before touching a number stops the answer from quietly promising to fix something that isn't fixable.
2
State the equation before naming a single figure
Say it like this
"Trackspan's reply time is three things added together. Its own processing, reading the question and building the reply. Ferrold's live call, which is the one term Quennoc doesn't control at all. And a fallback cost, which only shows up on the calls that run past whatever cap Quennoc sets."
Why this works
A number nobody can trace to a term is a guess wearing a stopwatch. Saying the equation out loud first makes that impossible.
3
Reframe what "budgeting" even means when you don't control the clock
Say it like this
"The real question isn't 'how fast is Ferrold.' It's 'which part of Ferrold's own spread of answers do I have to defend against.' Ferrold answers half its calls in under 300 milliseconds. It also answers one call in twenty in over 2.4 seconds, and one in a hundred in almost 7 seconds. All three of those numbers are true about the exact same API. Budgeting means picking which one your product actually has to survive."
Why this works
This is the moment that separates a real estimator from someone quoting a single "average latency" figure they found in a doc.
4
Give the one decision
Say it like this
"Here's what I'd actually do: set Trackspan's own timeout at 2 seconds, a little under Ferrold's own P95 of 2.4 seconds. The moment that clock runs out, Trackspan says 'still checking with the carrier, I'll message you the moment I have it,' and finishes the real lookup in the background, texting the answer when it lands, even if that's 6 or 7 seconds later. The customer's wait is capped. Ferrold's isn't, and doesn't need to be."
Why this works
This is the concrete, defensible decision, not a wish that the third party would just be faster.
5
Own the numbers, and show the range, not one figure
Say it like this
"Trackspan's own processing runs about 170 milliseconds. A typical call with no cache hit lands near 510 milliseconds total. That's the P50 case. Stack Ferrold's own P95 onto the same equation instead, and the same call runs about 2.6 seconds, more than five times slower, with nothing on Quennoc's side having changed at all."
Why this works
Giving both ends of the range, not just the best case, is what tells the interviewer you already know where this breaks.
6
Sanity check the cap, then name the trade you're accepting
Say it like this
"Trackspan handles about 60,000 tracking questions a day. Cache handles roughly 4 in 10 of those without ever touching Ferrold. Of the calls that do go live, about 5 percent, call it 1,800 a day, would have sat past 2.4 seconds if Trackspan just kept waiting. I'd rather cache a status for a few minutes and risk it being slightly stale than hammer Ferrold with a repeat call for a package that hasn't moved, that's the trade I'm making, a little staleness for a lot less waiting and a lot fewer calls to an API Quennoc doesn't control."
Why this works
Naming the trade plainly, staleness against speed and cost, is what makes this a real decision instead of a wish that all three were free.
7
Close on the one line
Say it like this
"So: cap Trackspan's own wait under Ferrold's P95, not its average, cache what genuinely can't have changed, and always end a slow call with an honest message instead of more silence. That's the whole budget, and it's the only part of it Quennoc ever actually owned."
Why this works
Ending on the actual decision, in one breath, is what makes this sound rehearsed instead of like a story that trailed off.
Let's learn
Trackspan is the chat assistant Quennoc's customers text when they want to know where a package is, and it answers by asking the carrier's own system directly instead of making a person go look.
Three of these four steps belong to Quennoc. The third one belongs to Ferrold, and Ferrold's clock is the one Trackspan actually has to budget for.
Before Trackspan, a Quennoc support agent needed about four minutes and three separate browser tabs, one per carrier site, to answer a single "where is my package" question, and the answer they typed back was usually already a few hours stale by the time it reached the customer.
Four minutes and three browser tabs, for one question, answered by one person, one at a time.
Knowledge spark: what is a P95?
Line up 100 timed calls to an API, fastest first. The 95th one in that line is the P95. Slower than 95 of them, faster than the last 5. It's not the usual case, it's the edge of the usual case, the number that tells you how bad "normal" gets before it turns into "rare."
Trackspan answers most tracking questions in under a second now, because it asks Ferrold the moment the question comes in, instead of routing it to a person with three browser tabs open.
Ferrold's own response time, the same API, five different truths about it
Comfortably inside the capRight at the capWell past it
Same API, same day, five true numbers. Budgeting for the P50 protects nothing. Budgeting for the P95 protects 95 percent of calls and turns the last 5 percent into a fallback message instead of dead air.
The turn: the extra wait was never really the problem on its own, not most days. Ferrold's answer is almost always right and almost always fast. What Trackspan couldn't control was the one call in twenty where "almost always fast" wasn't true, and on those calls, the honest reply was silence, because nobody had told Trackspan what to say instead.
Ferrold was never wrong. Trackspan just never had a plan for the version of Ferrold that was slow.
The decision that mattered
Trackspan's timeout isn't set by how fast Ferrold usually is. It's set by how slow Ferrold gets on its worst honest days, a little below that line, with a real message standing in the gap instead of more silence.
At its worst, before this design shipped, a slow Ferrold afternoon didn't just make Trackspan feel sluggish. It made a growing slice of customers assume the whole assistant was broken, and roughly 1 in 8 of those slow conversations turned into a support ticket asking "is this working?", about 225 tickets a day, near $900 a day, close to $27,000 a month, entirely caused by an API Quennoc never touched a single line of code inside.
What I'd leave alone: Trackspan's own local processing, parsing the question and formatting the reply, already runs around 170 milliseconds and is fully inside Quennoc's control. Shaving that to 140 wouldn't move the total in any way a customer could feel, next to a carrier tail that swings by over 2 full seconds. Effort spent there is effort not spent on the lever that actually matters.
The lesson: you can't budget a number you don't own by hoping it behaves. You budget it by deciding, in advance, exactly how long you'll wait for it before you stop waiting, and what you'll say the moment you do. The API's tail was never Quennoc's to fix. The silence during that tail always was.
Now here is the same thing as a story
Read the long version below when you want to feel why a pipeline that never once returned a wrong answer still trained customers to stop trusting it.
Idriss Doyle had spent his first year at Quennoc cutting the load time on the internal warehouse dashboard in half, entirely by rewriting Quennoc's own code faster. When Trackspan needed its first version of a carrier lookup, Idriss built it the same way he'd built everything else that had worked before: call Ferrold, wait for the real answer, send it back. Simple, and in every test he ran, fast.
For the first two months, that held up fine. Trackspan launched with three smaller regional carriers, none of them handling more than a few thousand packages a week, and their tracking APIs answered in a few hundred milliseconds almost every single time. Customers texted "where's my order," and a real answer came back before they'd even put their phone down. Idriss watched the average response time sit under half a second, day after day, and moved on to other work.
Then Quennoc signed Ferrold, the carrier that actually moved most of its volume, and Trackspan's traffic jumped along with it. Ferrold's API was, on average, just as fast as the smaller carriers had been. But Ferrold ran a much bigger, busier system, and a much bigger, busier system has bad afternoons the small ones never showed. Once or twice a day, a call to Ferrold would take two seconds instead of two hundred milliseconds. Nobody noticed, because the average barely moved. A slow call here and there, buried inside 60,000 questions a day, doesn't dent an average at all.
No single bad call. Just a slow trickle of tickets, building for a week, before anyone went looking for why.
What changed Idriss's mind wasn't one dramatic call. It was a week where the support queue's "is this broken?" tag ticked up a little each day, Monday to Thursday, still a small number against 60,000 daily questions, easy to write off as noise. On Friday, three tickets in, Idriss finally pulled the raw call logs instead of trusting the dashboard's average.
What he found: on the calls that took over two seconds, roughly 1 in 8 turned into a support ticket. Trackspan itself had done nothing wrong on any of them. It had asked Ferrold a question, and waited, silently, for however long Ferrold felt like taking, because that's what Idriss's original design told it to do. A customer staring at a chat window with nothing happening for six seconds doesn't experience that as "the carrier is a little slow today." They experience it as "this thing is broken," and they were right to, because from where they were sitting, nothing was happening at all.
The old design wasn't wrong when Ferrold was small and fast. It never had a plan for what Ferrold would look like at real scale.
Idriss's first instinct, sitting with that log, was to make Trackspan retry the call if it ran long, on the theory that a second attempt might land faster. A colleague talked him out of it inside a day: retrying a call to an endpoint that's already struggling adds more load to that exact endpoint, and in two of the sampled cases it had actually made a slow call slower, not faster. What Trackspan needed wasn't a second attempt at the same question. It needed a plan for what to say the moment the first attempt ran past a line worth defending.
The decision that had opened the door went back to that very first version, three months before Ferrold was even part of the plan. Waiting for the real answer, no matter how long it took, was the obviously correct choice when every carrier Trackspan called answered in a few hundred milliseconds, nearly always. Nobody in that first sprint decided that Trackspan should still be holding an open, silent connection for up to seven seconds a year later, once its biggest, busiest carrier joined the roster. It just kept working, right up until the one carrier that mattered most was also the one with the widest tail.
Run that same Friday again, with the 2 second cap and the fallback message in place from day one. The support queue's "is this broken?" tag never climbs, because a customer whose call runs long sees "still checking, I'll message you" inside two seconds, then gets the real answer by text a few seconds later. Idriss never has to pull a log to find a problem, because there's no slow trickle of tickets building quietly for a week to go looking for.
One design let Ferrold's worst afternoon decide how long a customer stared at silence. The other decided that in advance, and let Ferrold's worst afternoon happen somewhere the customer never had to watch it.
What Idriss would tell himself, back in that first sprint: waiting for the real answer wasn't wrong when it shipped. It had simply never been asked to survive a carrier ten times the size of the ones it was built and tested against, and nobody had put a date on when to ask it that question.
BOUND, run against Trackspan's actual budget
Not a story dressed up as a framework. This is an estimation problem with a piece you can't move, and BOUND is what stops "the API is slow" from becoming the whole answer.
BBreak it down. What's the actual equation?
Trackspan's total reply time equals three terms added together: its own local processing, Ferrold's live call (the one term entirely outside Quennoc's control), and a fallback cost that only appears on calls crossing the timeout. Three terms, not one number standing in for "the API feels slow."
Say the equation before naming a figure, or the whole estimate quietly becomes "however long Ferrold happens to take today."
OOwn the numbers. Where did each one come from?
Local processing: about 170 milliseconds, measured off Trackspan's own logs. Ferrold's live call: P50 about 280 milliseconds, P90 about 900, P95 about 2,400, P99 about 6,800, all pulled from Ferrold's own response times, not an assumption. Fallback cost: near zero added latency, since it fires as an immediate message rather than more waiting.
This is also where the rejected alternative sits: automatically retrying a slow call, which was tried and dropped once it made two sampled calls slower instead of faster.
UUse a range, not one number.
A typical call with no cache hit lands near 510 milliseconds total. The same call, landing on Ferrold's own P95 instead, runs about 2,630 milliseconds, more than five times slower, with nothing on Trackspan's side any different.
The whole argument for capping the wait instead of just quoting one figure lives in that five-times gap.
The build-up: a typical call versus Ferrold's own slow one in twenty
Local processingNetwork hopFerrold, typicalFerrold, P95
Local processing and the network hop are identical in both bars, about 200 milliseconds combined. Every millisecond of the difference between 510 and 2,630 comes from the one term Quennoc doesn't own.
NNail the sanity check. Does the number survive being compared to something real?
2,630 milliseconds is more than five times the 510 millisecond typical case, on the exact same code path, which already says the average is the wrong number to plan around. At 60,000 questions a day, with cache removing about 4 in 10 before they ever reach Ferrold, roughly 1,800 live calls a day would cross the 2.4 second mark if Trackspan simply waited every time, and historically about 1 in 8 of those turned into a support ticket. A number that looks fine on a dashboard while quietly generating 225 tickets a day is exactly the number this step exists to catch.
The hardest step, and the one most answers skip. A range that sounds reasonable in isolation can still be sitting on top of a real, countable cost.
DDirection. Which assumption would move the answer most?
Not Trackspan's own code, and not the network path. Whether a given call lands in Ferrold's normal range or its tail swings the total by over 2,000 milliseconds on its own, more than every other factor combined. The next biggest lever, and the only one Quennoc actually controls, is the cache hit rate: pushing it from about 40 percent toward 60 to 65 percent removes a third of all live calls from Ferrold's tail before they ever happen.
Naming the assumption you trust least, and the one lever you can actually pull, is what a good estimator does that a bad one skips.
Three of these four terms are small, stable, and fully owned by Quennoc. One of them is neither small, stable, nor owned by anyone at Quennoc at all.
What moves Trackspan's total the most, by how wide each swing runs
Ferrold's own tailCache hit rateLocal processingNetwork path
The bar Quennoc can actually pull, cache hit rate, is a distant second. The bar that decides everything, Ferrold's own tail, isn't Quennoc's lever at all, which is exactly why the design has to survive it instead of trying to shorten it.
Three things worth stating directly, since this is where the real judgment sits. The alternative Idriss's team seriously considered and rejected was automatically retrying a slow Ferrold call, dropped once two of the sampled retries came back slower than the original call, adding load to an endpoint that was already struggling instead of relieving it. A second alternative, switching to a different tracking vendor entirely, was never really live: which carrier answers a given question is set by which carrier the customer's package actually shipped with, not something Quennoc can route around. The AI-specific failure worth naming is hallucinated status: Trackspan uses a model to turn Ferrold's structured payload into a plain sentence, and if a call times out with no data, that model must never invent a plausible-sounding status like "it's out for delivery" from nothing. The guardrail is a hard one: the model is only ever handed the fields Ferrold actually returned, and when the timeout fires before any payload exists, the fallback message ships on its own, without the model ever being asked to describe a status it was never given. And the trade being accepted plainly: a cached tracking status can run a few minutes stale, in exchange for a faster typical reply and far fewer repeat calls hitting an API Quennoc doesn't control or pay to overuse.
And if you want to be sure it really works, try it somewhere else
Same three letters worth repeating, a pharmacy refill line instead of a package, and this time the lever that moves the estimate isn't the timeout or the cache. It's which questions ever needed to touch the slow third party at all.
Dosewell is the refill assistant Marlseed runs across its pharmacy chain. A customer texts about a prescription, and for some questions Dosewell has to call Duncastle, the outside benefits system that actually knows what insurance will pay. Sorenne Adair, Marlseed's pharmacy operations lead, owns Dosewell's latency budget.
The decision Sorenne would take back
Dosewell's first version called Duncastle for any question that mentioned insurance, cost, or cover, even the ones Marlseed's own pharmacy record could already answer on its own, because nobody had separated "needs a live check" from "just sounds like it might."
Duncastle is slower than Ferrold on a bad day: P50 near 500 milliseconds, P95 near a full 5 seconds. But the bigger lever here wasn't Duncastle's own tail at all. It was that Dosewell was asking Duncastle for answers Marlseed already had. "Is my refill ready" never needs Duncastle, that answer sits in Marlseed's own system, current to the minute. "Will insurance cover the new dose" genuinely does, because that answer can change the same day. Sorting questions by which bucket they actually belong in, not by which words they contain, cut the share of refill conversations that ever touched Duncastle's slow tail from about 70 percent to about 25 percent, and the share of conversations running past 3 seconds fell from roughly 4 in 10 to about 1 in 8, without Duncastle getting one millisecond faster.
The lever wasn't speed. It was routing. Most of these questions never needed to leave Marlseed's own record in the first place.
Same method, different lever: for Trackspan, every question genuinely needs Ferrold, there's no version of "where's my package" that Quennoc's own system already knows on its own. The lever there was capping the wait and catching repeats with a cache. For Dosewell, a large share of questions never needed the slow third party at all. The lever there was classification: correctly routing the question before deciding whether to pay Duncastle's tail for it.
Swap the trigger and it still runs.
Speed: an interviewer caps you at ninety seconds. Skip straight to it: state which part of the third party's own distribution you're defending against, then say what you do the moment you cross it.
Cost: Duncastle charges Marlseed per live lookup call. Routing the easy 70 percent of questions away from it wasn't just faster, it also cut Marlseed's monthly Duncastle bill by roughly the same share.
The model got better, for real: say Duncastle's own latency improves next quarter. That shrinks the P95 tail, which helps, but it does nothing about the 70 percent of questions that never needed to touch Duncastle in the first place. Routing still wins on its own.
Where people run it wrong.
They budget around the third party's advertised average instead of pulling the real P95 and P99 off their own logs.
They fix the timeout, then let it end in more silence instead of an honest message, which solves nothing the customer can actually feel.
They retry a slow call by default, on the hope that trying again will somehow land faster, when it usually just adds load to the exact endpoint already struggling.
How to use it live. Ask the question that actually decides the number before quoting one: "what does this dependency's own distribution look like, not its average, and which part of it am I choosing to defend against?" That's the question that tells you whether a 2 second cap is generous or already too slow.
Flashcards (tap any card to flip it)
1 · THE FRAMEWORK
What framework is this, and what's its one job?
Tap to flip
ANSWER
BOUND: show the arithmetic, own the assumptions. Built for estimation and sizing questions like a latency budget, not a story about someone's habit.
2 · THE PERSON
Who is this answer about?
Tap to flip
ANSWER
Idriss Doyle, the engineer who owns Trackspan's latency budget at Quennoc, and had already cut the internal warehouse dashboard's own load time in half before Trackspan existed.
3 · THE BLIND SPOT
What did the original "always wait" design never account for?
Tap to flip
ANSWER
That Ferrold's own worst calls, not its average, were the ones deciding whether the product felt broken. About 1 in 8 of those slow calls turned into a support ticket asking if Trackspan was working.
4 · THE EQUATION
What three terms make up Trackspan's real reply time?
Tap to flip
ANSWER
Local processing (about 170ms), Ferrold's live call (the term outside Quennoc's control), and a fallback cost that only appears on calls crossing the timeout.
5 · THE OLD DECISION
What decision would Idriss take back?
Tap to flip
ANSWER
Building Trackspan to always wait for Ferrold's real answer, no matter how long it took, a sensible default when every carrier answered fast, never revisited once Ferrold's own scale gave it a real tail.
6 · THE NUMBER
Fill in the blank: Trackspan's timeout is set at ___ seconds, just under Ferrold's own P95 of ___ seconds.
Tap to flip
ANSWER
2 seconds, and about 2.4 seconds. Ferrold's own P99 runs closer to 6.8 seconds, which is exactly the tail Trackspan never makes a customer sit through in silence.
7 · THE REPLAY
Same slow Friday, new design, what changes?
Tap to flip
ANSWER
With the 2 second cap and fallback message live from day one, the support queue's "is this broken?" tag never climbs, because a slow call gets an honest message inside two seconds instead of silence for up to seven.
8 · CROSS-PRODUCT TRANSFER
Section 4 answers this same question again for a different product. Which product, and what's the different lever there?
Tap to flip
ANSWER
Dosewell, a pharmacy refill assistant Marlseed runs. There the lever isn't the timeout or the cache, it's routing: most refill questions never needed to touch the slow third party at all.
Check yourself Score: 0 / 0
True or false
1. True or false: Trackspan should always wait for Ferrold's real answer, no matter how long it takes, since that's the only way to avoid ever telling a customer something wrong.
True
False
Show hint
Look at the direct answer and stage 4 of the walkthrough.
Show answer
False. Capping the wait below Ferrold's own P95 and sending an honest "still checking" message doesn't risk a wrong answer, it only bounds how long the customer stares at silence. The real answer still arrives, just as a follow-up.
Multiple choice
2. Why should Trackspan's timeout be set relative to Ferrold's P95, not Ferrold's average response time?
A. Because P95 is always exactly double the average response time.
B. Because the average describes calls that almost never cause a problem. The tail is the only part that ever makes the product feel broken.
C. Because carrier contracts require budgeting around P95 specifically.
D. Because the model that writes the reply runs slower on P95 calls.
Show hint
Check the N step in the framework recap, and stage 3 of the walkthrough.
Show answer
B. A number that looks fine on a dashboard while quietly generating support tickets is exactly the trap of budgeting around an average instead of the tail that actually breaks trust.
Fill in the blank
3. Ferrold's P50 is about ___ milliseconds, and its P95 is about ___ milliseconds.
Show hint
Look at the O step in the framework recap, and the percentile chart in Let's learn.
Show answer
About 280 milliseconds, and about 2,400 milliseconds. That gap, more than eight times, is the entire reason a single "average latency" number can't be the thing Trackspan budgets around.
Short answer, name the rejected alternative
4. What alternative did Idriss's team consider and reject before landing on the timeout-plus-fallback design?
Show hint
Look at the O step and the closing paragraph of the framework recap.
Show answer
Model answer: Automatically retrying a slow call to Ferrold. Dropped once two sampled retries came back slower than the original call, since retrying adds load to an endpoint that's already struggling instead of relieving it.
Short answer, apply it yourself
5. Think of an app you use that depends on someone else's system, a delivery app, a banking app, a flight tracker. Name one moment it made you wait, and say whether the app told you anything honest during that wait or just left you staring at nothing.
Show hint
Think about whether the app said anything at all during the wait, versus just showing a blank screen or spinner.
Show answer
Model answer: A food delivery app that just shows a spinner while confirming payment with a bank feels broken after a few seconds. The same wait, with "confirming with your bank, this can take a moment," feels like waiting on purpose instead.
Multiple choice
6. If Trackspan's cache hit rate rose from 40 percent to 65 percent, matching the D step's own lever, what happens to the number of Trackspan's 60,000 daily questions that ever touch Ferrold's live tail?
A. It stays the same, since caching only affects the reply's wording, not whether Ferrold gets called.
B. It drops meaningfully, from about 36,000 live calls a day toward about 21,000, cutting the calls that could ever reach the tail by roughly a third.
C. It rises, since a higher cache hit rate means Trackspan trusts Ferrold's answers less and double-checks more.
D. It has no effect on the tail specifically, only on the P50 case.
Show hint
Start from 60,000 daily questions, and work out how many are live calls at each cache hit rate.
Show answer
B. At a 40 percent hit rate, 36,000 calls a day go live. At 65 percent, only about 21,000 do. Fewer live calls means fewer chances to land in Ferrold's own slow one-in-twenty.
Before you close the answer
Why this works
Tests whether you budget a dependency by its distribution's tail or its comfortable average, and whether you know a bounded, honest wait beats an open-ended one when the slow part genuinely isn't yours to fix.
Follow-up traps
"Why not just retry the call if it's running slow?" Response: retrying hits the same struggling endpoint again, and in the sampled cases it made the wait longer, not shorter. A timeout plus an honest fallback caps the customer's wait without adding load to Ferrold at all.
"Isn't a 2 second cap still pretty slow for a chat reply?" Response: it's the ceiling on the visible wait before a fallback message appears, not the typical experience. Most replies land near 510 milliseconds untouched by the cap; the 2 seconds only ever shows up for the one in twenty calls that would have run past it anyway.
If pressed
The async fallback doesn't poll Ferrold again after the timeout fires. It registers a one-time callback against that specific tracking number on the same in-flight call Ferrold was already processing, so Trackspan never adds a second request on top of Ferrold's existing tail, it just waits for the first one to finish and pushes the answer the moment it does.
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.