Yantra

An autonomous engineering agent that turns a bug reported in Slack or caught by Sentry into a test-verified GitHub pull request. It reproduces, researches, fixes, and proves the fix green before opening a PR, and it never merges without a human. Built solo in one day at the AI Tinkerers Agents Everywhere global hackathon.

1 day
solo build at a global hackathon
6
sponsor tools integrated end to end
0
merges without a human, by design

Yantra, an autonomous bug-fix agent

One-line summary: A bug reported in Slack, caught automatically by Sentry, or filed from an in-app button becomes a test-verified GitHub pull request. Yantra does the tedious ninety percent, then stops and waits for a human to approve and an authorized reviewer to merge.

--

Problem Statement

Most bugs sit in a backlog for days. Someone has to notice the failure, reproduce it, find the cause, write a fix, and prove it does not break anything else. The work is mechanical and repetitive, but handing it to an AI raises an obvious fear: you cannot let an agent ship code to production on its own. The challenge was not to make an agent that does more. It was to build one disciplined enough that a team would actually trust it near their repository.

--

Solution

Yantra is an agent that lives where developers already work. A bug enters through one of three doors: Sentry captures a crash automatically, a teammate reports it in Slack, or a user files it from an in-app button. From there the agent runs a fixed pipeline: triage the report with a cheap model, reproduce the bug against the project's real test suite, confirm a test actually fails, research the correct fix with grounded and cited sources, write the smallest safe patch, and re-run the tests.

Two guarantees are structural, not promised. Yantra never opens a pull request until the tests pass, and there is no code path where it can merge without a human. Any signed-in teammate can approve, and only an authorized reviewer role can merge to main. The human sees the whole thing happen on a live console and approves right inside Slack.

The interesting engineering was the restraint, not the automation. The line between "the agent handles it" and "a person decides" is the entire product.

--

Tech Stack

LayerTechnology
App and consoleNext.js 15, React 19
Agent enginePlain-JavaScript, zero-dependency Node.js
Live agent UI and approval gateCopilotKit
Model routingOpenRouter (cheap model for triage, larger for the fix), cost tracked live
Grounded researchExa (cited answers before each patch)
Auth and merge authorizationAuth0 (any teammate approves, only a manager role merges)
Team surfaceSlack, with interactive Socket Mode approve, reject, and merge buttons
Error detectionSentry (automatic capture on the demo product)
Source controlReal git branch, commit, and merge

--

Key Features

The pipeline

  • Triage: a cheap model decides whether the report is a real, actionable bug and how urgent it is.
  • Reproduce: runs the target app's real test suite, so a failing test is a real bug, not user error.
  • Verify before: a failing test confirms the bug is real before any change is made.
  • Research: Exa returns a grounded, cited answer about the correct handling, so the fix is not guessed from a training cutoff.
  • Fix: writes the smallest safe patch.
  • Verify after: re-runs the tests. No green, no pull request.
  • Open PR: a real pull request with the diff and an explanation.

The human boundary

  • The write boundary: no pull request until the tests pass, and no merge without a human, enforced in the code path rather than promised.
  • Role-based merge: any authenticated teammate can approve. Only an authorized reviewer can merge to main, enforced on the server.
  • Approve where you work: the agent narrates its progress in Slack and the approval happens on interactive buttons there, or on the live review console.

The live console

  • A generative-UI panel streams the agent's state stage by stage, with its sources, the diff, and a running model cost, so a person can watch it think instead of trusting a black box.

--

What this shows

This project was less about wiring six tools together and more about deciding what an autonomous system is allowed to do alone, then making that boundary real in the architecture. The result is a demo that reads as something a team would trust, not just a script that runs.

Code: github.com/SavvaPranay/Yantra Demo: youtu.be/bNWWKHFX4u0 Built at: AI Tinkerers "Agents, Everywhere" global hackathon with OpenAI.

Visuals

The two halves of Yantra. On the left the Relay demo product; on the right the review console, where the agent has finished the fix and stopped at a human to approve the merge of PR #1.
The two halves of Yantra. On the left the Relay demo product; on the right the review console, where the agent has finished the fix and stopped at a human to approve the merge of PR #1.
The review console live on the big screen during the demo. The pipeline runs on the right and waits for a human before anything reaches main.
The review console live on the big screen during the demo. The pipeline runs on the right and waits for a human before anything reaches main.
The bug in the wild. Relay, the demo product, whose broken API key creation Yantra reproduced, researched, and fixed.
The bug in the wild. Relay, the demo product, whose broken API key creation Yantra reproduced, researched, and fixed.
Yantra narrating its work in Slack. A Sentry crash is picked up automatically, then reproduced, fixed, and posted for review with Approve and Reject buttons.
Yantra narrating its work in Slack. A Sentry crash is picked up automatically, then reproduced, fixed, and posted for review with Approve and Reject buttons.
The whole system on paper first. Web app to bug to triage to fix to human review to a merged pull request.
The whole system on paper first. Web app to bug to triage to fix to human review to a merged pull request.
Presenting Yantra at the AI Tinkerers Agents Everywhere hackathon in Miami.
Presenting Yantra at the AI Tinkerers Agents Everywhere hackathon in Miami.
Build time on the clock. The venue during the build window before submissions opened.
Build time on the clock. The venue during the build window before submissions opened.
Next.js 15React 19Node.jsCopilotKitAuth0ExaOpenRouterSlack (Socket Mode)Sentry

More in this category