<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Serpaix Blog</title>
    <link>https://serpaix.com/blog</link>
    <description>Engineering notes and product updates from the Serpaix team.</description>
    <language>en-us</language>
    <atom:link href="https://serpaix.com/feed.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Mon, 08 Jun 2026 21:58:06 GMT</lastBuildDate>
    <item>
      <title><![CDATA[Building the World Modeling Engine: Probabilistic Forecasting for Personal Knowledge]]></title>
      <link>https://serpaix.com/blog/world-modeling-engine</link>
      <guid isPermaLink="true">https://serpaix.com/blog/world-modeling-engine</guid>
      <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[How we built a causal simulation engine that predicts future knowledge states based on your capture patterns — and why temporal reasoning required an entirely separate service.]]></description>
    </item>
    <item>
      <title><![CDATA[Multi-Hop RAG at the Edge: Running 8 Agents Over a Local Knowledge Graph]]></title>
      <link>https://serpaix.com/blog/multi-hop-rag-edge</link>
      <guid isPermaLink="true">https://serpaix.com/blog/multi-hop-rag-edge</guid>
      <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[The architecture behind Serpaix's multi-agent system: how Research, Graph, and Temporal agents collaborate over a shared memory store without hallucinating connections.]]></description>
    </item>
    <item>
      <title><![CDATA[PII Redaction in Rust: Why We Strip Sensitive Data Before It Leaves Your Machine]]></title>
      <link>https://serpaix.com/blog/pii-redaction-rust</link>
      <guid isPermaLink="true">https://serpaix.com/blog/pii-redaction-rust</guid>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[A deep dive into the Serpaix LTM daemon's PII redaction pipeline — Sørensen–Dice deduplication, regex-based stripping, and why doing this in Rust matters for latency and trust.]]></description>
    </item>
  </channel>
</rss>