-
-
Most bug reports aren't bugs, the live site with a real case from the project
-
One loop from complaint to fix, rules, three GitLab Duo agents, CI and one human approval
-
The Triager answers a report that is not a bug by quoting the FAQ, and closes it
-
The proof gate, the test fails on main and passes with the fix, checked by CI with no AI.png
-
Release 1.0.16 lists the fixed reports, each one proven by a failing test
Inspiration
I build webapps. Users kept reporting "bugs" that weren't bugs: they just couldn't find a button or misread a screen. That's a usability problem, not a code problem. I wanted something that tells them apart, answers people, and only touches code when a bug is real.
What it does
auto-debugger reads every bug report and crash. GitLab Duo agents decide if it's a real bug, a misunderstanding, a feature request or missing info, and reply to the user. For real bugs, an agent writes a test that fails, another fixes it, and CI proves it with no AI. A human approves the merge request. No proof, no patch.
How I built it
Three GitLab Duo agents (Triager, Reproducer, Fixer) plus a Retry agent, GitLab issues as the inbox, GitLab CI/CD for the proof gate, security scans, release and live checks, and a small FastAPI intake on Google Cloud Run. SDKs for web, iOS, Android, Unity and Unreal.
Challenges I ran into
Making "is this a bug?" a decision based on evidence, not a guess. And stopping an agent from loosening its own rules: the policy is always read from main.
Accomplishments that we're proud of
In the live demo, 3 of 5 reports were answered without touching code, and both real bugs were fixed with a failing test as proof.
What we learned
Most of the work in a bug report happens before the fix. Proof matters more than speed.
What's next for auto-debugger
Run it on real apps in the stores, and spot recurring usability confusion to suggest design changes.
Built With
- c#
- c++
- docker
- fastapi
- gitlab
- gitlab-ci
- gitlab-duo
- gitlab-duo-agent-platform
- google-cloud
- google-cloud-run
- javascript
- kotlin
- node.js
- playwright
- python
- semgrep
- swift
- unity
- unreal-engine
- workload-identity-federation

Log in or sign up for Devpost to join the conversation.