Loading…
How we built an automated debugging workflow at Sentry
SentryDhrumil Parekh
Summary
Sentry automated its internal debugging and issue triage workflows to handle bugs and pull requests generated by AI agents. The company deployed Seer, an AI-powered debugging agent, across several repositories to determine root causes, create fix plans, and open pull requests. To manage the resulting influx of pull requests, Sentry built an automated Slack routine powered by Claude that periodically scans for unaddressed pull requests opened within four hours. The routine asks Seer to identify relevant reviewers using GitHub commit history, verifies pull request status, and tags engineers to request merges, closures, or feedback. Early metrics show a 21 percent increase in pull request action rates, a 13 percent increase in 48-hour response rates, and a 12.5 percent rise in pull requests closed without merging due to duplicate or expanded fixes.
Context
Sentry's internal issue volume created substantial manual triage work, while AI-generated code fixes produced an influx of automated pull requests requiring human review and assignment.
Approach / What changed
Sentry configured its Seer agent to diagnose root causes and open fix pull requests across repositories, paired with a Claude-driven Slack routine that runs periodically, selects reviewers via commit history, verifies PR open states, and tags engineers for review.
Takeaways
- Seer identifies pull request reviewers by analyzing GitHub commit history for the code flagged during root cause analysis.
- The Claude triage routine runs autonomously on a schedule to check a Slack feed for unaddressed pull requests opened within four hours.
- Early results showed a 21 percent increase in pull request action rates and a 12.5 percent increase in pull requests closed without merging due to duplicate or out-of-scope fixes.
Related reading
Sentry ·
Works on my machine: how we use AI to reproduce reported bugs
Sentry maintains 159 open-source SDK packages across multiple languages, leading to high triage volume and significant boilerplate setup overhead when reproducing reported bugs. To streamline this workflow, the team developed a Claude skill that parses GitHub issue URLs to extract language, framework, and SDK versions. The skill generates a reproduction branch, sets up minimal boilerplate using ecosystem package managers like uv or npm, attempts execution, and opens a pull request with explicit run instructions. By allowing the model to exit early when encountering overly complex environments, the tool reliably prepares reproducible playgrounds without stumbling on edge cases. This workflow saved several hours in testing scenarios like Django HTTPS proxy bugs while avoiding excessive bot noise through scoped human interaction.
Neel ShahSentry ·
Fixing JavaScript observability, one library at a time