<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title><![CDATA[Jigar Joshi — Blog]]></title>
    <link>https://jigarjoshi.in/blog</link>
    <description><![CDATA[Agentic AI engineering: agents, tools, MCP, memory, and production patterns from real client work.]]></description>
    <language>en</language>
    <lastBuildDate>Mon, 22 Jun 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://jigarjoshi.in/blog/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title><![CDATA[Claude Code Artifacts turn terminal output into live review pages: what Team and Enterprise buyers should pilot first]]></title>
      <link>https://jigarjoshi.in/blog/claude-code-artifacts-live-review-pages</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/claude-code-artifacts-live-review-pages</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Production]]></category>
      <description><![CDATA[Claude Code Artifacts publish live org-private HTML review pages on claude.ai that update in place. Team and Enterprise workflow for PR walkthroughs and incident timelines.]]></description>
    </item>
    <item>
      <title><![CDATA[MCP Enterprise-Managed Authorization is stable: how IdP-provisioned connector access replaces per-server OAuth hell]]></title>
      <link>https://jigarjoshi.in/blog/mcp-enterprise-managed-authorization-ema-guide</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/mcp-enterprise-managed-authorization-ema-guide</guid>
      <pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[MCP]]></category>
      <description><![CDATA[MCP EMA is stable: your IdP provisions connector access via Identity Assertion JWTs so employees skip per-server OAuth. How I pilot EMA before stateless transport lands July 28.]]></description>
    </item>
    <item>
      <title><![CDATA[Cursor cloud subagents in 2026: /in-cloud, /babysit, and /automate without losing your local guardrails]]></title>
      <link>https://jigarjoshi.in/blog/cursor-cloud-subagents-in-cloud-babysit-and-automations</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/cursor-cloud-subagents-in-cloud-babysit-and-automations</guid>
      <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[Cursor 3.7 adds /in-cloud subagents in isolated VMs and /babysit for PR iteration. Cursor 3.8 adds /automate and GitHub review triggers. How I wire cloud handoff without losing guardrails.]]></description>
    </item>
    <item>
      <title><![CDATA[Agentjacking is real: poisoned Sentry errors can hijack Cursor, Claude Code, and Codex without touching your repo]]></title>
      <link>https://jigarjoshi.in/blog/agentjacking-fake-sentry-errors-hijack-coding-agents</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/agentjacking-fake-sentry-errors-hijack-coding-agents</guid>
      <pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Production]]></category>
      <description><![CDATA[Tenet showed poisoned Sentry stack traces can hijack Cursor, Claude Code, and Codex into running attacker shell commands. Treat observability feeds as untrusted input.]]></description>
    </item>
    <item>
      <title><![CDATA[The June 15 Claude billing change: Agent SDK credits, model retirement, and the checklist I run before anything breaks]]></title>
      <link>https://jigarjoshi.in/blog/claude-agent-sdk-billing-june-15-checklist</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/claude-agent-sdk-billing-june-15-checklist</guid>
      <pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Production]]></category>
      <description><![CDATA[June 15 splits Agent SDK and claude -p off your subscription, retires Opus 4 and Sonnet 4 on the API, and changes how headless Claude bills. Here is the checklist I run.]]></description>
    </item>
    <item>
      <title><![CDATA[Governing agent autonomy in 2026: Auto-review, pre-push review, and why approval prompts are not a security model]]></title>
      <link>https://jigarjoshi.in/blog/governing-agent-autonomy-auto-review-and-pre-push-review</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/governing-agent-autonomy-auto-review-and-pre-push-review</guid>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Production]]></category>
      <description><![CDATA[Cursor Auto-review and pre-push /review change how agents earn autonomy. A classifier gate, not a global allow/deny switch. What builders should adopt in 2026.]]></description>
    </item>
    <item>
      <title><![CDATA[Claude Fable 5 for agent builders: when the frontier model is worth the routing change]]></title>
      <link>https://jigarjoshi.in/blog/claude-fable-5-frontier-models-for-agent-builders</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/claude-fable-5-frontier-models-for-agent-builders</guid>
      <pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[Claude Fable 5 is Anthropic's first public Mythos-class model. Safeguards, retention, pricing, and when to route agents to it vs Opus 4.8 fast mode.]]></description>
    </item>
    <item>
      <title><![CDATA[Agentic RAG vs vanilla RAG: why a Sufficient Context Agent beats retrieve-then-pray]]></title>
      <link>https://jigarjoshi.in/blog/agentic-rag-sufficient-context-vs-vanilla-rag</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/agentic-rag-sufficient-context-vs-vanilla-rag</guid>
      <pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[Google's Agentic RAG adds a Sufficient Context Agent that re-searches until evidence is complete. When to upgrade from one-shot RAG in enterprise agents.]]></description>
    </item>
    <item>
      <title><![CDATA[Agentic transformation is an operating-model problem, not a model problem]]></title>
      <link>https://jigarjoshi.in/blog/agentic-transformation-operating-model-not-bigger-model</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/agentic-transformation-operating-model-not-bigger-model</guid>
      <pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Production]]></category>
      <description><![CDATA[Microsoft's 6-step agentic playbook reduces to one line: you need a better operating model, not a bigger model. What it means for IT services teams.]]></description>
    </item>
    <item>
      <title><![CDATA[The anatomy of an AI agent: memory, tools, the loop, and guardrails]]></title>
      <link>https://jigarjoshi.in/blog/anatomy-of-an-ai-agent</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/anatomy-of-an-ai-agent</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[An AI agent is four parts working together: memory, tools, the perceive-plan-act-observe loop, and guardrails. A field guide to each part and how it fails.]]></description>
    </item>
    <item>
      <title><![CDATA[Your coding agent has amnesia. Persistent memory is the fix.]]></title>
      <link>https://jigarjoshi.in/blog/persistent-memory-for-coding-agents</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/persistent-memory-for-coding-agents</guid>
      <pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[Why coding agents forget, what persistent agent memory means, how the open-source Cortex engine implements it over MCP, and how to evaluate a memory layer.]]></description>
    </item>
    <item>
      <title><![CDATA[Your agent's supply chain is the attack surface now]]></title>
      <link>https://jigarjoshi.in/blog/agentic-ai-supply-chain-security</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/agentic-ai-supply-chain-security</guid>
      <pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Production]]></category>
      <description><![CDATA[The Nx worm went straight for ~/.claude configs. Here is how to secure an AI agent's real attack surface: extensions, skills, MCP servers, and credentials.]]></description>
    </item>
    <item>
      <title><![CDATA[MCP just went stateless: what the 2026 spec release candidate changes for your servers]]></title>
      <link>https://jigarjoshi.in/blog/mcp-stateless-spec-release-candidate</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/mcp-stateless-spec-release-candidate</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[MCP]]></category>
      <description><![CDATA[The 2026 MCP spec release candidate drops sessions for a stateless core, reworks auth, and deprecates Roots and Sampling. What breaks and how to migrate.]]></description>
    </item>
    <item>
      <title><![CDATA[Your agents aren't broken, your tools are: three questions to ask before you build one]]></title>
      <link>https://jigarjoshi.in/blog/your-agents-arent-broken-your-tools-are-three-questions</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/your-agents-arent-broken-your-tools-are-three-questions</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Tool Design]]></category>
      <description><![CDATA[An AI tool is a contract, not a function. The three questions to run before building any agent tool: is it atomic, what happens on failure, is it typed.]]></description>
    </item>
    <item>
      <title><![CDATA[Inside Recruiting Atelier: a runnable reference for the primitives of an agentic system]]></title>
      <link>https://jigarjoshi.in/blog/recruiting-atelier-agentic-ai-reference-implementation</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/recruiting-atelier-agentic-ai-reference-implementation</guid>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Multi-Agent]]></category>
      <description><![CDATA[An open agentic AI reference that screens, scores, and shortlists candidates with five named specialists: architecture, tool registry, RAG, MCP, guardrails.]]></description>
    </item>
    <item>
      <title><![CDATA[How an agentic studio screens, scores and shortlists candidates for your hiring team]]></title>
      <link>https://jigarjoshi.in/blog/agentic-ai-resume-screening-for-hr-teams</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/agentic-ai-resume-screening-for-hr-teams</guid>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Production]]></category>
      <description><![CDATA[How an open agentic studio screens resumes, scores candidates on four dimensions, and surfaces a ranked shortlist. A walkthrough for HR and talent leads.]]></description>
    </item>
    <item>
      <title><![CDATA[Code agents vs skill agents: when to give an agent the keyboard and when to give it the toolbox]]></title>
      <link>https://jigarjoshi.in/blog/code-agent-vs-skill-agent-when-to-pick-which</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/code-agent-vs-skill-agent-when-to-pick-which</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[Code agents write fresh code into a sandbox; skill agents pick from a curated menu. The four axes where they diverge, and the hybrid most systems become.]]></description>
    </item>
    <item>
      <title><![CDATA[Tool registry design for agentic AI: how the wrong registry kills accuracy before the prompt is read]]></title>
      <link>https://jigarjoshi.in/blog/tool-registry-design-for-agentic-ai</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/tool-registry-design-for-agentic-ai</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Tool Design]]></category>
      <description><![CDATA[A 47-tool registry with a 22% wrong-tool rate was a registry bug, not a model one. The audit pattern, the seven failure modes I see, and the cleanup numbers.]]></description>
    </item>
    <item>
      <title><![CDATA[AI agent vs agentic AI: what the distinction actually means when you ship one]]></title>
      <link>https://jigarjoshi.in/blog/ai-agent-vs-agentic-ai-what-the-distinction-actually-means</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/ai-agent-vs-agentic-ai-what-the-distinction-actually-means</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[AI agent and agentic AI describe different architectures with different cost and observability needs. The framing I use with clients and a three-question test.]]></description>
    </item>
    <item>
      <title><![CDATA[Gemini 3.5 Flash vs Sonnet 4.6: should you re-route your agent stack?]]></title>
      <link>https://jigarjoshi.in/blog/gemini-3-5-flash-vs-sonnet-4-6-routing-layer</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/gemini-3-5-flash-vs-sonnet-4-6-routing-layer</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[Gemini 3.5 Flash ships a 4x tokens-per-second claim. If your routing layer is on Sonnet 4.6, what to re-benchmark and the cost-per-completed-task maths.]]></description>
    </item>
    <item>
      <title><![CDATA[MCP governance just became a product: what Databricks Unity AI Gateway changes for enterprise agents]]></title>
      <link>https://jigarjoshi.in/blog/databricks-unity-ai-gateway-mcp-governance</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/databricks-unity-ai-gateway-mcp-governance</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Production]]></category>
      <description><![CDATA[Enterprises hand-roll MCP tool-access policy, payload logging, and per-team cost limits. Databricks Unity Gateway ships it as a product. What it changes.]]></description>
    </item>
    <item>
      <title><![CDATA[The vector store is not your agent's memory]]></title>
      <link>https://jigarjoshi.in/blog/three-paradigms-of-llm-memory-implicit-explicit-agentic</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/three-paradigms-of-llm-memory-implicit-explicit-agentic</guid>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[A 2026 survey splits LLM memory into implicit, explicit, and agentic layers. Most agents build the middle one, call it memory, and skip the layer on top.]]></description>
    </item>
    <item>
      <title><![CDATA[Tool descriptions are prompts. Fix the registry, not the agent.]]></title>
      <link>https://jigarjoshi.in/blog/tool-descriptions-are-prompts-fix-the-registry</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/tool-descriptions-are-prompts-fix-the-registry</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Tool Design]]></category>
      <description><![CDATA[When an agent picks the wrong tool, the registry is the bug, not the model. Three rules, a before/after, and how to read tool-selection telemetry.]]></description>
    </item>
    <item>
      <title><![CDATA[The cheapest LLM call is the one you do not make. GitHub's 19-62% token cut, decoded]]></title>
      <link>https://jigarjoshi.in/blog/cheapest-llm-call-is-the-one-you-dont-make</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/cheapest-llm-call-is-the-one-you-dont-make</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Production]]></category>
      <description><![CDATA[GitHub cut agentic CI token cost 19-62%. The technique most miss: pre-agentic data fetching, registry hygiene, relevance gates, and cache-hit tracking.]]></description>
    </item>
    <item>
      <title><![CDATA[Claude Opus 4.7's 1M context: when to RAG and when to just stuff it]]></title>
      <link>https://jigarjoshi.in/blog/claude-opus-4-7-1m-context-rag-or-stuff</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/claude-opus-4-7-1m-context-rag-or-stuff</guid>
      <pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[A reliable 1M-token context does not retire RAG, it moves it down the decision tree. When to stuff the context, when to retrieve, and the cache angle.]]></description>
    </item>
    <item>
      <title><![CDATA[MCP 1.0 is here. What changes for the servers you already wrote]]></title>
      <link>https://jigarjoshi.in/blog/mcp-1-0-server-migration-changes</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/mcp-1-0-server-migration-changes</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[MCP]]></category>
      <description><![CDATA[MCP 1.0 is ratified and most servers keep working. The three places the spec requires changes (auth, registry, streaming) and the one to change anyway.]]></description>
    </item>
    <item>
      <title><![CDATA[Why I am replacing supervisor patterns with handoffs]]></title>
      <link>https://jigarjoshi.in/blog/supervisor-pattern-vs-handoffs-multi-agent</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/supervisor-pattern-vs-handoffs-multi-agent</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Multi-Agent]]></category>
      <description><![CDATA[Supervisors look clean on paper and ship slow in production. Handoffs read messier but recover better. When to use each, with the failure modes.]]></description>
    </item>
    <item>
      <title><![CDATA[Prompt caching is not optional anymore. Measuring a 47% cost drop]]></title>
      <link>https://jigarjoshi.in/blog/prompt-caching-47-percent-cost-drop</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/prompt-caching-47-percent-cost-drop</guid>
      <pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Production]]></category>
      <description><![CDATA[A client walkthrough: find the stable prefixes, restructure the prompt for cacheability, and instrument cache-hit rate. Two days of work, 47% lower spend.]]></description>
    </item>
    <item>
      <title><![CDATA[Tool descriptions are prompts. Stop treating them like docstrings]]></title>
      <link>https://jigarjoshi.in/blog/tool-descriptions-are-prompts</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/tool-descriptions-are-prompts</guid>
      <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Tool Design]]></category>
      <description><![CDATA[A docstring tells a developer what a function does. A tool description tells a model when to call it. Six edits that lifted tool-call accuracy to 94%.]]></description>
    </item>
    <item>
      <title><![CDATA[The agent observability stack we ship to every client]]></title>
      <link>https://jigarjoshi.in/blog/agent-observability-stack-clients</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/agent-observability-stack-clients</guid>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Production]]></category>
      <description><![CDATA[Traces, cost-per-completed-task, cache-hit rate, evals, and the one panel that catches 80% of agent regressions. Vendor-agnostic: Langfuse, Honeycomb, OTel.]]></description>
    </item>
    <item>
      <title><![CDATA[Three patterns I broke in 2025, and what I do instead now]]></title>
      <link>https://jigarjoshi.in/blog/three-patterns-i-broke-2025</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/three-patterns-i-broke-2025</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[An honest review: self-correction loops without budgets, single-agent solutions to multi-domain problems, and JSON mode forcing structure. What replaced each.]]></description>
    </item>
    <item>
      <title><![CDATA[Haiku 4.5 made our router 5x cheaper. The trade-off matters]]></title>
      <link>https://jigarjoshi.in/blog/haiku-4-5-router-cost-tradeoffs</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/haiku-4-5-router-cost-tradeoffs</guid>
      <pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Multi-Agent]]></category>
      <description><![CDATA[Swapping Sonnet for Haiku 4.5 in the dispatcher cut routing cost about 5x. It also cost us in two places. The confidence-tiered pattern that keeps both.]]></description>
    </item>
    <item>
      <title><![CDATA[Why every team's first MCP server should be "list-files"]]></title>
      <link>https://jigarjoshi.in/blog/first-mcp-server-list-files</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/first-mcp-server-list-files</guid>
      <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[MCP]]></category>
      <description><![CDATA[The smallest useful MCP server and the hardest to mess up. Why list-files teaches the protocol without domain logic, plus the 60-line shape we teach.]]></description>
    </item>
    <item>
      <title><![CDATA[Eval datasets: stop testing your agents on the happy path]]></title>
      <link>https://jigarjoshi.in/blog/eval-datasets-beyond-happy-path</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/eval-datasets-beyond-happy-path</guid>
      <pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Production]]></category>
      <description><![CDATA[If your eval set is the launch demos, you are testing the wrong thing. How to build agent evals from production failures, plus the minimum viable suite.]]></description>
    </item>
    <item>
      <title><![CDATA[I was wrong about JSON mode. Here is what changed my mind]]></title>
      <link>https://jigarjoshi.in/blog/json-mode-changed-my-mind</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/json-mode-changed-my-mind</guid>
      <pubDate>Fri, 12 Dec 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Prompt Engineering]]></category>
      <description><![CDATA[For two years I told teams to avoid forced JSON and use tool calls. Schema enforcement improved, latency shrank, the failure mode got safer. The 2026 rule.]]></description>
    </item>
    <item>
      <title><![CDATA[Why your agent keeps failing after 3 steps]]></title>
      <link>https://jigarjoshi.in/blog/agent-failing-after-3-steps-exit-conditions</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/agent-failing-after-3-steps-exit-conditions</guid>
      <pubDate>Sat, 08 Nov 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[The exit-condition problem nobody talks about. Agents built for the happy path break on step three. The three exits every agent has, and how to design them.]]></description>
    </item>
    <item>
      <title><![CDATA[The one rule for designing agent tools that actually work]]></title>
      <link>https://jigarjoshi.in/blog/one-rule-tool-design</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/one-rule-tool-design</guid>
      <pubDate>Fri, 17 Oct 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Tool Design]]></category>
      <description><![CDATA[One tool, one purpose. Every tool that does two things fails on the third call. Why multi-purpose tools break agents, and the refactor that fixes them.]]></description>
    </item>
    <item>
      <title><![CDATA[RAG vs CAG: how to actually decide]]></title>
      <link>https://jigarjoshi.in/blog/rag-vs-cag-decision-framework</link>
      <guid isPermaLink="true">https://jigarjoshi.in/blog/rag-vs-cag-decision-framework</guid>
      <pubDate>Sun, 21 Sep 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Architecture]]></category>
      <description><![CDATA[RAG retrieves at request time. CAG caches frequently-needed content in the prompt. A framework for which to use, and why most systems combine both.]]></description>
    </item>
  </channel>
</rss>