<?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: Sharanya Ram SR</title>
    <description>The latest articles on DEV Community by Sharanya Ram SR (@sharanya_ramsr_9ab29516a).</description>
    <link>https://dev.to/sharanya_ramsr_9ab29516a</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%2F4192069%2Fc1e332bd-dd2b-49c7-9582-d3f4b24eb71d.jpg</url>
      <title>DEV Community: Sharanya Ram SR</title>
      <link>https://dev.to/sharanya_ramsr_9ab29516a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sharanya_ramsr_9ab29516a"/>
    <language>en</language>
    <item>
      <title>Why My Urban Heat Agent Returns "INSUFFICIENT_EVIDENCE" Instead of an Answer</title>
      <dc:creator>Sharanya Ram SR</dc:creator>
      <pubDate>Sun, 18 Oct 2026 12:53:07 +0000</pubDate>
      <link>https://dev.to/sharanya_ramsr_9ab29516a/why-my-urban-heat-agent-returns-insufficientevidence-instead-of-an-answer-3cke</link>
      <guid>https://dev.to/sharanya_ramsr_9ab29516a/why-my-urban-heat-agent-returns-insufficientevidence-instead-of-an-answer-3cke</guid>
      <description>&lt;p&gt;Urban heat is one of the clearest examples of a problem where the obvious signal can mislead. Temperature tells you where it is hot, but not why, what the evidence says, or whether anything can be done about it. When I started the Graph Hacks challenge, I wanted to build an agent that treats that gap seriously.&lt;br&gt;
The problem&lt;br&gt;
Heat prioritization depends on connected information: the risk factors in an area, the evidence behind each claim, the facilities nearby, and the interventions that could help. A single temperature reading, or a table with one row per zone, loses those relationships. And an agent that always picks a winner can produce a confident answer built on incomplete or unverified data.&lt;br&gt;
What HeatPath does&lt;br&gt;
HeatPath compares two urban heat hotspots. It stores each hotspot as a HeatZone node in FalkorDB, linked to RiskFactor, Evidence, Facility, and Intervention nodes through relationships such as HAS_RISK, SUPPORTED_BY, and NEARBY_FACILITY. The agent runs Cypher queries to pull each hotspot's connected records, builds an investigation report, and compares the two.&lt;br&gt;
Its most important behaviour is what it refuses to do. If a hotspot is missing, its data is unverified, its measurement dates aren't comparable, or no verified evidence is linked to it, the decision is INSUFFICIENT_EVIDENCE and no winner is chosen. Even when those checks pass, it still needs a validated prioritization policy before recommending anything. Every run is saved as an InvestigationHistory node, so the reasoning can be audited later.&lt;br&gt;
Why a graph&lt;br&gt;
Investigation questions are about relationships. "What risks does this hotspot share with that one?" is one traversal in a graph. In a relational schema, it becomes a set of joins that get harder to maintain as the model grows. Storing investigation history in the same database also means past runs can be retrieved as context.&lt;br&gt;
What I learned&lt;br&gt;
Conservative defaults matter. It's easy to build a system that always answers. Building one that can say "not enough evidence" required deciding, in advance, what counts as enough.&lt;br&gt;
Keep history separate from evidence. Past investigations are useful context, but if they could override current evidence, a stale or wrong earlier conclusion could drive a new decision. I made the history read-only with respect to decisions.&lt;br&gt;
Test the refusals, not just the answers. Five automated tests cover missing records, synthetic data, unverified records, mismatched dates, and the absence of a prioritization policy. Most of the value is in those cases.&lt;br&gt;
Be honest about the data. HeatPath uses synthetic records. A passing check doesn't prove the evidence is real, and the project is a prototype, not a validated prioritization system.&lt;br&gt;
What's next&lt;br&gt;
Real-world validation would need independently verified data and an agreed prioritization policy. Until then, HeatPath is a demonstration of how graph-connected evidence and conservative decision rules can work together.&lt;br&gt;
The code is at &lt;a href="https://github.com/SharanyaRamSR/heatpath-hackathon" rel="noopener noreferrer"&gt;https://github.com/SharanyaRamSR/heatpath-hackathon&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>falkordb</category>
      <category>agents</category>
      <category>graphdatabase</category>
      <category>graphmemory</category>
    </item>
  </channel>
</rss>
