<?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>Mehran Dashti — Writing</title>
    <link>https://mehrandashti.ir/writing/</link>
    <atom:link href="https://mehrandashti.ir/rss.xml" rel="self" type="application/rss+xml"/>
    <description>Notes on agent systems, retrieval and distributed backends.</description>
    <language>en</language>
    <lastBuildDate>Tue, 11 Aug 2026 09:00:00 GMT</lastBuildDate>
    <item>
      <title>Hybrid retrieval with Milvus: BGE-M3, RRF and relevance gating</title>
      <link>https://mehrandashti.ir/writing/hybrid-retrieval-with-milvus-and-rrf/</link>
      <guid isPermaLink="true">https://mehrandashti.ir/writing/hybrid-retrieval-with-milvus-and-rrf/</guid>
      <description>Why pure vector search returns confident nonsense, and how reciprocal-rank fusion plus a relevance gate fixed it — measured with MRR and precision@k.</description>
      <pubDate>Tue, 11 Aug 2026 09:00:00 GMT</pubDate>
      <dc:creator>Mehran Dashti</dc:creator>
      <category>Milvus</category>
      <category>RAG</category>
      <category>retrieval</category>
      <category>BGE-M3</category>
      <category>Python</category>
    </item>
    <item>
      <title>Reversible PII masking with Presidio in agent pipelines</title>
      <link>https://mehrandashti.ir/writing/reversible-pii-masking-with-presidio/</link>
      <guid isPermaLink="true">https://mehrandashti.ir/writing/reversible-pii-masking-with-presidio/</guid>
      <description>Pseudonymisation that survives a multi-turn conversation: recognizer design, a reversible mapping, and the failure modes that leak data.</description>
      <pubDate>Tue, 28 Jul 2026 09:00:00 GMT</pubDate>
      <dc:creator>Mehran Dashti</dc:creator>
      <category>Presidio</category>
      <category>PII</category>
      <category>GDPR</category>
      <category>AI security</category>
      <category>Python</category>
    </item>
    <item>
      <title>Prompt injection defense in a LangGraph agent system</title>
      <link>https://mehrandashti.ir/writing/prompt-injection-defense-in-langgraph/</link>
      <guid isPermaLink="true">https://mehrandashti.ir/writing/prompt-injection-defense-in-langgraph/</guid>
      <description>Fencing, closed-schema extraction and hard-block chokepoints — where to put each one in a supervisor/worker graph, and why fail-closed matters.</description>
      <pubDate>Tue, 14 Jul 2026 09:00:00 GMT</pubDate>
      <dc:creator>Mehran Dashti</dc:creator>
      <category>LangGraph</category>
      <category>AI security</category>
      <category>prompt injection</category>
      <category>Python</category>
    </item>
  </channel>
</rss>
