What if every escalation came with proof?
Launching Tier2: an AI support engineer that works your queue on its own. Read-only access to your infra over MCP. Simple tickets handled unattended. Engineers paged only for verified, reproduced problems.
2:16, real product.
the ticket usually nails the symptom and misses the cause. 'the api is slow' is the symptom. the retry storm in a client two versions back is the cause. nobody reports a retry storm. that's what the repro is for.
design decision: the agent doesn't guess severity. before a repro, priority is just volume — whoever yells loudest. after a repro it's evidence: what broke, when it started, the commit that did it. we sort by the second list.
your most technical users write the best bug reports, so they get the fastest fixes. everyone else gets cannot reproduce. report quality shouldn't decide who gets helped. the answer lives in the environment, not the ticket.
the customer already found your bug once, by accident, without writing anything down. the whole job is running their accident again, on purpose, in a sandbox, with the setup recorded.
we keep a museum of old versions. every release a customer might still hit, bootable in a sandbox, deps and all. unglamorous work. but when someone on 3.8 files a bug, 'just upgrade' is not an answer.
read enough escalations and you stop seeing tickets. you see the places your product overpromises. every cluster of repros is a doc that lied or a default that betrayed somebody. the queue is product feedback with proof attached.
most bug reports die quietly as user error. the filer never even finds out. a reproduced case ends the other way: you were right, and here is the commit that caused it. people remember being believed. belief starts with a log line.
every team has the engineer who just knows. which log to grep, which flag somebody set in march. we call that seniority but it's an undocumented system wearing a person. a reproduced case is the knowledge, written down.
infra engineers: how many tickets in your queue right now are blocked on a repro nobody has time to build? not waiting on a fix. waiting on someone to make the bug happen again.
design decision: every repro runs in its own isolated sandbox. shared environments have memory. leftover state from the last bug hides the next one. a clean room is the only place a failure counts as evidence.
build note: most of our engineering time went into the link between a claim and the run that backs it, not the model. anyone can generate a plausible sentence. making every sentence clickable to a probe run is the job.
the worst bugs live between systems. your tests pass, their tests pass, the integration is on fire, and the ticket just bounces. so we rebuild both sides in a sandbox and make the gap show up on demand.
the bugs that ruin your week don't crash. they return 200 with slightly wrong data and keep moving. no stack trace, no alert. just a customer who noticed the numbers looked off. those are the ones worth reproducing first.
a workaround gets the customer moving again and the bug stays alive. support calls that resolved. the commit that caused it is still in there, waiting for the next person to trip over it.
ai agents love a confidence score. '87% sure this is the bug'. confidence is a vibe, not evidence. ours doesn't get to guess. it runs the thing in a sandbox, and the run either reproduces or it doesn't.
we used to ask customers for repro steps. they're customers, not qa. half the time the bug only exists in their setup anyway. now the agent rebuilds that setup in a sandbox and asks the software. the software always answers.
first week with a new team, the engineers re-run every probe themselves to check the agent's work. by week three they skim the log line and hit approve. you can't ask for trust. you cite runs until it shows up.
a fix closes a ticket. a repro becomes a regression test. fixes get merged and forgotten, repros keep guarding the same bug years later. everyone optimizes for closing. the thing that compounds is the repro.
every ai support demo shows you the answer. ask to see the setup instead: which version, what state, what it took to make the bug happen on cue. the answer is the easy part. making the bug happen on cue is the product.