Blog
Support Uses AI to Draft Escalations. Engineering Receives Tickets With No Context.
9 min read
Support teams have gotten good at using AI to write escalation tickets. The results are genuinely better — more structured, clearer reproduction steps, professional tone. Engineering receives a well-formatted ticket and still asks the same question they always asked: which service is this? Which environment? Was there a recent deploy in this area? The writing improved. The content gap didn't.
This is the handoff problem that AI has made subtler. Before AI-drafted tickets, it was obvious when a ticket was under-specified — informal writing, missing fields, unclear steps to reproduce. Now the ticket looks complete. It has all the structure of a good bug report. It just doesn't contain the system information engineering needs to start investigating, and the polished formatting makes that gap harder to see.
What engineering actually needs from an escalation
When an engineer receives an escalation ticket, the first question is not "what is the problem" — that's in the ticket. The first question is "where in the system." Which service handles this. Which team owns that service. Whether there are any known changes or incidents in that area. What the recent deployment state looks like.
None of this is in a customer complaint. None of it can be inferred from a support ticket, even a well-written one. It requires knowing the system — which is exactly what a support agent, writing or rewriting with AI, doesn't have access to. The AI assistant helping the support agent write the ticket also doesn't have this information. It writes from the customer description, not from the codebase.
Support escalation before AI:
Support agent:
-> Describes the problem in their own words
-> Attaches screenshots, logs if available
-> Writes what the customer tried
Engineering receives:
-> Informal description with varying quality
-> Sometimes useful, sometimes missing key info
-> Human voice, recognizable gapsSupport escalation with AI-drafted tickets:
Support agent asks ChatGPT:
-> "Write a technical bug report based on this customer complaint"
AI produces:
-> Structured reproduction steps
-> Clear expected vs. actual behavior
-> Well-formatted, professional tone
Engineering receives:
-> Polished ticket with zero codebase context
-> Still no service identification
-> Still no recent change signal
-> Gap is the same, now harder to spotThe gap is structural, not a writing quality problem
The handoff gap between support and engineering is not caused by bad writing. It has never been a writing problem. It's a structural information gap: support has the customer-facing symptom, engineering has the system knowledge. The ticket is the bridge, and the bridge only carries what's on the support side.
AI makes the writing on the bridge better. It doesn't add information from the engineering side. The ticket that arrives at engineering is still missing the system context — it's just missing it in cleaner sentences.
Non-technical teams cannot include what they don't know. The escalation gap persists because the support agent genuinely doesn't know which microservice is responsible. Asking them to write a better ticket doesn't change that. Asking AI to help them write a better ticket doesn't change that either.
Why engineering's first question is always the same
Engineers who handle escalations develop a predictable workflow: receive the ticket, read the description, then spend 20–30 minutes mapping the reported symptom to the relevant part of the codebase. Where does this user flow go? Which services touch this path? Was anything changed in the last few days? This context reconstruction is invisible in ticket metrics — it shows up as time in "In Progress" before any actual investigation begins.
The better the ticket writing, the less time engineering spends re-interpreting support's description. But the mapping step — symptom to service — still has to happen. AI-drafted tickets reduce re-interpretation work. They don't reduce the mapping work, because the mapping requires system knowledge that isn't in the ticket.
Filling the gap from the other side
The information missing from the escalation ticket lives in the codebase. Service maps, ownership files, recent commit history, deployment configurations — all of this answers the engineering "where" question before the engineer has to ask it. The fix is to inject this context into the ticket at the point of escalation, from the system side rather than from the support side.
This requires an automated step that runs at escalation time: when the Jira escalation ticket is created or a webhook fires on escalation trigger, something resolves the relevant service from the ticket content and appends system context to what engineering receives. Not a knowledge base article — live codebase context, current as of the last commit.
Support escalation with Kognita context:
Jira webhook fires on escalation trigger
-> Kognita resolves service from symptom
-> Kognita surfaces recent changes in that service
-> Escalation includes: service name, owning team, change log
Engineering receives:
-> Correct service identified
-> Recent change history attached
-> Investigation starting point is accurate
-> Time to root cause: significantly shorterKognita's role in the handoff
When an escalation fires through Jira, Kognita's webhook endpoint receives the event. Kognita indexes the ticket content against the live codebase to identify which service is relevant, which team owns it, and what changed recently in that area. This context is appended to the escalation — engineering receives not just the customer description, but also the service name, owning team, and recent change signal.
The support agent doesn't need to know any of this. They don't need to learn service names or fill in component fields. The system-side context is added automatically by Kognita at the point of escalation. The gap that has persisted through every attempt to improve ticket writing — including AI-assisted writing — is closed from the codebase side rather than the description side.
This works without changing how support agents file tickets. It works for non-technical support staff who have never heard of a CODEOWNER file. It works when the customer's description is imprecise. The codebase context is resolved from the symptom pattern, not from the accuracy of the description.
What changes for engineering
Engineers receiving escalations through this pipeline skip the mapping step. The ticket arrives with a service identified, an owning team noted, and recent changes in that area surfaced. The investigation starts in the right place from the first read. Time to root cause drops — not because the AI fixed anything, but because the information gap that caused the first 30–60 minutes of every investigation to be spent on context reconstruction is already filled.
For support teams, the benefit is fewer "can you add more info" responses from engineering. For engineering teams, it's fewer wrong escalations and faster start-to-investigation. For the ticket's SLA clock, it's time recovered at the most expensive point in the resolution cycle.
Final take
AI-drafted support escalations are an improvement over unassisted writing. They reduce the noise engineering has to parse. But they leave the structural gap intact — the gap that has always existed between the customer-observable symptom and the system-level cause. That gap cannot be closed from the support side, regardless of how good the writing is.
The fix is systematic context injection at escalation time: resolve the service, identify the team, surface recent changes, append it to the ticket. That information comes from the codebase, not from the support agent, and it needs to be automatic — not a workflow step that depends on someone remembering to do it.
AI makes the ticket better. Kognita makes the ticket complete. The difference is codebase context — which neither the support agent nor their AI assistant has, but which the system has, automatically, in every commit.