CaseIntermediateModel Fluency & the AI PM Role / Working with ML engineers and researchers / #7

Explain how you would run a bug triage meeting where half the bugs are model behaviour, not code.

FLIPS · a real upgrade to Tideglass, the churn-prediction score behind Fellwick Outfitters' customer-success queue

Fellwick Outfitters rents expedition gear on a subscription: tents, packs, cold-weather kit, swapped in and out as a member's plans change. Tideglass is the model that scores every active membership's chance of cancelling in the next 30 days, so customer success knows who is worth a call. Melisande Kestrideth has run Tideglass's bug triage for about three years. This is the meeting where a new hire asks the one question the tracker was never built to answer.

The direct answer
At the start of every ticket, ask one question before anything else: did the code do the wrong thing, or did the churn model decide the wrong thing on inputs it was never confidently right about. Send code answers through the normal script: reproduce it, assign it, fix it, verify it. Send model answers into a separate lane, logged against an eval set and judged against a target rate for that pattern, never a fixed-or-not checkbox.
Do this, in order
  1. Ask "code or model" for every ticket, before anyone picks an owner.Why: this is the actual reversal; skip it and whoever runs the meeting decides case by case, in their head, with nothing anyone else can check.
  2. Give model-behavior tickets their own lane, closed against an eval set and a target rate, never a fixed-or-not checkbox.Why: a checkbox promises one patch will settle something that is really a pattern across many inputs.
  3. Write the lane down in the tracker itself, not in your head.Why: a private judgment call only works while the one person holding it is in the room.
  4. Merge duplicate reports of the same pattern into one tracked item instead of three separate guesses.Why: three reports of the same real issue should get one real answer, not three different ones.
  5. Keep the code lane fast for anything with a clean reproduction step or a stack trace.Why: a real defect does not need a debate about which lane it belongs in.
  6. Review the model-behavior lane's target rates on a set schedule, even in weeks nobody is complaining.Why: a segment can sit over its rate for weeks with no ticket at all, since nobody yet knows what "still broken" looks like without a check.

How to answer this, stage by stage

Nobody is grading whether you can describe a tidy meeting agenda. They are grading whether you will notice the moment a ticket stops meaning what your tracker was built to assume it means.

1
Ground it in one product and one meeting
Say it like this
"Let's make this concrete. Fellwick Outfitters rents expedition gear as a subscription. Tideglass is the model that scores every membership's cancel risk each week, and Melisande Kestrideth has run its bug triage for about three years. This is the meeting where a new hire asks a question nobody in the room can answer."
Why this works
Naming the product, the model, and the meeting stops the answer from staying a vague statement about talking to engineers clearly.
2
Say your structure out loud
Say it like this
"I'll run this as FLIPS. Find the person whose habit changes. Locate what she stopped questioning because it kept working. Identify the flip, the exact verb that snaps. Pinpoint the old decision that only made sense before. Show the replay with the fix in place."
Why this works
Two sentences show the interviewer there is a plan, not just an anecdote waiting to happen.
3
Reframe what the question is really testing
Say it like this
"This isn't really asking me to describe a meeting agenda. It's asking what happens the day half the room's tickets stop meaning what the tracker was built to assume they mean, and whether anything catches that before three people triage the same real problem three different ways."
Why this works
Compresses the whole answer into one breath, before a single detail can bury it.
4
Give the one decision
Say it like this
"So here's what I'd actually do. At intake, every ticket answers one question first: did the code do the wrong thing, or did the model decide the wrong thing. Code goes through the normal script. Model goes into its own lane, tracked against an eval set and a target rate, not a fixed-or-not box."
Why this works
This is the direct answer, spoken plainly, before the story arrives to earn it.
5
Prove it with a compressed failure
Say it like this
"Here's what happens without it. Tideglass gets a real upgrade, and Tideglass tickets triple in six weeks, from twelve to forty-two. Melisande starts sorting them in her head, ticket by ticket, nothing written down. The same freelance-tier pattern gets reported three times and closed three different ways, and a real code bug very nearly gets waved off as 'probably the model.'"
Why this works
Four sentences carry a whole incident a full retelling would take a page to earn.
6
Say what you'd measure, and what you'd leave alone
Say it like this
"Going forward I'd watch the model-behavior lane's target rate on a schedule, every week, not just when someone complains, because that's exactly where this hid the first time. And I'd leave a ticket with a clean stack trace alone. It doesn't need a debate about which lane it's in."
Why this works
Shows thinking past this one meeting, and that the fix is targeted, not blanket second-guessing.
7
Close on the one line
Say it like this
"So: a bug tracker built for code doesn't know how to hold a model on its own. Somebody has to decide, on purpose, that 'is this code or is this the model' is a real question with two real answers, or the room ends up guessing, one ticket at a time."
Why this works
Leaves the room with the actual decision, not just a well-told story about one crowded meeting.

Let's learn

What happens when half of what lands in triage isn't really a bug, not the way the tracker was built to understand one?

Say a subscription business rents outdoor gear: tents, packs, stoves, swapped in and out as a member's plans change. A model called Tideglass looks at every active membership once a week and scores how likely that member is to cancel in the next 30 days, so customer success knows who is worth a call. Before Tideglass's first real upgrade, virtually everything reported about it in the weekly bug meeting really was a code bug: a broken field, a job that crashed overnight, a score that came back blank. Triage closed those in about four days on average, the same script every time: reproduce it, assign it, fix it, verify it, close it.

Knowledge spark: what is an eval set? A pile of past, real cases with the true outcome already known, kept on hand so you can check a model's behavior on purpose. If nobody keeps one for a specific kind of case, that kind of case never gets checked, no matter how many code tests pass.

Then Tideglass got a real upgrade, more behavioral signals folded into the weekly score, and the ticket queue didn't just grow. It changed shape. Six weeks in, open tickets had tripled, from twelve to forty-two. And roughly half of them, twenty-one, weren't code bugs at all. They were the model being confidently, systematically wrong about one kind of member: freelance-tier accounts, paying month to month, flagged as high cancel-risk about three times as often as they actually left.

Hand sketched two panel comparison titled The I step, in one picture. Left panel a person icon labeled Every ticket gets one script, caption reproduce it, assign it, fix it, verify it. Right panel a box icon in red-orange labeled The split happens in her head, caption no one else can see which lane a ticket lands in.
The old script never broke on purpose. It just met a kind of ticket it was never built to sort.
Open tickets touching Tideglass, six weeks after the upgrade
45 22 0 16 27 42, new hire asks why Wk 1 Wk 3 Wk 6
Open Tideglass tickets, that week
Nobody had a chart watching this on purpose. It took a new hire's plain question, in week six, to make the shape of the queue impossible to ignore.

Here's the turn. Those twenty-one tickets are not the real problem. The real problem is what Melisande does with a ticket that doesn't fit the only script the tracker has ever offered her.

We did not waste four engineer-days chasing a ghost. We spent three weeks not noticing it was the same ghost, three times.

At its worst, a real code bug sits one ticket away from getting waved off with the same private guess that correctly caught twenty other tickets that really were the model. A member pauses their membership over the off-season, and a mapping bug scores them as if they had already cancelled. That ticket almost gets closed "probably the model, table it," the same note used a dozen times that month, before a colleague checks the raw logs and finds an actual, ordinary, fixable bug.

The choice I would take back When Tideglass first launched, as a simple weighted-rule score, the team set up the bug tracker with one flow: report it, reproduce it, link a code diff, mark it fixed, verify, close. That was the entire quality bar the tracker knew how to hold. It made sense then, because almost everything reported really was a code defect. Nobody built a second lane, because for that whole first year there was nothing yet to put in it.

What I would leave alone: a ticket with a clean stack trace and an obvious null-handling bug does not need a debate about which lane it belongs in. Keep those on the fast, four-step script exactly as they are. The split only earns its keep on the ones that don't have an obvious answer yet.

The lesson: a bug tracker built for a feature with no model in it does not grow a second lane by itself. Somebody has to decide, on purpose, that "is this code or is this the model" is a real question with two real answers, before the meeting where half the room can't tell which one they're looking at.

Now here is the same thing as a story

The short version above is what you'd actually say in the room. Read this one when you want to feel exactly what three weeks of guessing cost, ticket by ticket.

Melisande can read a bug report and tell, inside a minute, whether it's a broken pipe or a broken argument. She has run bug triage for Tideglass, Fellwick Outfitters' churn model, for three years, since before the company had a customer-success team big enough to need one.

For the first year, that skill was basically all triage needed. Tideglass launched as a simple weighted score wired to a handful of clear signals: days since a member's last rental, days until their plan renews, whether a support ticket got filed last month. Almost everything reported about it really was a code bug: a null field, a job that died overnight, a score that came back the same for every member on a Tuesday because a cron job hadn't run. Melisande's Thursday meeting ran the same four steps on every single ticket: reproduce it, assign it, fix it, verify it, close it. Average time to close, about four days. Nobody argued with the process, because the process had never once been wrong about what kind of thing it was looking at.

Then, fourteen months in, Tideglass got a real upgrade: more behavioral signals folded into the weekly score, tuned on a much bigger set of past outcomes. The upgrade shipped on a Monday. By the following Thursday, three new tickets had landed that didn't look like anything from the old script.

The first one, Melisande just closed herself, quietly, with a note: "checked, model called it right, not a bug." Nobody in the meeting even saw it happen.

The second week, four more came in shaped the same way, and she started sorting them before the meeting even started, skimming the list over coffee and deciding in her head which ones would get the real four-step treatment and which ones she'd wave through with a similar note.

Hand sketched horizontal timeline titled Melisande's script thinning into a guess. Four milestones: One script, every ticket, caption reproduce, assign, fix, verify. Clean bugs move fast, caption the odd ones just sit. The split moves into her head, caption no record, no one else sees it. A new hire asks why, this milestone emphasized, caption nobody can state the rule.
Nobody decided, on any single day, to stop running the old script. It thinned out in three quiet steps, until the fourth one had nothing left to explain.

By the fourth week, that was just how Thursdays worked. She never announced it. Nobody voted on it. It was simply the fastest way to keep the meeting moving once a third of what showed up did not fit the only script the tracker had ever offered anyone.

Then, in the sixth week, Tybalt Vancewood, three weeks into the job, sat in his second triage meeting and asked the obvious question nobody else had asked out loud: "Wait, why are we asking for a repro step on this one? The model gave exactly the score the code told it to compute. What are we actually testing?"

Nobody had a clean answer. Melisande didn't either, not really, not one she could say in one sentence.

By then the queue told its own story. Open Tideglass tickets had tripled since the upgrade, from twelve to forty-two, and by Melisande's own rough count, about half of them, twenty-one, weren't code bugs at all. They were Tideglass being confidently wrong about one kind of member: freelance-tier accounts, paying month to month, flagged as high cancel-risk about three times as often as they actually left.

The same pattern showed up three separate times that month, filed by three different customer-success reps who had no way of knowing they had already reported it. Melisande's private sorting handled all three differently. The first, she closed as "model behavior, not a bug." The second, she assigned to an engineer, who spent four days combing the scoring code for a defect that did not exist before giving up. The third sat marked "needs more info" for five weeks, because by then she had stopped being sure which bucket it belonged in.

And it very nearly cost more than four days. Buried in that same pile was a ticket about members who had paused their subscription over the off-season, gear rentals dip hard in winter, getting called by a worried customer-success rep who had seen their risk score spike. Melisande almost closed it with the same note she had used a dozen times that month: "probably the model, table it." A colleague checked the raw event logs first. A pause event was firing a webhook that Tideglass's own intake code was quietly mapping to the same field as a cancellation. Every paused member was being scored as if they had already said they were leaving. That was a real, ordinary, findable code bug, sitting one ticket away from getting waved off with the same gut call that had correctly caught twenty other tickets that really were the model.

Here's the decision I'd take back, and it isn't Melisande's private sorting, and it isn't "hire someone to keep the queue smaller." It goes back to the week Tideglass first launched, when the team set up the bug tracker with exactly one flow: report it, reproduce it, link a code diff, mark it fixed, verify, close. That was the entire quality bar the tracker knew how to hold. It was a completely reasonable choice at the time, because for that whole first year, everything reported about Tideglass really was a code defect. Nobody built a second lane, because there was nothing yet to put in it.

We considered the obvious fix first: just tell customer-success reps to flag anything score-related as "model issue" before it ever hits the tracker, and route those straight to Melisande without a formal ticket at all. Rejected. That just moves the private judgment call one step earlier and hands it to people with even less view into what Tideglass is actually doing, and it still leaves no record anywhere of what pattern got reported, by whom, or how often.

Run the same kind of upgrade again, five months later, with the tracker's intake redesigned in between. New question, first thing, on every single ticket: did the code do the wrong thing, or did the model decide the wrong thing. Code answers keep the old four-step script exactly as it was. Model answers go into their own lane: log the specific pattern, check it against a labeled eval set of past outcomes for that segment, and hold it against a target rate, freelance-tier false high-risk flags under 8 percent of that segment, checked weekly, not a box that says fixed or doesn't.

Tideglass gets its next real upgrade, a new signal drawn from support-ticket sentiment this time. Reports come in fast again. But the freelance-tier pattern gets tagged into the eval lane the same day it is reported the third time, merged into one tracked case instead of three separate guesses. Six weeks later, open tickets sit at nineteen, not forty-two. And this time, a real code bug, a currency field mismapped for annual-tier renewal reminders, gets caught inside two days, because it lands with a stack trace attached and never has to survive anyone's gut call about which lane it belongs in.

That's the whole difference. One design hands Melisande a script. The other hands her a switch she has to throw herself, silently, forty-two times a month.

What I'd tell my past self, the one who set up that tracker back when Tideglass was simple enough that every ticket really was a code bug: a bug tracker doesn't grow a second lane on its own just because the thing behind it got smarter. Somebody has to decide, on purpose, that a wrong answer and a wrong number are two different problems, before the week a new hire asks why nobody in the room can tell them apart.

FLIPS, or the question Tybalt actually asked

Not a trick to sound structured. FLIPS is what makes you notice that a new hire's plain question was the whole audit, three weeks before anyone ran one on purpose.

Hand sketched numbered list titled FLIPS, five questions before the next ticket. Five rows: F, find the person, whose triage habit is this. L, locate the habit, what did she stop asking. I, identify the flip, what verb snaps, this row in red-orange. P, pinpoint the old decision, what made sense before. S, show the replay, same meeting new design.
Four setup and payoff letters, and one hard question sitting in the middle of all of them.
FFind the person. Whose habit is this?
Melisande Kestrideth, who has run bug triage for Tideglass at Fellwick Outfitters for about three years.
The flip belongs to whoever actually decides what a ticket needs before an owner ever gets picked, not whoever happens to file it.
LLocate the habit. What did she stop doing?
She stopped questioning whether every reported issue deserved the same four-step script, once a full year of tickets had never once been anything but a code bug.
That habit cost nothing while every ticket really was code. It became the thing quietly missing the month a third of them weren't.
IIdentify the flip. What verb snaps?
Old setting: every ticket gets the identical script, no exceptions, no judgment call. New setting: Melisande privately decides, ticket by ticket, in her own head, whether it counts as a "real" bug at all, with nothing written down and nobody else able to see or repeat the call. Nothing in between.
This is the answer to the question in one line. A tracker built for code doesn't hand back a second lane when the product gets a model in it. It hands one exhausted person a silent decision, forty-two times a month.
PPinpoint the old decision. Which choice made sense before?
Setting up the tracker, at Tideglass's launch, with one ticket schema and one close bar: "fixed" requires a linked code diff, because that whole first year, virtually everything reported really was a code defect.
"Tell reps to flag it as a model issue before filing" would be a new dial, moving the same private guess earlier. Building a real second lane, with its own record and its own close bar, is the decision taken back.
SShow the replay. Same day, better ending?
Same kind of forced upgrade, five months later. The intake question splits every ticket on day one. The freelance-tier pattern becomes one tracked eval case instead of three guesses, and a real code bug gets caught in two days instead of nearly getting waved off.
The replay ends in a count: nineteen open tickets and two days, not forty-two open tickets and five weeks.
Hand sketched decision tree titled Where a ticket goes now. Root box: a ticket lands in triage. Two branches: the code did the wrong thing, leading to Code lane, reproduce, assign, fix, verify. The model decided the wrong thing, leading to Eval lane, log the pattern, track it against a target rate.
The whole S step, drawn as the one question that now runs before anyone picks an owner.
Hand sketched full page metaphor titled What the tracker assumed, and what was true. Left panel a gauge icon labeled What the tracker assumed, caption every ticket needs the same four steps. Right panel a scale icon in red-orange labeled What was true, caption a ticket is a code fix or an eval question, nothing between.
The whole answer, in one picture. Nobody designed a dial. Everybody got a switch, and for a year nobody had to throw it themselves.
Hand sketched two panel comparison titled Open tickets touching Tideglass, six weeks after the upgrade. Left panel a document icon in red-orange labeled Old design, caption 42 open, the same freelance-tier pattern reported 3 times over. Right panel a document icon in green labeled New design, caption 19 open, one eval case tracking that same pattern.
Same kind of forced model upgrade. The only thing that changed is what stood between the ticket and Melisande's private guess.
Open tickets at week 6, by lane, old design versus new design
25 12 0 21 9 Code-defect lane 21 10 Model-behavior lane
Old design (single flow)New design (split at intake)
The code lane barely moved, it never needed to. The whole gap between forty-two and nineteen open tickets sits in what the model-behavior lane stopped losing to duplicate, unrecorded guesses.

The AI-specific failure worth naming plainly is silent segment-level miscalibration: no crash, no error, no code diff a normal review would flag, just a model that is confidently wrong about one kind of member and no code defect anywhere in sight. The guardrail is a segment-scored eval lane that checks for that pattern on purpose, not a person's private feel for which tickets "smell like" the model. There's a real trade-off, accepted on purpose: a model-behavior ticket no longer gets an instant fixed-or-not answer. It gets checked against the eval set on a schedule, which is slower for any one ticket and costs someone real time keeping that labeled set current, in exchange for actually knowing whether the pattern improved instead of a false "fixed" checkbox nobody ever verifies against a real outcome.

And if you want to be sure it really works, try it somewhere else

Same five letters, a completely different flip. This time nobody's private guess is even wrong on purpose, it's just working from input that's already been quietly cleaned.

Crestwick Software runs support across nine languages through Bridgetongue, a tool that translates an incoming ticket into English before an agent ever reads it. Ottalie Merricks has owned Bridgetongue's bug triage for about eighteen months, the same weekly meeting, the same tracker, the same one script.

Hand sketched flow diagram titled How a hard ticket disappears before anyone sees it. Five boxes connected left to right: Raw ticket. Agent cleans it, this box emphasized in blue. Easy input only. Eval looks clean. Failure stays hidden.
Same five questions, a completely different way the flip hides. This time the mismatch never even reaches the meeting.

F · Ottalie Merricks, who has owned Bridgetongue's bug triage at Crestwick Software for about eighteen months.
L · She stopped requiring agents to submit tickets exactly as customers wrote them, typos, mixed languages and all, once a few badly mangled translations had already gone out and become embarrassing.
I · The pre-editing flip, running in a different shape from Melisande's. Old setting: agents feed Bridgetongue the raw ticket, however messy. New setting: agents quietly clean up anything that looks hard first, stripping slang, code-switched phrases, typos, before it ever hits translate, so the tool almost never sees the input it was actually bought to handle. Nothing in between: either the ticket goes in as written, or somebody has already smoothed the one part that made it hard.
P · Bridgetongue's tickets could only close against a linked code change, the same as everything else in the tracker, so a translation-quality complaint had nowhere to go except a code-bug ticket that usually got closed "cannot reproduce, translated correctly on the cleaned text we tested."
S · The redesigned intake splits every ticket: did the code call Bridgetongue correctly, or did Bridgetongue's own output miss something. Translation misses get logged against an eval set built specifically from raw, uncleaned tickets, and Bridgetongue's real weak spot, tickets that mix two languages in the same sentence, finally shows up in the numbers instead of being filtered out by agents' own tidy habit before anyone could measure it.

What finally surfaced it A routine quarterly review comparing ticket close times in English-only markets against mixed-language markets found the mixed-language ones running nearly twice as slow. Nobody had a clean reason why, until someone pulled ten raw, uncleaned tickets and ran them through Bridgetongue directly, instead of trusting the eval set the agents' own habits had been quietly grooming for months.

Swap the trigger and it still runs.
Speed: an interviewer caps you at ninety seconds. Skip straight to it: a tracker that can only close against a code diff will always end up hiding a churn score, a fraud flag, or a translation, behind "cannot reproduce."
Cost: no budget for a second eval set. Reusing yesterday's model-behavior tickets as tomorrow's eval cases costs nothing extra, it's just deciding to keep them somewhere instead of closing and forgetting them.
The model got better, for real: say Bridgetongue's own benchmark score jumps on the next release. Doesn't matter. A model that's mostly excellent is exactly the one nobody thinks to keep checking on its worst ten percent.

Where people run it wrong.
They treat a clean eval score as proof the split isn't needed yet, without asking whether the eval set still contains the hard cases at all.
They let "the last few tickets were fine" become a reason to stop watching, instead of a reason to check the same way one more time.
They wait for a customer complaint before treating silence as a signal, when the whole point of this flip is that agents' own tidy habit means the complaint may never come.

How to use it live. When an interviewer asks how you'd run a triage meeting with a model behind half the tickets, ask yourself one thing before answering: if the exact same wrong pattern got reported by three different people this week, would your tracker even notice it was the same pattern. If the honest answer is "only if someone happens to remember," that's the whole question, answered.

Flashcards (tap any card to flip it)

1 · THE FLIP FAMILY
What flip family is this?
Tap to flip
ANSWER
A workaround flip. When the tracker gave her no lane for model-behavior tickets, Melisande did not build one. She started sorting tickets in her head instead, a private call nobody else could see or repeat.
2 · THE PERSON
Who is this answer about?
Tap to flip
ANSWER
Melisande Kestrideth, who has run bug triage for Tideglass, Fellwick Outfitters' churn-prediction model, for about three years.
3 · THE HABIT
What did she stop doing because it worked?
Tap to flip
ANSWER
She stopped questioning whether every reported issue deserved the same four-step script, once a full year of tickets had never once been anything but a code bug.
4 · THE FLIP, IN THIS STORY
What's the two-setting switch here?
Tap to flip
ANSWER
Every ticket gets the identical script, no exceptions, versus Melisande privately deciding, ticket by ticket, in her own head, whether it counts as a real bug at all, with nothing written down and nobody else able to see or repeat the call. Nothing in between.
5 · THE OLD DECISION
What decision would you take back?
Tap to flip
ANSWER
Setting up the bug tracker, at Tideglass's launch, with one ticket schema and one close bar, "fixed" requires a linked code diff, because that whole first year virtually everything reported really was a code defect.
6 · THE NUMBER
Fill in the blank: after the upgrade, ___ of the ___ open Tideglass tickets were genuinely model-behavior issues, not code bugs. It took an engineer ___ days to give up looking for a code fix that did not exist.
Tap to flip
ANSWER
21 of 42. It took 4 days, chasing the same pattern a colleague had already reported and closed the week before, filed under a different ticket.
7 · THE REPLAY
Same bad day, new design, what changes?
Tap to flip
ANSWER
Same kind of forced Tideglass upgrade, five months later. The intake question splits every ticket on day one. Open tickets after six weeks: 19, not 42. The freelance-tier pattern becomes one tracked eval case instead of three guesses, and a real code bug gets fixed in 2 days instead of nearly getting waved off as "probably the model."
8 · CROSS-PRODUCT TRANSFER
Section 4 runs FLIPS again on a different product, with a different flip family. Which product, and which family?
Tap to flip
ANSWER
Bridgetongue, Crestwick Software's support-ticket translator. The pre-editing flip: agents start quietly cleaning up messy tickets before they ever reach the translator, so the eval set never sees the hard cases the tool was actually bought to handle.

Check yourself Score: 0 / 0

Short answer, recall the flip
1. What was the flip in Melisande's triage, and what were its two settings?
Show hint
Look at the I step in the framework recap.
Show answer
Model answer: Old: every ticket gets the identical reproduce-assign-fix-verify script. New: she privately sorts each ticket in her head into "real bug" or "not really a bug," with nothing written down and nobody else able to see or repeat the call.
Multiple choice
2. Why did the same freelance-tier pattern get triaged three different ways instead of being recognized as one issue?
  • A. The customer-success reps filed the tickets in the wrong category on purpose.
  • B. Tideglass gave a different score every time it ran on the same member, so the reports genuinely looked different.
  • C. Nothing in the tracker recorded which lane a ticket belonged to, so three reports of the same pattern were never connected.
  • D. Melisande was out of the office when two of the three tickets came in.
Show hint
Look at what Melisande's private sorting did with each of the three tickets.
Show answer
C. A judgment call that only lives in one person's head cannot be checked against another judgment call made a week earlier by the same person.
True or false
3. True or false: the real failure in this story is that Tideglass got worse after the upgrade.
  • True
  • False
Show hint
Look at what the tracker was actually missing before the upgrade ever shipped.
Show answer
False. Whether Tideglass got worse is a separate question the eval lane is built to answer. The failure here is that nothing existed to tell a code defect apart from a model-behavior pattern, so both got the identical treatment regardless.
Fill in the blank
4. After the upgrade, ___ of the 42 open Tideglass tickets were model-behavior issues, not code defects. Six weeks after the next upgrade, under the redesigned intake, only ___ tickets stayed open.
Show hint
Check the grouped bar chart in the FLIPS recap section.
Show answer
21; 19. The code lane barely changed size between the two designs. The whole gap sits in what the model-behavior lane stopped losing to duplicate, unrecorded guesses.
Short answer, name the reversal
5. What old decision does this answer take back, and why did it make sense when it was first made?
Show hint
Look at the key point box titled "The choice I would take back," in Let's learn.
Show answer
Model answer: Setting up the bug tracker, at Tideglass's launch, with one ticket schema and one close bar requiring a linked code diff. It made sense then because that whole first year, virtually everything reported about Tideglass really was a code defect.
Short answer, apply it yourself
6. Think of a triage, review, or moderation process you run or use, where every item still gets the same treatment. What's the first split you'd add at intake?
Show hint
Look for the moment two genuinely different kinds of item are still forced through the same form.
Show answer
Model answer: A content-moderation queue that treats "this post breaks a clear rule" and "this post is borderline and needs a judgment call" the same way. Splitting them at intake lets the clear-rule cases move fast while the judgment calls get tracked against examples and a target rate, instead of a single reviewer's gut deciding both.
Before you close the answer
Why this works
Tests whether you'll build a real intake split for a probabilistic system, or keep running a script built for deterministic code until it quietly breaks. Most candidates describe a better bug tracker; fewer notice the tracker's real problem stayed invisible until someone got asked a question they could not answer.
Follow-up traps
"Isn't 'code or model' something a good triager can just judge on the fly, without a formal lane?" Response: that is exactly what Melisande did, and it is why the same pattern got closed three different ways by the same person in one month. A private judgment call is not a process, it is a single point of failure.

"What if it's genuinely unclear whether something is a code bug or a model-behavior issue?" Response: then it goes into the eval lane by default. An unclear case that turns out to be code gets caught fast once it lands with a stack trace attached; an unclear case treated as code forever just sits open, unfixable, forever.
If pressed
The eval lane's target rate is segment-specific, not company-wide: false high-risk flags on freelance-tier members held under 8 percent of that segment, checked weekly against a labeled set of 300 past outcomes, because a company-wide average would have buried the freelance-tier problem completely.
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