<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Sohan Jagadeesh: Writing and notes</title>
    <link>https://sohanjagadeesh.com/writing</link>
    <description>Software, stories, systems, and working notes from Sohan Jagadeesh.</description>
    <language>en-au</language>
    <lastBuildDate>Mon, 20 Jul 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://sohanjagadeesh.com/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Ship model changes behind evaluations and rollback</title>
      <link>https://sohanjagadeesh.com/writing/ship-model-changes-behind-evaluations-and-rollback</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/ship-model-changes-behind-evaluations-and-rollback</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A release discipline for prompts, models, retrieval, tools, and policies that can regress without a code compile failing.</description>
      <category>AI</category>
      <category>Delivery</category>
      <category>Evaluation</category>
    </item>
    <item>
      <title>Streaming is a product state machine</title>
      <link>https://sohanjagadeesh.com/writing/streaming-is-a-product-state-machine</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/streaming-is-a-product-state-machine</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A UI and systems guide to partial output, tool pauses, validation, cancellation, accessibility, and truthful terminal states.</description>
      <category>AI</category>
      <category>UX</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>Separate instructions, evidence, and user input</title>
      <link>https://sohanjagadeesh.com/writing/separate-instructions-evidence-and-user-input</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/separate-instructions-evidence-and-user-input</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A trust-ordered prompt architecture that keeps product policy, user intent, retrieved material, and tool results visibly distinct.</description>
      <category>AI</category>
      <category>Security</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>Red-team the seams, not only the chatbot</title>
      <link>https://sohanjagadeesh.com/writing/red-team-the-seams-not-only-the-chatbot</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/red-team-the-seams-not-only-the-chatbot</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A scenario-led red-team plan for retrieval, tools, memory, permissions, streaming, and recovery around the model.</description>
      <category>AI</category>
      <category>Security</category>
      <category>Evaluation</category>
    </item>
    <item>
      <title>Freshness is a retrieval requirement</title>
      <link>https://sohanjagadeesh.com/writing/freshness-is-a-retrieval-requirement</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/freshness-is-a-retrieval-requirement</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A version-aware retrieval design for detecting change, modeling validity, removing stale evidence, and citing the right point in time.</description>
      <category>AI</category>
      <category>Retrieval</category>
      <category>Data</category>
    </item>
    <item>
      <title>Give GenAI systems service-level objectives</title>
      <link>https://sohanjagadeesh.com/writing/give-genai-systems-service-level-objectives</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/give-genai-systems-service-level-objectives</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>How to define reliability targets for useful, grounded outcomes instead of measuring only API uptime.</description>
      <category>AI</category>
      <category>Reliability</category>
      <category>Observability</category>
    </item>
    <item>
      <title>Build a privacy boundary before the prompt</title>
      <link>https://sohanjagadeesh.com/writing/build-a-privacy-boundary-before-the-prompt</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/build-a-privacy-boundary-before-the-prompt</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A data-flow method for minimizing, classifying, redacting, and governing information before it reaches a model or trace.</description>
      <category>AI</category>
      <category>Privacy</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>Design multimodal ingestion for evidence</title>
      <link>https://sohanjagadeesh.com/writing/design-multimodal-ingestion-for-evidence</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/design-multimodal-ingestion-for-evidence</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A document pipeline that preserves pages, layout, tables, images, and provenance instead of flattening everything into unreliable text.</description>
      <category>AI</category>
      <category>Retrieval</category>
      <category>Documents</category>
    </item>
    <item>
      <title>Agent memory is product state</title>
      <link>https://sohanjagadeesh.com/writing/agent-memory-is-product-state</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/agent-memory-is-product-state</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A design model for consent, provenance, correction, expiry, and retrieval when an agent is expected to remember.</description>
      <category>AI</category>
      <category>Agents</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>Put human approval at irreversible boundaries</title>
      <link>https://sohanjagadeesh.com/writing/put-human-approval-at-irreversible-boundaries</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/put-human-approval-at-irreversible-boundaries</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>How to place approvals where they preserve control, show the real diff, and survive long-running agent workflows.</description>
      <category>AI</category>
      <category>Agents</category>
      <category>Safety</category>
    </item>
    <item>
      <title>Route models by task, not prestige</title>
      <link>https://sohanjagadeesh.com/writing/route-models-by-task-not-prestige</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/route-models-by-task-not-prestige</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A measured routing strategy for balancing task success, cost, latency, and fallback without building a hidden leaderboard.</description>
      <category>AI</category>
      <category>Models</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>Budget latency before optimizing tokens</title>
      <link>https://sohanjagadeesh.com/writing/budget-latency-before-optimizing-tokens</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/budget-latency-before-optimizing-tokens</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A systems approach to time-to-first-useful-result, tail latency, caching, and the pauses users actually feel.</description>
      <category>AI</category>
      <category>Performance</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>Trace the whole inference path</title>
      <link>https://sohanjagadeesh.com/writing/trace-the-whole-inference-path</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/trace-the-whole-inference-path</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>An observability map for following a request across retrieval, model calls, tools, validation, and the final user experience.</description>
      <category>AI</category>
      <category>Observability</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>Calibrate LLM-as-a-judge</title>
      <link>https://sohanjagadeesh.com/writing/calibrate-llm-as-a-judge</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/calibrate-llm-as-a-judge</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A practical protocol for using model graders without confusing scalable judgement with objective truth.</description>
      <category>AI</category>
      <category>Evaluation</category>
      <category>Quality</category>
    </item>
    <item>
      <title>Tool calls need contracts</title>
      <link>https://sohanjagadeesh.com/writing/tool-calls-need-contracts</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/tool-calls-need-contracts</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A contract-first method for making model-selected tools narrow, observable, reversible, and safe to evolve.</description>
      <category>AI</category>
      <category>Architecture</category>
      <category>Agents</category>
    </item>
    <item>
      <title>Structured outputs still need validation</title>
      <link>https://sohanjagadeesh.com/writing/structured-outputs-still-need-validation</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/structured-outputs-still-need-validation</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>How to turn schema-constrained model output into a trustworthy application boundary instead of a well-formed assumption.</description>
      <category>AI</category>
      <category>Architecture</category>
      <category>Reliability</category>
    </item>
    <item>
      <title>Protect retrieval from prompt injection</title>
      <link>https://sohanjagadeesh.com/writing/protect-retrieval-from-prompt-injection</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/protect-retrieval-from-prompt-injection</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A defensive architecture for treating retrieved documents as evidence without letting them become hidden instructions.</description>
      <category>AI</category>
      <category>Security</category>
      <category>Retrieval</category>
    </item>
    <item>
      <title>Evidence belongs in the interface</title>
      <link>https://sohanjagadeesh.com/writing/evidence-belongs-in-the-interface</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/evidence-belongs-in-the-interface</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>A portfolio build log about turning technical claims into visible artefacts, decisions, and inspection paths.</description>
      <category>AI</category>
      <category>Design</category>
      <category>Software</category>
    </item>
    <item>
      <title>A comparison needs a stop rule</title>
      <link>https://sohanjagadeesh.com/writing/a-comparison-needs-a-stop-rule</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/a-comparison-needs-a-stop-rule</guid>
      <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
      <description>A small companion note to the model comparison framework about deciding when enough evidence is enough.</description>
      <category>AI</category>
      <category>Models</category>
      <category>Evaluation</category>
    </item>
    <item>
      <title>Keep the corpus visible</title>
      <link>https://sohanjagadeesh.com/writing/keep-the-corpus-visible</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/keep-the-corpus-visible</guid>
      <pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate>
      <description>A retrieval build log about making source coverage and document state inspectable.</description>
      <category>AI</category>
      <category>Retrieval</category>
      <category>Software</category>
    </item>
    <item>
      <title>Citations are part of the interface</title>
      <link>https://sohanjagadeesh.com/writing/citations-are-part-of-the-interface</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/citations-are-part-of-the-interface</guid>
      <pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate>
      <description>A note on designing citations for inspection, not merely displaying a source marker.</description>
      <category>AI</category>
      <category>Design</category>
      <category>Evaluation</category>
    </item>
    <item>
      <title>A smaller context can be a feature</title>
      <link>https://sohanjagadeesh.com/writing/a-smaller-context-can-be-a-feature</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/a-smaller-context-can-be-a-feature</guid>
      <pubDate>Wed, 19 Nov 2025 00:00:00 GMT</pubDate>
      <description>Why giving a model more text is not automatically the same as giving it better context.</description>
      <category>AI</category>
      <category>Evaluation</category>
      <category>Workflow</category>
    </item>
    <item>
      <title>Good defaults are documentation</title>
      <link>https://sohanjagadeesh.com/writing/good-defaults-are-documentation</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/good-defaults-are-documentation</guid>
      <pubDate>Fri, 05 Sep 2025 00:00:00 GMT</pubDate>
      <description>A design note on how a sensible starting state can explain an interface before help text does.</description>
      <category>Design</category>
      <category>Software</category>
      <category>Workflow</category>
    </item>
    <item>
      <title>Chunking without a magic number</title>
      <link>https://sohanjagadeesh.com/writing/chunking-without-a-magic-number</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/chunking-without-a-magic-number</guid>
      <pubDate>Mon, 28 Jul 2025 00:00:00 GMT</pubDate>
      <description>A short note on treating chunk size as a retrieval decision instead of a copied constant.</description>
      <category>AI</category>
      <category>Retrieval</category>
      <category>Evaluation</category>
    </item>
    <item>
      <title>What this site is becoming</title>
      <link>https://sohanjagadeesh.com/writing/what-this-site-is-becoming</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/what-this-site-is-becoming</guid>
      <pubDate>Wed, 14 May 2025 00:00:00 GMT</pubDate>
      <description>A build log for turning a finished-looking portfolio into a place that can keep changing.</description>
      <category>Design</category>
      <category>Workflow</category>
      <category>Web</category>
    </item>
    <item>
      <title>Retrieval is a ranking problem first</title>
      <link>https://sohanjagadeesh.com/writing/retrieval-is-a-ranking-problem-first</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/retrieval-is-a-ranking-problem-first</guid>
      <pubDate>Sat, 22 Mar 2025 00:00:00 GMT</pubDate>
      <description>Why answer quality often depends on the ordering and cutoff of evidence before a language model begins to write.</description>
      <category>AI</category>
      <category>Retrieval</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>Model comparison without fake certainty</title>
      <link>https://sohanjagadeesh.com/writing/model-comparison-without-fake-certainty</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/model-comparison-without-fake-certainty</guid>
      <pubDate>Thu, 09 Jan 2025 00:00:00 GMT</pubDate>
      <description>A dated, reproducible framework for comparing models on the work that matters, without pretending preferences are universal benchmarks.</description>
      <category>AI</category>
      <category>Models</category>
      <category>Evaluation</category>
    </item>
    <item>
      <title>Pipeline before agent</title>
      <link>https://sohanjagadeesh.com/writing/pipeline-before-agent</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/pipeline-before-agent</guid>
      <pubDate>Tue, 26 Nov 2024 00:00:00 GMT</pubDate>
      <description>A decision rule for reaching for agentic loops only after a visible, testable pipeline stops being enough.</description>
      <category>AI</category>
      <category>Workflow</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>A practical anatomy of a RAG evaluation set</title>
      <link>https://sohanjagadeesh.com/writing/a-practical-anatomy-of-a-rag-evaluation-set</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/a-practical-anatomy-of-a-rag-evaluation-set</guid>
      <pubDate>Tue, 17 Sep 2024 00:00:00 GMT</pubDate>
      <description>A field guide to building retrieval and generation examples that reveal useful failure modes instead of producing one blended score.</description>
      <category>AI</category>
      <category>Evaluation</category>
      <category>Retrieval</category>
    </item>
    <item>
      <title>RAG demos are easy. Retrieval systems are not.</title>
      <link>https://sohanjagadeesh.com/writing/rag-demos-are-easy-retrieval-systems-are-not</link>
      <guid isPermaLink="true">https://sohanjagadeesh.com/writing/rag-demos-are-easy-retrieval-systems-are-not</guid>
      <pubDate>Sat, 03 Aug 2024 00:00:00 GMT</pubDate>
      <description>A practical map of the failure modes that appear after the first convincing retrieval augmented generation demo.</description>
      <category>AI</category>
      <category>Retrieval</category>
      <category>Evaluation</category>
    </item>
  </channel>
</rss>
