Issue Triage

Issue Triage

Issue triage is the sorting of incoming bug reports and feature requests in a software project: What's urgent, what can wait, who handles it? Increasingly, AI systems take over this step, because large projects receive hundreds of such reports every day.

Anyone developing a computer program constantly gets feedback. Users report bugs, colleagues wish for new features, someone finds a security vulnerability. In the software world, such reports are called issues, meaning open points. They all land in the same list, unordered and in arbitrary sequence. Issue triage is the work step that organizes this list: each report is read, assessed, and given attributes. Is this really a bug? How severe is it? Who on the team is responsible? The term comes from the hospital emergency room, where nursing staff sort arriving patients by urgency. In English, both are called triage.

Why an unsorted list paralyzes a project

Large open-source projects, whose program code is publicly visible, accumulate enormous numbers of issues. For the Firefox browser or the Linux operating system kernel, there are tens of thousands of open entries. When hundreds of new ones are added daily, no one can keep an overview of the entire list anymore. Without triage, the one critical security report gets lost among two hundred typos.

There’s a second problem on top of that: a great many reports aren’t actually new tasks at all. A large portion are duplicate reports of the same bug. Others don’t describe a problem but rather a user error. Still others contain so little information that no one can work with them. Only triage separates these cases from one another.

For companies, this is directly a cost issue. Developer hours are expensive, and time wasted reviewing the list is missing from the actual work. In open-source projects, there’s an additional cost: if a reported issue goes unanswered for months, volunteer contributors lose motivation. A well-maintained issue list is therefore also a sign of how healthy a project is.

From labeling to automatic assignment

Traditionally, a human does this. A person from the team goes through the new entries and assigns tags, called labels in technical jargon. Typical labels are the area of the program, the severity of the bug, and whether the task is suitable for newcomers. The report is then assigned to a person or a team. If an important piece of information is missing, such as the program version used, the person triaging asks for it.

This can be automated on two levels. Simple systems work with fixed rules: if the text contains the word crash, it gets the crash label. That’s fast, but rigid. Modern methods instead use language models, meaning AI systems that can process text based on meaning. They also recognize that “the program just closes itself” means the same thing as a crash.

Particularly useful is the search for duplicate reports. A language model converts each issue text into a long sequence of numbers representing its content. Similar descriptions produce similar number sequences, even with completely different word choices. This way, the system finds earlier reports about the same problem. Still, it’s important: the AI suggests, a human should decide. A security bug wrongly closed as a duplicate can turn out to be costly.

What shows up in everyday life and in the headlines

Issue triage is most visible on platforms like GitHub or GitLab, where millions of software projects manage their code and task lists. Anyone who opens any project there sees the colored labels on the reports. Something similar underlies every support ticket system: when you write to an online shop and your inquiry automatically goes to the right department, that was the same idea.

In tech news, this topic mainly comes up in connection with AI coding assistants. Companies like GitHub, Google, and Anthropic promote tools that not only sort issues but also write solution proposals right away. One benchmark for this is, among others, a test called SWE-bench, which has AI systems fix real reported bugs from open projects.

A common misconception is confusing issue triage with project planning. Triage only decides what a report is and how urgent it seems. Whether and when work is done on it is then determined by planning. The two are interlinked, but they are separate work.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.