<?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: Royal Simpson Pinto</title>
    <description>The latest articles on DEV Community by Royal Simpson Pinto (@royalpinto007).</description>
    <link>https://dev.to/royalpinto007</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%2F947695%2F6652469e-7e55-4b5b-a816-1f2d54c72b65.jpeg</url>
      <title>DEV Community: Royal Simpson Pinto</title>
      <link>https://dev.to/royalpinto007</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/royalpinto007"/>
    <language>en</language>
    <item>
      <title>I shipped five AI-infrastructure tools in a week, here is the throughline</title>
      <dc:creator>Royal Simpson Pinto</dc:creator>
      <pubDate>Mon, 27 Jul 2026 13:18:06 +0000</pubDate>
      <link>https://dev.to/royalpinto007/i-shipped-five-ai-infrastructure-tools-in-a-week-here-is-the-throughline-254h</link>
      <guid>https://dev.to/royalpinto007/i-shipped-five-ai-infrastructure-tools-in-a-week-here-is-the-throughline-254h</guid>
      <description>&lt;p&gt;Over one week I built and released five open-source tools: a permission-aware RAG core, a security scanner for MCP servers, an observability tool for agents, a prompt regression CI, and a library that puts cryptographic receipts on RAG answers. They look like five different projects. They are really one argument.&lt;/p&gt;

&lt;p&gt;The argument is this: the hard part of AI systems in production is not making the model say something. It is knowing whether you can trust what it said, and being able to prove it later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Generation is cheap, verification is expensive
&lt;/h2&gt;

&lt;p&gt;A model is very good at producing a confident answer and very bad at knowing whether that answer is correct. When you build a single chatbot, you paper over this with a human reading each reply. When you fan out ten agents, or run retrieval over private documents, or ship a voice agent that takes real actions, the human is gone and the confident-but-wrong answer goes straight through.&lt;/p&gt;

&lt;p&gt;So the useful work moves. It moves from "get the model to answer" to "build the machinery that decides which answers are safe to act on." Every one of the five tools is a piece of that machinery.&lt;/p&gt;

&lt;h2&gt;
  
  
  The five, briefly
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;vaultrag&lt;/strong&gt; is retrieval where the access-control check lives inside the query, not as a filter applied afterwards. If the predicate is inside the query, an unauthorized document is never fetched, never ranked, never seen by the model. A gold-set eval in CI proves it: delete the predicate and the leak rate jumps from zero to most of the corpus, while recall stays the same. The test fails the build.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;mcp-audit&lt;/strong&gt; scans Model Context Protocol servers the way a linter scans code. It connects, enumerates the tools and resources a server exposes, and runs rules that catch over-broad permissions, destructive tools with no scoping, secrets in resources, and prompt-injection sinks. It emits SARIF so the findings drop into GitHub code scanning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;agentrace&lt;/strong&gt; reads agent session transcripts with no instrumentation and flags the runs you should not trust: hedged claims, missing output contracts, silent errors. Every check came from a real failure I hit across many runs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;evalgate&lt;/strong&gt; is regression CI for prompts. It runs an eval suite on every pull request, compares to the baseline, and comments the quality delta. The build fails when the prompt gets dumber, the same way it fails when the types stop checking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;answerproof&lt;/strong&gt; attaches a signed, tamper-evident receipt to a RAG answer: which sources were retrieved and cited, under whose permissions, with a Merkle root and an Ed25519 signature anyone can verify independently.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why build the boring layer
&lt;/h2&gt;

&lt;p&gt;None of these are a flashy demo. There is no avatar, no chat that writes your emails. They are the plumbing. But the plumbing is exactly where AI products break in production, and it is the part nobody posts screenshots of, so it stays underbuilt.&lt;/p&gt;

&lt;p&gt;I find that interesting for a simple reason: the demos already exist. What does not exist, in most stacks, is the layer that says no. The retrieval that refuses to fetch what you cannot see. The scanner that fails your MCP server before it ships. The eval that blocks a regression. The receipt that lets someone else check your work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The common shape
&lt;/h2&gt;

&lt;p&gt;Look closely and the five share a pattern. Each one moves a check from "after the fact, by a human" to "inside the system, enforced by code."&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;vaultrag moves the permission check from a post-filter into the query.&lt;/li&gt;
&lt;li&gt;mcp-audit moves security review from a manual audit into CI.&lt;/li&gt;
&lt;li&gt;evalgate moves prompt-quality judgment from a person eyeballing outputs into a gate.&lt;/li&gt;
&lt;li&gt;answerproof moves "trust me" into "verify it yourself."&lt;/li&gt;
&lt;li&gt;agentrace moves "read the transcript later" into "flag it now."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is the whole thesis. Trust in an AI system is not a vibe you add at the end. It is a property you build in, check by check, and ideally one that fails loudly when it breaks.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is next
&lt;/h2&gt;

&lt;p&gt;I am going to keep building down this layer, because it is where I think the durable work is. If you are building agents or RAG in production and fighting the trust problem, these are all MIT licensed and I would genuinely like to hear where they break for you.&lt;/p&gt;

&lt;p&gt;Links to each are on my GitHub: github.com/royalpinto007. I will write up each tool in its own post over the next few weeks.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>agents</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
