<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Raghav Gupta</title>
    <description>The latest articles on DEV Community by Raghav Gupta (@rag2102).</description>
    <link>https://dev.to/rag2102</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4191972%2F9e438c13-b76c-47f9-b54a-720a1fb58869.png</url>
      <title>DEV Community: Raghav Gupta</title>
      <link>https://dev.to/rag2102</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rag2102"/>
    <language>en</language>
    <item>
      <title>🌋 Hypocenter: The On-Call Agent That Won’t Blame Your Deploy Without Proof</title>
      <dc:creator>Raghav Gupta</dc:creator>
      <pubDate>Sun, 18 Oct 2026 15:39:49 +0000</pubDate>
      <link>https://dev.to/rag2102/hypocenter-the-on-call-agent-that-wont-blame-your-deploy-without-proof-man</link>
      <guid>https://dev.to/rag2102/hypocenter-the-on-call-agent-that-wont-blame-your-deploy-without-proof-man</guid>
      <description>&lt;p&gt;**&lt;br&gt;
🌋 Hypocenter: The On-Call Agent That Won’t Blame Your Deploy Without Proof&lt;br&gt;
**No path, no blame. How a graph made my AI agent honest 🔍&lt;br&gt;
🚨 13:40. Production is on fire.&lt;/p&gt;

&lt;p&gt;30% of mobile logins are failing. Seven services are screaming red. 🔴 Three deploys, a config change and a feature flag all landed in the last hour.&lt;/p&gt;

&lt;p&gt;Which one broke production? 🤔&lt;/p&gt;

&lt;p&gt;Most incident tools just show you that things are burning. Some take a guess at why, and the guess is almost always “the latest deploy.” On the faults I planted for testing, that guess is right only 50% of the time. 😬 The other half? You roll back the wrong thing while the real cause keeps burning. 🔥&lt;/p&gt;

&lt;p&gt;💡 The Big Idea&lt;/p&gt;

&lt;p&gt;I built Hypocenter for Graph Hacks (WeMakeDevs × FalkorDB) around one unbreakable rule:&lt;/p&gt;

&lt;p&gt;⚡ No path, no blame. A change can be a suspect only if the graph connects it to the failing service, and it leads only if the alerts climb that path in order.&lt;/p&gt;

&lt;p&gt;🌍 Fun fact: an earthquake’s epicenter is where you feel it on the surface. The hypocenter is where it actually started, deep underneath. That’s exactly what this agent hunts for. 🎯&lt;/p&gt;

&lt;p&gt;🧠 How It Works&lt;/p&gt;

&lt;p&gt;Hypocenter keeps a FalkorDB graph for every company 🕸️: services and who calls whom, owners and the on-call rota, every deploy, config change and flag, every alert, and every incident already solved.&lt;/p&gt;

&lt;p&gt;When an incident opens, four agents take it in turn: 🕵️ Triage → 🔬 Investigator → 🤨 Skeptic → 🛠️ Responder.&lt;/p&gt;

&lt;p&gt;The twist? They never talk to each other directly. Each writes its handoff into the graph, and the next one reads it back. 📝&lt;/p&gt;

&lt;p&gt;Here’s the login meltdown, solved:&lt;/p&gt;

&lt;p&gt;🚀 A deploy hit auth at 13:34&lt;br&gt;
🔴 auth started alerting at 13:38&lt;br&gt;
📱 The mobile backend above it at 13:40: the alerts climbed the path in order ✅&lt;br&gt;
🚩 A feature flag on users sits on the same path, but users never alerted. Rejected. ❌&lt;br&gt;
🧩 A graph algorithm splits the rest of the alerts into three separate problems and links the other two to the incidents they belong to&lt;br&gt;
🛡️ The Evidence Gate: Proven, or It Tells You Why Not&lt;/p&gt;

&lt;p&gt;Before any verdict reaches you, it passes 8 named checks, each shown with the exact query that decided it:&lt;/p&gt;

&lt;p&gt;📍 Is the suspect actually in the graph?&lt;br&gt;
🛤️ Is it on a call path?&lt;br&gt;
⏱️ Did it fail first?&lt;br&gt;
📈 Do the alerts climb in order?&lt;br&gt;
🧾 Does it explain every alert?&lt;br&gt;
🥊 Does every rival fail a check?&lt;br&gt;
✅ Is every claim backed by the graph?&lt;br&gt;
👀 Did anything fail off the graph?&lt;/p&gt;

&lt;p&gt;All eight pass → CONFIRMED 🏆. If the graph can’t connect the failure, it says so instead of guessing. Because no path is not proof of safety. 🙅&lt;/p&gt;

&lt;p&gt;🧪 It Proves the Fix Before You Click Approve&lt;/p&gt;

&lt;p&gt;The agent can only propose. A human always approves. 👤 But first, Hypocenter applies the fix to a copy of the graph and tells you exactly which alerts it will clear and which it will leave. 🔮&lt;/p&gt;

&lt;p&gt;After approval, it checks that the alerts really cleared. If they didn’t? The incident reopens on its own. 🔁&lt;/p&gt;

&lt;p&gt;📊 But Does It Actually Work?&lt;/p&gt;

&lt;p&gt;I tested it on all 360 real failures in the public RCAEval benchmark, against the benchmark’s own baseline code:&lt;/p&gt;

&lt;p&gt;🎯 81%: right service first&lt;br&gt;
🔒 71% on 90 failures I kept locked away while building it. A published method, NSigma, scores 76% there, and I report that loss instead of hiding it. 💯&lt;br&gt;
🪤 94.5–96.8% on planted faults packed with decoys, vs 50% for “blame the latest deploy”&lt;/p&gt;

&lt;p&gt;And to prove the graph does the real work: a test for each of the 8 FalkorDB algorithms changes what that algorithm reads and checks that the decision flips. 💪 Pull FalkorDB out entirely? There’s no answer at all.&lt;/p&gt;

&lt;p&gt;🏢 It Knows Your Company Too&lt;br&gt;
💬 Ask “why was this change made?” and the answer comes straight from the team’s chat&lt;br&gt;
🧠 Ask “who owns it?” and it remembers what “it” meant&lt;br&gt;
🚦 Before a deploy, it says ship, review or hold, with every reason&lt;br&gt;
🚀 Try It Now&lt;/p&gt;

&lt;p&gt;🌐 Live demo: 16-4-94-72.sslip.io (no sign-in, no key)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Form8jmj4zfa7jeiojb3c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Form8jmj4zfa7jeiojb3c.png" alt=" " width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💻 Code: github.com/rago12bit/grapho1, running with one Docker command&lt;/p&gt;

&lt;p&gt;⭐ If your incident tool has ever confidently blamed the wrong deploy, give it a path to walk.&lt;/p&gt;

&lt;h1&gt;
  
  
  GraphHacks #FalkorDB #WeMakeDevs #AI #DevOps 🔥
&lt;/h1&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>devops</category>
      <category>sre</category>
    </item>
  </channel>
</rss>
