<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Milan Rathod — Shift log</title><link>https://milanbuilds.app/log/</link><description>Notes on building AI systems.</description><item><title>Anatomy of a software factory</title><link>https://milanbuilds.app/log/anatomy-of-a-software-factory/</link><guid>https://milanbuilds.app/log/anatomy-of-a-software-factory/</guid><pubDate>Sun, 25 Oct 2026 00:00:00 GMT</pubDate><description>The agents, the checks between them, and the guardrails that make it safe to leave running.</description></item><item><title>A retrieval eval harness in 200 lines</title><link>https://milanbuilds.app/log/rag-eval-harness-in-200-lines/</link><guid>https://milanbuilds.app/log/rag-eval-harness-in-200-lines/</guid><pubDate>Sun, 25 Oct 2026 00:00:00 GMT</pubDate><description>Three numbers instead of one, a small labelled test set, and a gate that fails CI the day answers get worse.</description></item><item><title>Why your AI automation keeps breaking — and the five fixes</title><link>https://milanbuilds.app/log/why-your-ai-automation-keeps-breaking/</link><guid>https://milanbuilds.app/log/why-your-ai-automation-keeps-breaking/</guid><pubDate>Sun, 25 Oct 2026 00:00:00 GMT</pubDate><description>Most &quot;the bot stopped working&quot; tickets have the same handful of causes. Here they are, with the fix for each.</description></item></channel></rss>