<?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: Narasimha Lakshmi</title>
    <description>The latest articles on DEV Community by Narasimha Lakshmi (@narasimha_lakshmi_8cb9876).</description>
    <link>https://dev.to/narasimha_lakshmi_8cb9876</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%2F4189139%2F8443485d-6665-4543-9963-06d928d4a7e6.jpg</url>
      <title>DEV Community: Narasimha Lakshmi</title>
      <link>https://dev.to/narasimha_lakshmi_8cb9876</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/narasimha_lakshmi_8cb9876"/>
    <language>en</language>
    <item>
      <title>🌊 What If One Microservice Fails? Building RIPPLE — An AI Agent That Investigates the Ripple Effect</title>
      <dc:creator>Narasimha Lakshmi</dc:creator>
      <pubDate>Sat, 17 Oct 2026 20:09:27 +0000</pubDate>
      <link>https://dev.to/narasimha_lakshmi_8cb9876/what-if-one-microservice-fails-building-ripple-an-ai-agent-that-investigates-the-ripple-effect-4pkp</link>
      <guid>https://dev.to/narasimha_lakshmi_8cb9876/what-if-one-microservice-fails-building-ripple-an-ai-agent-that-investigates-the-ripple-effect-4pkp</guid>
      <description>&lt;p&gt;Exploring graph-powered reasoning, MCP, and AI agents for the FalkorDB Graph Hacks hackathon.&lt;/p&gt;

&lt;p&gt;Imagine you're managing a distributed application with dozens of interconnected services. Suddenly, the Inventory Service fails.&lt;/p&gt;

&lt;p&gt;Will the Order Service be affected? Could Shipping experience downstream issues? Which business workflows might be disrupted?&lt;/p&gt;

&lt;p&gt;Finding these answers isn't always straightforward. In a system with many dependencies, understanding the potential impact of one failure can require tracing multiple relationships across the infrastructure.&lt;/p&gt;

&lt;p&gt;That's the problem I'm exploring with RIPPLE — AI What-If Impact Investigator, my project for Track 1: Agents That Act on Connected Data at the &lt;strong&gt;FalkorDB Graph Hacks hackathon&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;🔗 Explore the project: &lt;a href="https://github.com/narasimhaa44/Ripple" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The central idea is simple: instead of asking an AI model to guess what might break, give it access to a connected graph of system dependencies and let it investigate.&lt;/p&gt;

&lt;p&gt;💡 The Idea Behind RIPPLE&lt;/p&gt;

&lt;p&gt;Traditional monitoring helps engineers identify unhealthy services and investigate incidents. But understanding how a failure could propagate through interconnected services is a different challenge.&lt;/p&gt;

&lt;p&gt;I wanted to build a system where a user could ask a question such as:&lt;/p&gt;

&lt;p&gt;«"What happens if the Inventory Service fails?"»&lt;/p&gt;

&lt;p&gt;RIPPLE uses the dependency graph to identify potentially affected services, trace the paths connecting them to the simulated failure, and surface related business workflows.&lt;/p&gt;

&lt;p&gt;Rather than returning only a natural-language answer, the system provides graph-backed paths that users can inspect.&lt;/p&gt;

&lt;p&gt;That's the core idea behind RIPPLE: turn connected system knowledge into an explainable what-if investigation.&lt;/p&gt;

&lt;p&gt;🕸️ Why FalkorDB?&lt;/p&gt;

&lt;p&gt;The project is built around the idea that infrastructure is inherently connected.&lt;/p&gt;

&lt;p&gt;A service may depend on another service, read from a database, communicate with an API, or participate in a business workflow. Representing these relationships as a graph makes it possible to investigate connections across multiple hops.&lt;/p&gt;

&lt;p&gt;RIPPLE uses FalkorDB to represent these entities and relationships.&lt;/p&gt;

&lt;p&gt;The current graph includes services, databases, APIs, queues, teams, and workflows, connected through relationships such as "DEPENDS_ON", "READS_FROM", "CALLS", and "REQUIRES".&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;"Order Service → Inventory Service"&lt;/p&gt;

&lt;p&gt;This relationship gives RIPPLE a concrete path to investigate when simulating an Inventory Service failure.&lt;/p&gt;

&lt;p&gt;A longer dependency chain can reveal downstream connections that would be missed by examining only direct dependencies.&lt;/p&gt;

&lt;p&gt;🔬 Let's Simulate a Failure&lt;/p&gt;

&lt;p&gt;For the current demo, I selected Inventory Service as the failed service.&lt;/p&gt;

&lt;p&gt;RIPPLE traverses the graph and identifies three potentially affected services:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Service| Distance from failure&lt;/strong&gt;&lt;br&gt;
Order Service| 1 hop&lt;br&gt;
Shipping Service| 2 hops&lt;br&gt;
Analytics Service| 2 hops&lt;/p&gt;

&lt;p&gt;The investigation also identifies related workflows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customer Checkout — criticality 5/5&lt;/li&gt;
&lt;li&gt;Order Fulfillment — criticality 4/5&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The dashboard presents these results through an interactive impact-propagation view, allowing users to explore the affected services and their dependency paths.&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%2Famz5uei5opckp7u95tys.jpg" 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%2Famz5uei5opckp7u95tys.jpg" alt=" " width="800" height="430"&gt;&lt;/a&gt;&lt;br&gt;
[Insert Screenshot 1: Impact Propagation view showing Inventory, Order, Shipping, Analytics, and affected workflows.]&lt;/p&gt;

&lt;p&gt;An important distinction: these are results from the current modeled graph. They describe potential impact under the simulation, not verified predictions of actual production failures.&lt;/p&gt;

&lt;p&gt;🔎 Beyond Finding Affected Services: Explain the Path&lt;/p&gt;

&lt;p&gt;Identifying an affected service is useful. Understanding why it was identified is even more useful.&lt;/p&gt;

&lt;p&gt;RIPPLE retrieves dependency paths from FalkorDB and uses them to explain the connection between the simulated failure and potentially affected services.&lt;/p&gt;

&lt;p&gt;The dashboard also includes a Risk &amp;amp; Path Explanation Audit, which displays information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dependency paths and hop distances.&lt;/li&gt;
&lt;li&gt;Degree-centrality classification based on graph relationships.&lt;/li&gt;
&lt;li&gt;A heuristic prioritization score.&lt;/li&gt;
&lt;li&gt;Severity categories to help organize investigations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The current heuristic score is:&lt;/p&gt;

&lt;p&gt;"round((criticality / 5) × 70 + 30 / hops)"&lt;/p&gt;

&lt;p&gt;This score helps prioritize investigation; it is not a calibrated probability of failure.&lt;/p&gt;

&lt;p&gt;Keeping this distinction visible is important. A graph path establishes a modeled dependency, but it doesn't automatically prove that a real outage occurred or that a failure will propagate.&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%2Fwrapkd74tn7dqot9qb5m.jpg" 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%2Fwrapkd74tn7dqot9qb5m.jpg" alt=" " width="799" height="428"&gt;&lt;/a&gt;&lt;br&gt;
[Insert Screenshot 2: Risk &amp;amp; Path Explanation Audit showing the selected service, dependency path, and heuristic scoring details.]&lt;/p&gt;

&lt;p&gt;🧠 Bringing in AI Agents with MCP&lt;/p&gt;

&lt;p&gt;A graph query can retrieve connected information, but I also wanted users to be able to investigate the system through natural-language questions.&lt;/p&gt;

&lt;p&gt;That's where the AI agent and the Model Context Protocol (MCP) come in.&lt;/p&gt;

&lt;p&gt;I implemented an MCP server using the official MCP SDK and connected it to the Node.js backend through an MCP client. The server exposes five tools:&lt;/p&gt;

&lt;p&gt;MCP tool| What it does&lt;br&gt;
"list_services"| Lists services in the graph&lt;br&gt;
"analyze_impact"| Investigates the potential impact of a service failure&lt;br&gt;
"get_dependency_path"| Finds dependency paths between services&lt;br&gt;
"get_workflows"| Retrieves related business workflows&lt;br&gt;
"get_graph_summary"| Summarizes graph nodes and relationships&lt;/p&gt;

&lt;p&gt;The Groq-powered agent can discover available tools and use them to investigate questions. This allows the language model to retrieve structured information from the graph rather than relying solely on its pretrained knowledge.&lt;/p&gt;

&lt;p&gt;The technologies work together as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FalkorDB stores the connected system context.&lt;/li&gt;
&lt;li&gt;MCP exposes graph operations as structured tools.&lt;/li&gt;
&lt;li&gt;Groq powers the natural-language agent.&lt;/li&gt;
&lt;li&gt;Node.js and Express provide the backend APIs.&lt;/li&gt;
&lt;li&gt;React provides the interactive dashboard.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I've tested the five MCP tools individually against the current graph, including impact analysis and dependency-path retrieval.&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%2F33y6osv7g2t84n0dgbvh.jpg" 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%2F33y6osv7g2t84n0dgbvh.jpg" alt=" " width="799" height="424"&gt;&lt;/a&gt;&lt;br&gt;
[Insert Screenshot 3: Full RIPPLE dashboard showing the AI agent alongside the graph.]&lt;/p&gt;

&lt;p&gt;⚙️ Challenges and Lessons Learned&lt;/p&gt;

&lt;p&gt;Building RIPPLE has been a useful reminder that an AI agent is more than an LLM connected to a prompt.&lt;/p&gt;

&lt;p&gt;Some of the important engineering challenges include:&lt;/p&gt;

&lt;p&gt;Modeling relationships correctly: Dependency direction matters. Traversing the graph incorrectly can lead to misleading impact results.&lt;/p&gt;

&lt;p&gt;Supporting multi-hop analysis: The system needs to follow connected paths while respecting a configurable hop limit.&lt;/p&gt;

&lt;p&gt;Connecting the agent to real tools: MCP provides a structured way for the agent to discover and invoke graph operations.&lt;/p&gt;

&lt;p&gt;Keeping explanations grounded: The system should distinguish graph evidence from assumptions and heuristic scores.&lt;/p&gt;

&lt;p&gt;Handling invalid inputs: Unknown service IDs and invalid parameters need predictable, understandable error responses.&lt;/p&gt;

&lt;p&gt;These details matter because an investigation system should be inspectable and reliable, not merely convincing in a successful demo.&lt;/p&gt;

&lt;p&gt;🚀 What's Next for RIPPLE?&lt;/p&gt;

&lt;p&gt;I'm continuing to strengthen the implementation, with a focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improving error handling and end-to-end testing.&lt;/li&gt;
&lt;li&gt;Refining the graph and propagation visualization.&lt;/li&gt;
&lt;li&gt;Making agent explanations easier to inspect.&lt;/li&gt;
&lt;li&gt;Expanding realistic what-if scenarios.&lt;/li&gt;
&lt;li&gt;Improving the investigation experience from question to evidence.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A future direction is to connect the graph with continuously updated infrastructure information and operational signals. That would require additional integrations and validation beyond the current graph-based simulation.&lt;/p&gt;

&lt;p&gt;🌊 Why This Fits Track 1&lt;/p&gt;

&lt;p&gt;The exciting part of Track 1: Agents That Act on Connected Data is the opportunity to move beyond agents that only generate text.&lt;/p&gt;

&lt;p&gt;RIPPLE explores how an agent can use connected data, select structured tools, investigate multi-hop relationships, and return explanations supported by graph paths.&lt;/p&gt;

&lt;p&gt;The graph supplies the context. MCP makes its capabilities available to the agent. The application turns the investigation into something engineers can explore.&lt;/p&gt;

&lt;p&gt;My goal is to make it easier to answer a practical question:&lt;/p&gt;

&lt;p&gt;When one component fails, what else could be affected—and how can we trace the connection?&lt;/p&gt;

&lt;p&gt;That's RIPPLE: one simulated failure, multiple dependencies, and a ripple effect worth investigating. 🌊&lt;/p&gt;

&lt;p&gt;💬 Let's Discuss&lt;/p&gt;

&lt;p&gt;If you could give an AI agent access to your application's dependency graph, what would you want it to investigate first?&lt;/p&gt;

&lt;p&gt;Service failures? Security incidents? Infrastructure changes?&lt;/p&gt;

&lt;p&gt;I'd love to hear your ideas.&lt;/p&gt;

&lt;h1&gt;
  
  
  FalkorDB #AIAgents #MCP #GraphDatabases #Hackathon #BuildInPublic
&lt;/h1&gt;

</description>
      <category>falkordb</category>
      <category>agents</category>
      <category>mcp</category>
      <category>hackathon</category>
    </item>
  </channel>
</rss>
