<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Swapnanil Saha</title>
    <link>https://swapnanilsaha.com/blog/</link>
    <description>Long-form engineering deep dives and research on retrieval, agent memory, and context engineering. Every number traces back to an instrumented run.</description>
    <language>en-us</language>
    <lastBuildDate>Mon, 20 Jul 2026 09:00:00 +0530</lastBuildDate>
    <atom:link href="https://swapnanilsaha.com/feed.xml" rel="self" type="application/rss+xml"/>
    <managingEditor>swapnanilsaha26@gmail.com (Swapnanil Saha)</managingEditor>

    <item>
      <title>Your MCP Tool Works. The Model Still Won't Call It.</title>
      <link>https://swapnanilsaha.com/blog/mcp-tool-adoption-agents/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/mcp-tool-adoption-agents/</guid>
      <pubDate>Mon, 20 Jul 2026 09:00:00 +0530</pubDate>
      <description>A controlled study of MCP tool adoption: 0 calls in 63 turns with 30 mentions of the tool — and what actually moves the number.</description>
    </item>
    <item>
      <title>I Deleted Every Ranking Heuristic From My Code Search Engine</title>
      <link>https://swapnanilsaha.com/blog/deleting-ranking-heuristics-code-search/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/deleting-ranking-heuristics-code-search/</guid>
      <pubDate>Sun, 19 Jul 2026 09:00:00 +0530</pubDate>
      <description>3,817 lines of if/else, deleted in one commit — and the measured evidence for why query-keyword branches can never rank code search.</description>
    </item>
    <item>
      <title>Embedding Dilution: Why Semantic Code Search Misses the Answer</title>
      <link>https://swapnanilsaha.com/blog/embedding-dilution-code-search/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/embedding-dilution-code-search/</guid>
      <pubDate>Sat, 18 Jul 2026 09:00:00 +0530</pubDate>
      <description>The docstring paraphrased the query and it still ranked below 200 look-alikes. A measured post-mortem of embedding dilution — and the dual-vector fix it shipped.</description>
    </item>
    <item>
      <title>What Actually Survives /compact in Claude Code: An Empirical Map</title>
      <link>https://swapnanilsaha.com/blog/what-survives-compact-claude-code/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/what-survives-compact-claude-code/</guid>
      <pubDate>Fri, 17 Jul 2026 09:00:00 +0530</pubDate>
      <description>We forced 100+ compactions and graded, fact by fact, what the boundary keeps and what silently dies. The measured map, honest costs included.</description>
    </item>
    <item>
      <title>Vectr 1.1.0: Seven Agents, One Shared Memory, Zero Shared Chat</title>
      <link>https://swapnanilsaha.com/blog/vectr-1-1-team-mode-seven-agent-test/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/vectr-1-1-team-mode-seven-agent-test/</guid>
      <pubDate>Sat, 11 Jul 2026 09:00:00 +0530</pubDate>
      <description>Team mode, auth, and encryption at rest — gated by a test where seven AI agents built and reviewed a product coordinating only through vectr's shared memory.</description>
    </item>
    <item>
      <title>Vectr v1.0.0: The Release Gate, the Bugs It Caught, and the Numbers I Didn't Round Up</title>
      <link>https://swapnanilsaha.com/blog/vectr-v1-release-gate-honest-numbers/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/vectr-v1-release-gate-honest-numbers/</guid>
      <pubDate>Wed, 08 Jul 2026 09:00:00 +0530</pubDate>
      <description>A first-person dogfood gate caught two release-blocking bugs before the tag — and the honest cost numbers, wins and losses, that shipped with v1.0.0.</description>
    </item>
    <item>
      <title>The Four Families of Context Relief for LLM Coding Agents</title>
      <link>https://swapnanilsaha.com/blog/four-families-llm-context-relief-eviction/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/four-families-llm-context-relief-eviction/</guid>
      <pubDate>Mon, 06 Jul 2026 09:00:00 +0530</pubDate>
      <description>Eviction, offload-and-recall, retrieval-over-stuffing, and subagent isolation — how to keep a coding agent from drowning in its own context, and why the four only work when composed.</description>
    </item>
    <item>
      <title>Claude Code Hooks: A Practical Deep-Dive on Deterministic Agent Behavior</title>
      <link>https://swapnanilsaha.com/blog/claude-code-hooks-deterministic-agent-memory/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/claude-code-hooks-deterministic-agent-memory/</guid>
      <pubDate>Sat, 04 Jul 2026 09:00:00 +0530</pubDate>
      <description>Events, the settings.json contract, exit codes — and a real production hook pipeline that injects working memory into an agent deterministically.</description>
    </item>
    <item>
      <title>Building Vectr Part 3: What the Benchmark Numbers Actually Mean</title>
      <link>https://swapnanilsaha.com/blog/building-vectr-part-3-benchmark-methodology-results/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/building-vectr-part-3-benchmark-methodology-results/</guid>
      <pubDate>Sun, 14 Jun 2026 09:00:00 +0530</pubDate>
      <description>How I benchmarked an AI code editor tool without fooling myself — methodology, the research vs implementation distinction, and what the CPython results actually show.</description>
    </item>
    <item>
      <title>Building Vectr Part 2: What /compact Destroys and How to Survive It</title>
      <link>https://swapnanilsaha.com/blog/building-vectr-part-2-working-memory-compact-survival/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/building-vectr-part-2-working-memory-compact-survival/</guid>
      <pubDate>Thu, 11 Jun 2026 09:00:00 +0530</pubDate>
      <description>Why /compact kills precision, what the KV cache actually is, and how I built a working memory layer that survives session boundaries — with the bugs that made it real.</description>
    </item>
    <item>
      <title>Building Vectr Part 1: Why grep Fails When You Don't Know the Keywords</title>
      <link>https://swapnanilsaha.com/blog/building-vectr-part-1-semantic-code-search/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/building-vectr-part-1-semantic-code-search/</guid>
      <pubDate>Tue, 09 Jun 2026 09:00:00 +0530</pubDate>
      <description>How I built a local semantic code indexer for AI editors — covering AST chunking, hybrid vector+BM25 search, symbol graphs, and why naive approaches break on real codebases.</description>
    </item>
    <item>
      <title>LLM Context Window Token Budget: Why Your Window Fills Up Fast</title>
      <link>https://swapnanilsaha.com/blog/llm-context-window-token-budget-guide/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/llm-context-window-token-budget-guide/</guid>
      <pubDate>Tue, 26 May 2026 09:00:00 +0530</pubDate>
      <description>Token budget arithmetic for LLM context windows: why system prompts, tool schemas, RAG, and history drain your window — and four strategies to manage it.</description>
    </item>
    <item>
      <title>Why AI Code Assistants Waste Context — and How RAG Fixes It</title>
      <link>https://swapnanilsaha.com/blog/why-ai-code-assistants-waste-context-rag/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/why-ai-code-assistants-waste-context-rag/</guid>
      <pubDate>Sun, 24 May 2026 09:00:00 +0530</pubDate>
      <description>Context window stuffing silently degrades AI code assistant accuracy. Learn exactly why attention dilutes over long inputs and how RAG for code fixes it.</description>
    </item>
    <item>
      <title>The Complete Guide to Text Embeddings, Vector Databases &amp; LLMs</title>
      <link>https://swapnanilsaha.com/blog/text-embeddings-llms-rag-complete-guide/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/text-embeddings-llms-rag-complete-guide/</guid>
      <pubDate>Sat, 23 May 2026 09:00:00 +0530</pubDate>
      <description>From tokenization and transformers to cosine similarity, HNSW, RAG pipelines, and LLM training costs. With 7 interactive demos.</description>
    </item>
    <item>
      <title>DPDP Act 2023 + AI/LLM: Automating Data Principal Requests in India</title>
      <link>https://swapnanilsaha.com/blog/dpdp-act-ai-llm-automation/</link>
      <guid isPermaLink="true">https://swapnanilsaha.com/blog/dpdp-act-ai-llm-automation/</guid>
      <pubDate>Fri, 22 May 2026 09:00:00 +0530</pubDate>
      <description>What the DPDP Act actually requires, why shared inboxes fail, and how AI classifies requests, drafts multilingual replies, and generates audit-ready evidence — a deep technical guide.</description>
    </item>
  </channel>
</rss>
