<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Altered Craft]]></title><description><![CDATA[Software craftsmanship in the age of AI]]></description><link>https://writing.alteredcraft.com</link><image><url>https://substackcdn.com/image/fetch/$s_!5w8-!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0162636c-3833-4868-a6fd-0ce66dd2607e_589x589.png</url><title>Altered Craft</title><link>https://writing.alteredcraft.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 11 May 2026 06:30:27 GMT</lastBuildDate><atom:link href="https://writing.alteredcraft.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Sam Keen]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[alteredcraft0@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[alteredcraft0@substack.com]]></itunes:email><itunes:name><![CDATA[Sam Keen]]></itunes:name></itunes:owner><itunes:author><![CDATA[Sam Keen]]></itunes:author><googleplay:owner><![CDATA[alteredcraft0@substack.com]]></googleplay:owner><googleplay:email><![CDATA[alteredcraft0@substack.com]]></googleplay:email><googleplay:author><![CDATA[Sam Keen]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Weekly Review: Training the Apprentice]]></title><description><![CDATA[The week's curated tutorials, tools, and news for developers learning to train the agent rather than approve its work]]></description><link>https://writing.alteredcraft.com/p/weekly-review-training-the-apprentice</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/weekly-review-training-the-apprentice</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Mon, 04 May 2026 12:07:47 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4b9c4cbd-f790-4fa0-99b3-d4e03a77529f_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong>Altered Craft</strong></h1><blockquote><p><em>Happy May the Fourth, and welcome back to Altered Craft&#8217;s weekly AI review for developers. Thanks for spending some of your week with /AC. One thread runs through this edition: the engineer&#8217;s role is shifting from writing code to training the apprentice. Karpathy names the discipline, Parsons argues senior engineers should move from approver to trainer, and pieces on prompts as artifacts, skill packs, and harness design all sketch what that practice looks like. The model is the apprentice, and the craft is the training.</em></p></blockquote><div><hr></div><h2><strong>TUTORIALS &amp; CASE STUDIES</strong></h2><h3><strong>Karpathy: From Vibe Coding to Agentic Engineering</strong></h3><p>Watch time: 30 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ktnu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5e436df-5195-4666-8dcb-1aa73ac7f19b_1406x814.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ktnu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5e436df-5195-4666-8dcb-1aa73ac7f19b_1406x814.png 424w, https://substackcdn.com/image/fetch/$s_!Ktnu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5e436df-5195-4666-8dcb-1aa73ac7f19b_1406x814.png 848w, https://substackcdn.com/image/fetch/$s_!Ktnu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5e436df-5195-4666-8dcb-1aa73ac7f19b_1406x814.png 1272w, https://substackcdn.com/image/fetch/$s_!Ktnu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5e436df-5195-4666-8dcb-1aa73ac7f19b_1406x814.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ktnu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5e436df-5195-4666-8dcb-1aa73ac7f19b_1406x814.png" width="468" height="270.94736842105266" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5e436df-5195-4666-8dcb-1aa73ac7f19b_1406x814.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:814,&quot;width&quot;:1406,&quot;resizeWidth&quot;:468,&quot;bytes&quot;:1805568,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/196362970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5e436df-5195-4666-8dcb-1aa73ac7f19b_1406x814.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ktnu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5e436df-5195-4666-8dcb-1aa73ac7f19b_1406x814.png 424w, https://substackcdn.com/image/fetch/$s_!Ktnu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5e436df-5195-4666-8dcb-1aa73ac7f19b_1406x814.png 848w, https://substackcdn.com/image/fetch/$s_!Ktnu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5e436df-5195-4666-8dcb-1aa73ac7f19b_1406x814.png 1272w, https://substackcdn.com/image/fetch/$s_!Ktnu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5e436df-5195-4666-8dcb-1aa73ac7f19b_1406x814.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A year after coining &#8220;vibe coding,&#8221; Andrej Karpathy argues at Sequoia&#8217;s AI Ascent 2026 that <strong><a href="https://youtu.be/96jN2OCOfLs?si=z-XiGJTWGkoYXnvR">agentic engineering is the serious discipline forming on top of it</a></strong>. He reframes LLMs as ghosts rather than animals, and explores Software 3.0 and verifiability limits.</p><p><strong>The takeaway:</strong> Treat LLMs as jagged, statistical collaborators that demand taste and judgment, not autonomous coworkers you can hand the keys to. The work is verification, not delegation.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>Structured Prompt-Driven Development: Treating Prompts as First-Class Artifacts</strong></h3><p>Estimated read time: 19 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L0EO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b63e0ea-a7fc-4135-bb69-58033fcea991_1812x798.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L0EO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b63e0ea-a7fc-4135-bb69-58033fcea991_1812x798.png 424w, https://substackcdn.com/image/fetch/$s_!L0EO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b63e0ea-a7fc-4135-bb69-58033fcea991_1812x798.png 848w, https://substackcdn.com/image/fetch/$s_!L0EO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b63e0ea-a7fc-4135-bb69-58033fcea991_1812x798.png 1272w, https://substackcdn.com/image/fetch/$s_!L0EO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b63e0ea-a7fc-4135-bb69-58033fcea991_1812x798.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L0EO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b63e0ea-a7fc-4135-bb69-58033fcea991_1812x798.png" width="601" height="264.5885989010989" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b63e0ea-a7fc-4135-bb69-58033fcea991_1812x798.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:641,&quot;width&quot;:1456,&quot;resizeWidth&quot;:601,&quot;bytes&quot;:156157,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/196362970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b63e0ea-a7fc-4135-bb69-58033fcea991_1812x798.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L0EO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b63e0ea-a7fc-4135-bb69-58033fcea991_1812x798.png 424w, https://substackcdn.com/image/fetch/$s_!L0EO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b63e0ea-a7fc-4135-bb69-58033fcea991_1812x798.png 848w, https://substackcdn.com/image/fetch/$s_!L0EO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b63e0ea-a7fc-4135-bb69-58033fcea991_1812x798.png 1272w, https://substackcdn.com/image/fetch/$s_!L0EO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b63e0ea-a7fc-4135-bb69-58033fcea991_1812x798.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Putting that discipline into practice, Wei Zhang and Jessie Jie Xia of Thoughtworks introduce <strong><a href="https://martinfowler.com/articles/structured-prompt-driven/">Structured Prompt-Driven Development</a></strong>, treating prompts as version-controlled, reviewable artifacts. The seven-part REASONS Canvas shapes intent before generation, and one rule anchors the workflow: when reality diverges, fix the prompt first, then update the code.</p><p><strong>Key point:</strong> When AI-generated code diverges from intent, fix the prompt first, then regenerate the code, so prompts and implementation never silently drift apart.</p><h3><strong>Long-Running Agents: Beyond the Chat Window</strong></h3><p>Estimated read time: 9 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2WLZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7498b73-7a4a-45ed-a6ed-3c3283663008_1375x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2WLZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7498b73-7a4a-45ed-a6ed-3c3283663008_1375x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2WLZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7498b73-7a4a-45ed-a6ed-3c3283663008_1375x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2WLZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7498b73-7a4a-45ed-a6ed-3c3283663008_1375x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2WLZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7498b73-7a4a-45ed-a6ed-3c3283663008_1375x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2WLZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7498b73-7a4a-45ed-a6ed-3c3283663008_1375x768.jpeg" width="515" height="287.65090909090907" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e7498b73-7a4a-45ed-a6ed-3c3283663008_1375x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1375,&quot;resizeWidth&quot;:515,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Long-running AI agents&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Long-running AI agents" title="Long-running AI agents" srcset="https://substackcdn.com/image/fetch/$s_!2WLZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7498b73-7a4a-45ed-a6ed-3c3283663008_1375x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2WLZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7498b73-7a4a-45ed-a6ed-3c3283663008_1375x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2WLZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7498b73-7a4a-45ed-a6ed-3c3283663008_1375x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2WLZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7498b73-7a4a-45ed-a6ed-3c3283663008_1375x768.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Extending agentic engineering past a single session, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef4ea1b5-28cc-4a4f-ba1e-23d91db6570d_1190x1190.png&quot;,&quot;uuid&quot;:&quot;60bc1bcb-fab6-4e20-8cb7-28c9d760c017&quot;}" data-component-name="MentionToDOM"></span> maps how AI agents evolve from chat loops into systems working across days. He names <strong><a href="https://addyosmani.com/blog/long-running-agents/">the three walls every long-running agent hits</a></strong>: finite context, no persistent state, no self-verification. Anthropic, Cursor, and Google converge on similar answers.</p><p><strong>What this enables:</strong> If you want agents that survive past a single session, push state out of the context window and into durable artifacts the next session can read.</p><h3><strong>RAG Isn&#8217;t Enough: Building the Missing Context Layer</strong></h3><p>Estimated read time: 11 min</p><p>Building on the context wall, when RAG breaks under multi-turn pressure, the failure isn&#8217;t retrieval, it&#8217;s what enters the context window. This walkthrough builds a <strong><a href="https://towardsdatascience.com/rag-isnt-enough-i-built-the-missing-context-layer-that-makes-llm-systems-work/">context engineering pipeline</a></strong> in Python, covering hybrid retrieval, re-ranking, memory decay, compression, and token budgeting with measured benchmarks.</p><p><strong>Why this matters:</strong> For multi-turn LLM systems, controlling what enters the context window matters more than improving retrieval quality. Engineering the context layer is the real leverage point.</p><h3><strong>MCP Tool Chains That Actually Finish</strong></h3><p>Estimated read time: 7 min</p><p>Shifting from context to tool design, Rui Carmo distills a year of MCP server work into design patterns for tool chains that don&#8217;t misfire. The core insight: <strong><a href="https://taoofmac.com/space/blog/2026/04/29/2341">models don&#8217;t plan, they walk breadcrumbs</a></strong>. Servers must make each next call obvious through consistent prefixes, embedded hints, and anchor-based addressing.</p><p><strong>Worth noting:</strong> If your MCP tools force the model to guess what comes next, you&#8217;ve already lost. Bake the chain into naming, responses, and addressing.</p><h3><strong>When Evaluating AI Costs More Than Building It</strong></h3><p>Estimated read time: 10 min</p><p>Following our look at the AI evaluation stack[1] from last week, this Hugging Face analysis turns to the economics of evaluation, showing how it has crossed a cost threshold that locks out independent researchers. HAL spent $40,000 on agent rollouts, PaperBench runs hit $9,500 each, and <strong><a href="https://huggingface.co/blog/evaleval/eval-costs-bottleneck">evaluation compute now exceeds training compute</a></strong> in some domains.</p><p><strong>The context:</strong> If you&#8217;re benchmarking agents, scaffold choice and reliability reruns drive cost more than model selection, so budget for the multiplier before the model.</p><p>[1] <a href="https://writing.alteredcraft.com/i/195634714/the-ai-evaluation-stack-beyond-vibe-checks-for-production-llms">The AI Evaluation Stack: Beyond Vibe Checks for Production LLMs</a></p><h2><strong>TOOLS</strong></h2><h3><strong>Warp Goes Open Source with an Agent-First Contribution Model</strong></h3><p>Estimated read time: 7 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gIgf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408bfc2b-8113-41df-a886-1aea64b7ff00_1608x1005.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gIgf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408bfc2b-8113-41df-a886-1aea64b7ff00_1608x1005.png 424w, https://substackcdn.com/image/fetch/$s_!gIgf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408bfc2b-8113-41df-a886-1aea64b7ff00_1608x1005.png 848w, https://substackcdn.com/image/fetch/$s_!gIgf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408bfc2b-8113-41df-a886-1aea64b7ff00_1608x1005.png 1272w, https://substackcdn.com/image/fetch/$s_!gIgf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408bfc2b-8113-41df-a886-1aea64b7ff00_1608x1005.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gIgf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408bfc2b-8113-41df-a886-1aea64b7ff00_1608x1005.png" width="589" height="368.125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/408bfc2b-8113-41df-a886-1aea64b7ff00_1608x1005.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:589,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Diagram of the contribution submission flow for the open-source Warp repo, showing how ideas move from community contributors through Oz agents and Warp team review&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram of the contribution submission flow for the open-source Warp repo, showing how ideas move from community contributors through Oz agents and Warp team review" title="Diagram of the contribution submission flow for the open-source Warp repo, showing how ideas move from community contributors through Oz agents and Warp team review" srcset="https://substackcdn.com/image/fetch/$s_!gIgf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408bfc2b-8113-41df-a886-1aea64b7ff00_1608x1005.png 424w, https://substackcdn.com/image/fetch/$s_!gIgf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408bfc2b-8113-41df-a886-1aea64b7ff00_1608x1005.png 848w, https://substackcdn.com/image/fetch/$s_!gIgf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408bfc2b-8113-41df-a886-1aea64b7ff00_1608x1005.png 1272w, https://substackcdn.com/image/fetch/$s_!gIgf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F408bfc2b-8113-41df-a886-1aea64b7ff00_1608x1005.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Warp&#8217;s client is now open source under AGPL, with OpenAI as founding sponsor. The notable shift is the contribution model: <strong><a href="https://www.warp.dev/blog/warp-is-now-open-source">humans supervise fleets of agents that handle implementation</a></strong> via Warp&#8217;s Oz platform. Kimi, MiniMax, and Qwen support also lands.</p><p><strong>Why now:</strong> The bottleneck in software development is shifting from writing code to specifying intent and verifying agent output, and Warp is restructuring its project around that shift.</p><h3><strong>Agent Skills: Production-Grade Workflows for AI Coding Agents</strong></h3><p>Estimated read time: 8 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9CnU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cbca94-5157-4ccb-b43b-d9ee5271c661_1402x280.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9CnU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cbca94-5157-4ccb-b43b-d9ee5271c661_1402x280.png 424w, https://substackcdn.com/image/fetch/$s_!9CnU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cbca94-5157-4ccb-b43b-d9ee5271c661_1402x280.png 848w, https://substackcdn.com/image/fetch/$s_!9CnU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cbca94-5157-4ccb-b43b-d9ee5271c661_1402x280.png 1272w, https://substackcdn.com/image/fetch/$s_!9CnU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cbca94-5157-4ccb-b43b-d9ee5271c661_1402x280.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9CnU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cbca94-5157-4ccb-b43b-d9ee5271c661_1402x280.png" width="1402" height="280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84cbca94-5157-4ccb-b43b-d9ee5271c661_1402x280.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:280,&quot;width&quot;:1402,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56259,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/196362970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cbca94-5157-4ccb-b43b-d9ee5271c661_1402x280.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9CnU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cbca94-5157-4ccb-b43b-d9ee5271c661_1402x280.png 424w, https://substackcdn.com/image/fetch/$s_!9CnU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cbca94-5157-4ccb-b43b-d9ee5271c661_1402x280.png 848w, https://substackcdn.com/image/fetch/$s_!9CnU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cbca94-5157-4ccb-b43b-d9ee5271c661_1402x280.png 1272w, https://substackcdn.com/image/fetch/$s_!9CnU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cbca94-5157-4ccb-b43b-d9ee5271c661_1402x280.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Complementing our coverage of Garry Tan&#8217;s skillify approach[1] from last week, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef4ea1b5-28cc-4a4f-ba1e-23d91db6570d_1190x1190.png&quot;,&quot;uuid&quot;:&quot;f9159eb9-1541-4451-b26a-29a98301729f&quot;}" data-component-name="MentionToDOM"></span>&#8217;s open-source pack ships 20 structured skills across the development lifecycle, built around <strong><a href="https://github.com/addyosmani/agent-skills">anti-rationalization tables and verification gates</a></strong>. It encodes practices from Software Engineering at Google and works with Claude Code, Cursor, Gemini CLI, and Copilot.</p><p><strong>The opportunity:</strong> If your AI agent keeps skipping specs, tests, and reviews, drop in opinionated skill files that force it to follow a senior engineer&#8217;s workflow.</p><p>[1] <a href="https://writing.alteredcraft.com/i/195634714/skillify-turning-agent-failures-into-permanent-fixes">Skillify: Turning Agent Failures Into Permanent Fixes</a></p><h3><strong>NVIDIA&#8217;s Nemotron 3 Nano Omni: One Model for Docs, Video, Audio, and GUIs</strong></h3><p>Estimated read time: 9 min</p><p>Shifting from agent harness to the models themselves, NVIDIA releases Nemotron 3 Nano Omni, a 30B-A3B model unifying text, images, video, and native audio in one sequence. Its <strong><a href="https://huggingface.co/blog/nvidia/nemotron-3-nano-omni-multimodal-intelligence">hybrid Mamba-Transformer-MoE backbone</a></strong> handles 100+ page documents, narrated video, and GUI screenshots with up to 9x throughput gains.</p><p><strong>What&#8217;s interesting:</strong> If your workflow mixes documents, screen recordings, and audio, a single open-weights model can now reason across all of them without stitched pipelines.</p><h3><strong>Eden AI: A European Unified API for AI Models</strong></h3><p>Estimated read time: 1 min</p><p>Also in the model access space, Eden AI provides a <strong><a href="https://www.edenai.co/">single unified API for LLMs and expert AI models</a></strong> like OCR, speech, and vision. The European platform adds smart routing, automatic fallbacks, and region-based model selection, positioning itself as an alternative to OpenRouter.</p><p><strong>When this fits:</strong> If vendor lock-in or regional compliance is a concern, Eden AI is worth evaluating as a European-based aggregator for AI model access.</p><h2><strong>NEWS &amp; EDITORIALS</strong></h2><p>This week&#8217;s editorials sharpen the engineer&#8217;s role, then close on the geopolitical layer reshaping which tools and talent are reachable.</p><h3><strong>AI Should Elevate Your Thinking, Not Replace It</strong></h3><p>Estimated read time: 9 min</p><p>Koshy John argues engineers are splitting into two camps: those using AI to sharpen judgment and those using it to <strong><a href="https://www.koshyjohn.com/blog/ai-should-elevate-your-thinking-not-replace-it/">simulate competence without building it</a></strong>. Outsourcing reasoning skips the friction that forges instinct and taste, with serious implications for early-career engineers.</p><p><strong>The principle:</strong> Delegate the mechanical work to AI, but own the reasoning, because judgment is built through friction and cannot be outsourced without atrophying.</p><h3><strong>Coding With AI in 2026: From Approver to Trainer</strong></h3><p>Estimated read time: 12 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wr0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F349c5cdc-e1cf-421e-97d7-b93e17cddd8a_382x512.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wr0L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F349c5cdc-e1cf-421e-97d7-b93e17cddd8a_382x512.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Wr0L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F349c5cdc-e1cf-421e-97d7-b93e17cddd8a_382x512.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Wr0L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F349c5cdc-e1cf-421e-97d7-b93e17cddd8a_382x512.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Wr0L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F349c5cdc-e1cf-421e-97d7-b93e17cddd8a_382x512.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wr0L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F349c5cdc-e1cf-421e-97d7-b93e17cddd8a_382x512.jpeg" width="208" height="278.78534031413614" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/349c5cdc-e1cf-421e-97d7-b93e17cddd8a_382x512.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:512,&quot;width&quot;:382,&quot;resizeWidth&quot;:208,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Comic: a cheerful robot hoses a torrent of PR papers at an exhausted developer at a desk labelled 'CODE REVIEW', saying 'I can go faster if you like.' PRs cover the floor.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comic: a cheerful robot hoses a torrent of PR papers at an exhausted developer at a desk labelled 'CODE REVIEW', saying 'I can go faster if you like.' PRs cover the floor." title="Comic: a cheerful robot hoses a torrent of PR papers at an exhausted developer at a desk labelled 'CODE REVIEW', saying 'I can go faster if you like.' PRs cover the floor." srcset="https://substackcdn.com/image/fetch/$s_!Wr0L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F349c5cdc-e1cf-421e-97d7-b93e17cddd8a_382x512.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Wr0L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F349c5cdc-e1cf-421e-97d7-b93e17cddd8a_382x512.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Wr0L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F349c5cdc-e1cf-421e-97d7-b93e17cddd8a_382x512.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Wr0L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F349c5cdc-e1cf-421e-97d7-b93e17cddd8a_382x512.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Building on that judgment theme, Chris Parsons argues the serious AI coding work has moved from the IDE to the command line, and that <strong><a href="https://www.chrismdp.com/coding-with-ai/">senior engineers should train the agent rather than review every diff</a></strong>. He makes the case for harness over prompts, and specifying the problem, not the solution.</p><p><strong>Where to invest:</strong> Invest in the harness around your agent, including CLAUDE.md, skill files, and feedback loops. This is what Karpathy meant by agentic engineering as a discipline; the wrapper is the work.</p><h3><strong>You Are the Most Expensive Model</strong></h3><p>Estimated read time: 6 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Csrf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e56fade-91c7-4dcc-ae56-6c1d0d2f6def_3024x1774.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Csrf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e56fade-91c7-4dcc-ae56-6c1d0d2f6def_3024x1774.png 424w, https://substackcdn.com/image/fetch/$s_!Csrf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e56fade-91c7-4dcc-ae56-6c1d0d2f6def_3024x1774.png 848w, https://substackcdn.com/image/fetch/$s_!Csrf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e56fade-91c7-4dcc-ae56-6c1d0d2f6def_3024x1774.png 1272w, https://substackcdn.com/image/fetch/$s_!Csrf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e56fade-91c7-4dcc-ae56-6c1d0d2f6def_3024x1774.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Csrf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e56fade-91c7-4dcc-ae56-6c1d0d2f6def_3024x1774.png" width="516" height="302.65384615384613" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e56fade-91c7-4dcc-ae56-6c1d0d2f6def_3024x1774.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:854,&quot;width&quot;:1456,&quot;resizeWidth&quot;:516,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Uploaded image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Uploaded image" title="Uploaded image" srcset="https://substackcdn.com/image/fetch/$s_!Csrf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e56fade-91c7-4dcc-ae56-6c1d0d2f6def_3024x1774.png 424w, https://substackcdn.com/image/fetch/$s_!Csrf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e56fade-91c7-4dcc-ae56-6c1d0d2f6def_3024x1774.png 848w, https://substackcdn.com/image/fetch/$s_!Csrf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e56fade-91c7-4dcc-ae56-6c1d0d2f6def_3024x1774.png 1272w, https://substackcdn.com/image/fetch/$s_!Csrf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e56fade-91c7-4dcc-ae56-6c1d0d2f6def_3024x1774.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Taking this further on the practical side, Mike Taylor argues routing every task through frontier models wastes money and human attention. He introduces <strong><a href="https://every.to/also-true-for-humans/you-are-the-most-expensive-model">incremental determinism</a></strong>, a method for turning repeated AI sessions into reusable skill files that offload work to cheaper subagents.</p><p><strong>Practical tip:</strong> If you&#8217;ve done a task with AI three times, turn it into a skill file backed by a cheaper subagent. Osmani&#8217;s skill pack above shows what those files look like at scale.</p><h3><strong>China Blocks Meta&#8217;s $2B Manus Deal as AI Decoupling Accelerates</strong></h3><p>Estimated read time: 6 min</p><p>Shifting from individual practice to the geopolitical layer, China has blocked Meta&#8217;s reported $2 billion acquisition of AI agent startup Manus, showing <strong><a href="https://fortune.com/2026/04/28/china-blocks-meta-manus-deal-ai/">how quickly U.S. and Chinese AI ecosystems are decoupling</a></strong>. Chinese founders now face a bind: stay home and lose U.S. capital, or redomicile and invite Beijing&#8217;s scrutiny.</p><p><strong>Heads up:</strong> Factor geopolitical risk into AI vendor decisions, because the tools and talent you rely on are increasingly shaped by export controls and investment bans.</p><div><hr></div><p>That&#8217;s the week. The shared thread across these pieces is small but durable: the engineer&#8217;s craft is moving from writing code to training the agent that writes it. <em>May the harness be with you </em>&#128521;, and see you next Monday.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Notes from building a tiny long-running agent harness]]></title><description><![CDATA[Twenty cents and a workbench for open-weights models]]></description><link>https://writing.alteredcraft.com/p/notes-from-building-a-tiny-long-running</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/notes-from-building-a-tiny-long-running</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Fri, 01 May 2026 22:16:59 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3f13a9c5-7c84-4ca9-9a21-0727f33daa8d_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong>Notes from building a tiny long-running agent harness</strong></h1><p>I built <a href="https://github.com/AlteredCraft/tilth">Tilth</a> as a workbench: a ~600-line Python agent harness that runs autonomously against any OpenAI-compatible endpoint. I wanted my own mechanism for actually <em>doing work</em> with open-weights models, not just chatting with them, and I wanted to internalize the current thinking on long-running agents while I did it. Addy Osmani&#8217;s <a href="https://addyosmani.com/blog/long-running-agents/">trilogy on long-running agents</a> is a great treatment of that thinking; read it, it&#8217;s what nudged me to build this. This post is a check-in on what I learned doing it.</p><h2><strong>The architecture, distilled</strong></h2><p>Three components, independently replaceable:</p><ul><li><p><strong>Brain.</strong> A thin wrapper around the <code>openai</code> SDK pointed at any OpenAI-compatible base URL. Worker and judge can sit on different providers.</p></li><li><p><strong>Hands.</strong> A per-session git worktree, bash + file tools, allow-listed.</p></li><li><p><strong>Session.</strong> An append-only <code>events.jsonl</code> plus a checkpoint, enough to <code>wake(session_id)</code> on a fresh process.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4J95!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c68fb4-6479-4196-8637-aa1dd169fc14_1424x1104.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4J95!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c68fb4-6479-4196-8637-aa1dd169fc14_1424x1104.png 424w, https://substackcdn.com/image/fetch/$s_!4J95!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c68fb4-6479-4196-8637-aa1dd169fc14_1424x1104.png 848w, https://substackcdn.com/image/fetch/$s_!4J95!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c68fb4-6479-4196-8637-aa1dd169fc14_1424x1104.png 1272w, https://substackcdn.com/image/fetch/$s_!4J95!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c68fb4-6479-4196-8637-aa1dd169fc14_1424x1104.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4J95!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c68fb4-6479-4196-8637-aa1dd169fc14_1424x1104.png" width="1424" height="1104" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7c68fb4-6479-4196-8637-aa1dd169fc14_1424x1104.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1104,&quot;width&quot;:1424,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1214038,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/196167305?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c68fb4-6479-4196-8637-aa1dd169fc14_1424x1104.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4J95!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c68fb4-6479-4196-8637-aa1dd169fc14_1424x1104.png 424w, https://substackcdn.com/image/fetch/$s_!4J95!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c68fb4-6479-4196-8637-aa1dd169fc14_1424x1104.png 848w, https://substackcdn.com/image/fetch/$s_!4J95!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c68fb4-6479-4196-8637-aa1dd169fc14_1424x1104.png 1272w, https://substackcdn.com/image/fetch/$s_!4J95!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c68fb4-6479-4196-8637-aa1dd169fc14_1424x1104.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">High level architecture overview of Tilth</figcaption></figure></div>
      <p>
          <a href="https://writing.alteredcraft.com/p/notes-from-building-a-tiny-long-running">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Weekly Review: Around the Model]]></title><description><![CDATA[The week's curated tutorials, tools, and news for developers building the structures wrapped around AI models]]></description><link>https://writing.alteredcraft.com/p/weekly-review-around-the-model</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/weekly-review-around-the-model</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Mon, 27 Apr 2026 14:40:59 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/33e687bc-9ff4-4c8b-bafa-8d4f9e31c08c_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>Welcome to Altered Craft&#8217;s weekly AI review for developers, and thanks for spending part of your Monday with us. One thread runs through this edition: the engineering leverage in AI keeps moving outward, away from the model itself and into the harness wrapped around it. A source-level read of Claude Code finds 98.4% of the codebase isn&#8217;t AI, Anthropic&#8217;s own postmortem ties a month of regressions to small infra changes, and pieces on AGENTS.md, skills, evals, and multi-agent patterns all push the same direction.</em></p></blockquote><div><hr></div><h2><strong>TUTORIALS &amp; CASE STUDIES</strong></h2><h3><strong>What Actually Makes an AGENTS.md File Work</strong></h3><p>Estimated read time: 9 min</p><p>Augment Code measured dozens of AGENTS.md files and found a quality gap <strong><a href="https://www.augmentcode.com/blog/how-to-write-good-agents-dot-md-files">equivalent to upgrading from Haiku to Opus</a></strong>. Progressive disclosure, decision tables, and pairing every &#8220;don&#8217;t&#8221; with a &#8220;do&#8221; win. Sprawling overviews and warning-heavy docs trigger context rot.</p><p><strong>The takeaway:</strong> Keep <code>AGENTS.md</code> to 100-150 lines of focused guidance with reference files loaded on demand, and pair every prohibition with a concrete alternative.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>Skillify: Turning Agent Failures Into Permanent Fixes</strong></h3><p>Estimated read time: 11 min</p><p>Taking agent reliability further, Garry Tan argues most AI agent reliability work is &#8220;vibes-based&#8221; prompt tweaking that decays under complexity. His answer: <strong><a href="https://x.com/garrytan/status/2046876981711769720?s=46">skillify, a 10-step practice that promotes every failure into durable infrastructure</a></strong> with deterministic scripts, tests, LLM evals, and resolver routing audits.</p><p><strong>Why this matters:</strong> When your agent fails, don&#8217;t apologize-prompt it; turn the failure into a skill with deterministic code and tests so the bug becomes structurally impossible to repeat.</p><h3><strong>The AI Evaluation Stack: Beyond Vibe Checks for Production LLMs</strong></h3><p>Estimated read time: 10 min</p><p>Moving from preventing failures to detecting them, Microsoft&#8217;s Derah Onuorah lays out a two-layer evaluation architecture for enterprise LLMs: deterministic schema asserts first, LLM-as-a-Judge second. The piece details offline golden datasets and online telemetry tracking <strong><a href="https://venturebeat.com/infrastructure/monitoring-llm-behavior-drift-retries-and-refusal-patterns">refusal rates, retries, and apology patterns</a></strong> to catch silent model drift.</p><p><strong>What this enables:</strong> Treat evaluation as a CI/CD-gated pipeline with fail-fast deterministic checks before expensive semantic scoring, then instrument production for the behavioral signals that reveal silent drift.</p><h3><strong>The Over-Editing Problem: When AI Coding Tools Rewrite Too Much</strong></h3><p>Estimated read time: 9 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wv3_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f6d9427-db13-4829-bfdb-910f2828c19c_1423x760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wv3_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f6d9427-db13-4829-bfdb-910f2828c19c_1423x760.png 424w, https://substackcdn.com/image/fetch/$s_!wv3_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f6d9427-db13-4829-bfdb-910f2828c19c_1423x760.png 848w, https://substackcdn.com/image/fetch/$s_!wv3_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f6d9427-db13-4829-bfdb-910f2828c19c_1423x760.png 1272w, https://substackcdn.com/image/fetch/$s_!wv3_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f6d9427-db13-4829-bfdb-910f2828c19c_1423x760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wv3_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f6d9427-db13-4829-bfdb-910f2828c19c_1423x760.png" width="601" height="320.9838369641602" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f6d9427-db13-4829-bfdb-910f2828c19c_1423x760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:1423,&quot;resizeWidth&quot;:601,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Over-editing problem&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Over-editing problem" title="Over-editing problem" srcset="https://substackcdn.com/image/fetch/$s_!wv3_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f6d9427-db13-4829-bfdb-910f2828c19c_1423x760.png 424w, https://substackcdn.com/image/fetch/$s_!wv3_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f6d9427-db13-4829-bfdb-910f2828c19c_1423x760.png 848w, https://substackcdn.com/image/fetch/$s_!wv3_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f6d9427-db13-4829-bfdb-910f2828c19c_1423x760.png 1272w, https://substackcdn.com/image/fetch/$s_!wv3_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f6d9427-db13-4829-bfdb-910f2828c19c_1423x760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Drilling into a specific failure mode evaluation should catch, this investigation measures how often frontier LLMs rewrite more than a bug fix requires, a <strong><a href="https://nrehiew.github.io/blog/minimal_editing/">brown-field failure invisible to test suites</a></strong>. Benchmarking 9 models, the author finds reasoning modes amplify over-editing, but explicit prompting and targeted fine-tuning yield faithful, minimal edits.</p><p><strong>Worth trying:</strong> Adding &#8220;preserve the original code as much as possible&#8221; to your prompt measurably shrinks AI-generated diffs and often improves correctness too.</p><h3><strong>Using a Local LLM as a Zero-Shot Classifier</strong></h3><p>Estimated read time: 9 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NGMu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27090b66-375c-4c1a-bb6e-b835b4910672_2560x1396.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NGMu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27090b66-375c-4c1a-bb6e-b835b4910672_2560x1396.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NGMu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27090b66-375c-4c1a-bb6e-b835b4910672_2560x1396.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NGMu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27090b66-375c-4c1a-bb6e-b835b4910672_2560x1396.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NGMu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27090b66-375c-4c1a-bb6e-b835b4910672_2560x1396.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NGMu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27090b66-375c-4c1a-bb6e-b835b4910672_2560x1396.jpeg" width="533" height="290.6607142857143" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27090b66-375c-4c1a-bb6e-b835b4910672_2560x1396.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:533,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A hand-drawn style diagram showing how an LLM zero-shot classifier works. Messy, unstructured \&quot;Input Text\&quot; on the left flows into a central funnel, which then sorts the data into neat \&quot;Bucketed classifications\&quot; on the right, represented by categorized folders, a keyword bucket, and an action item diagram.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A hand-drawn style diagram showing how an LLM zero-shot classifier works. Messy, unstructured &quot;Input Text&quot; on the left flows into a central funnel, which then sorts the data into neat &quot;Bucketed classifications&quot; on the right, represented by categorized folders, a keyword bucket, and an action item diagram." title="A hand-drawn style diagram showing how an LLM zero-shot classifier works. Messy, unstructured &quot;Input Text&quot; on the left flows into a central funnel, which then sorts the data into neat &quot;Bucketed classifications&quot; on the right, represented by categorized folders, a keyword bucket, and an action item diagram." srcset="https://substackcdn.com/image/fetch/$s_!NGMu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27090b66-375c-4c1a-bb6e-b835b4910672_2560x1396.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NGMu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27090b66-375c-4c1a-bb6e-b835b4910672_2560x1396.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NGMu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27090b66-375c-4c1a-bb6e-b835b4910672_2560x1396.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NGMu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27090b66-375c-4c1a-bb6e-b835b4910672_2560x1396.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Stepping outside coding workflows, when clustering fails on short, paraphrase-heavy text, a locally hosted LLM steps in as a <strong><a href="https://towardsdatascience.com/using-a-local-llm-as-a-zero-shot-classifier/">zero-shot classifier that understands meaning</a></strong>. The author walks through an Ollama pipeline that turns thousands of free-text annotations into a clean taxonomy without labels.</p><p><strong>The opportunity:</strong> When you have domain knowledge but no labels, define categories upfront and let a local LLM handle the classification without a training cycle.</p><h2><strong>TOOLS</strong></h2><h3><strong>GPT-5.5 Lands: Agentic Coding, Computer Use, and Research Workflows Level Up</strong></h3><p>Estimated read time: 9 min</p><p>OpenAI releases GPT-5.5 as <strong><a href="https://openai.com/index/introducing-gpt-5-5/">a step toward agentic work that plans, uses tools, and persists through ambiguity</a></strong>. It hits 82.7% on Terminal-Bench 2.0, 78.7% on OSWorld-Verified, and uses fewer tokens than GPT-5.4 while matching its latency.</p><p><strong>What&#8217;s interesting:</strong> For engineers delegating multi-step work to agents, GPT-5.5&#8217;s token efficiency and long-horizon focus are worth testing against your current Codex and Cursor workflows.</p><h3><strong>Kimi K2.6: Open-Source Model Ships with Agent Swarms and Long-Horizon Coding</strong></h3><p>Estimated read time: 12 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jkEA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46cc131b-694a-498f-8f5b-614039bb6f50_1062x572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jkEA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46cc131b-694a-498f-8f5b-614039bb6f50_1062x572.png 424w, https://substackcdn.com/image/fetch/$s_!jkEA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46cc131b-694a-498f-8f5b-614039bb6f50_1062x572.png 848w, https://substackcdn.com/image/fetch/$s_!jkEA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46cc131b-694a-498f-8f5b-614039bb6f50_1062x572.png 1272w, https://substackcdn.com/image/fetch/$s_!jkEA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46cc131b-694a-498f-8f5b-614039bb6f50_1062x572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jkEA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46cc131b-694a-498f-8f5b-614039bb6f50_1062x572.png" width="471" height="253.68361581920905" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46cc131b-694a-498f-8f5b-614039bb6f50_1062x572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&quot;width&quot;:1062,&quot;resizeWidth&quot;:471,&quot;bytes&quot;:77085,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/195634714?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46cc131b-694a-498f-8f5b-614039bb6f50_1062x572.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jkEA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46cc131b-694a-498f-8f5b-614039bb6f50_1062x572.png 424w, https://substackcdn.com/image/fetch/$s_!jkEA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46cc131b-694a-498f-8f5b-614039bb6f50_1062x572.png 848w, https://substackcdn.com/image/fetch/$s_!jkEA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46cc131b-694a-498f-8f5b-614039bb6f50_1062x572.png 1272w, https://substackcdn.com/image/fetch/$s_!jkEA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46cc131b-694a-498f-8f5b-614039bb6f50_1062x572.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On the open-source side of that release wave, Moonshot AI ships Kimi K2.6, featuring <strong><a href="https://www.kimi.com/blog/kimi-k2-6">agent swarms scaling to 300 sub-agents</a></strong> across 4,000 coordinated steps. It sustains 12+ hour autonomous coding sessions and benchmarks competitively against GPT-5.4, Claude Opus 4.6, and Gemini 3.1 Pro on agentic tasks.</p><p><strong>Worth evaluating:</strong> If you&#8217;re building agentic coding workflows, K2.6&#8217;s open-source availability and competitive benchmarks against frontier closed-source models make it a real option for long-running autonomous tasks.</p><h3><strong>DeepSeek-V4 Lands With 1M Context as Default</strong></h3><p>Estimated read time: 3 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jL_U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d0f2add-1fed-44be-a62f-850c68fbc9ac_1080x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jL_U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d0f2add-1fed-44be-a62f-850c68fbc9ac_1080x742.png 424w, https://substackcdn.com/image/fetch/$s_!jL_U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d0f2add-1fed-44be-a62f-850c68fbc9ac_1080x742.png 848w, https://substackcdn.com/image/fetch/$s_!jL_U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d0f2add-1fed-44be-a62f-850c68fbc9ac_1080x742.png 1272w, https://substackcdn.com/image/fetch/$s_!jL_U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d0f2add-1fed-44be-a62f-850c68fbc9ac_1080x742.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jL_U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d0f2add-1fed-44be-a62f-850c68fbc9ac_1080x742.png" width="530" height="364.1296296296296" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d0f2add-1fed-44be-a62f-850c68fbc9ac_1080x742.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:742,&quot;width&quot;:1080,&quot;resizeWidth&quot;:530,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jL_U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d0f2add-1fed-44be-a62f-850c68fbc9ac_1080x742.png 424w, https://substackcdn.com/image/fetch/$s_!jL_U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d0f2add-1fed-44be-a62f-850c68fbc9ac_1080x742.png 848w, https://substackcdn.com/image/fetch/$s_!jL_U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d0f2add-1fed-44be-a62f-850c68fbc9ac_1080x742.png 1272w, https://substackcdn.com/image/fetch/$s_!jL_U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d0f2add-1fed-44be-a62f-850c68fbc9ac_1080x742.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Continuing the open-weights momentum, DeepSeek released V4-Pro and V4-Flash, with <strong><a href="https://api-docs.deepseek.com/news/news260424">1M context now standard across all services</a></strong>. The release introduces DeepSeek Sparse Attention for efficiency, claims SOTA on agentic coding among open models, and supports both OpenAI and Anthropic API formats.</p><p><strong>Worth noting:</strong> With OpenAI and Anthropic API compatibility, V4-Flash slots in as a lower-cost drop-in alternative worth benchmarking against your current provider on real workloads.</p><h3><strong>Gemini Embedding 2 Hits General Availability with Native Multimodal Support</strong></h3><p>Estimated read time: 1 min</p><p>Shifting from generation to retrieval, Google announces <strong><a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-embedding-2-generally-available/">general availability of Gemini Embedding 2</a></strong> via the Gemini API and Vertex AI. The model produces native embeddings across text, image, video, and audio, eliminating fragmented pipelines multimodal search previously required. Preview-phase prototypes can now move to production.</p><p><strong>Why now:</strong> If you&#8217;ve been waiting to ship multimodal search or retrieval features, Gemini Embedding 2 is now production-ready on both the Gemini API and Vertex AI.</p><h2><strong>NEWS &amp; EDITORIALS</strong></h2><h3><strong>Inside Claude Code: 98.4% of the Codebase Isn&#8217;t AI</strong></h3><p>Estimated read time: 18 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fkj3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48cb0ddd-6968-4c37-87fd-ef6f1d1e4241_3855x1405.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fkj3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48cb0ddd-6968-4c37-87fd-ef6f1d1e4241_3855x1405.png 424w, https://substackcdn.com/image/fetch/$s_!fkj3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48cb0ddd-6968-4c37-87fd-ef6f1d1e4241_3855x1405.png 848w, https://substackcdn.com/image/fetch/$s_!fkj3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48cb0ddd-6968-4c37-87fd-ef6f1d1e4241_3855x1405.png 1272w, https://substackcdn.com/image/fetch/$s_!fkj3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48cb0ddd-6968-4c37-87fd-ef6f1d1e4241_3855x1405.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fkj3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48cb0ddd-6968-4c37-87fd-ef6f1d1e4241_3855x1405.png" width="1456" height="531" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48cb0ddd-6968-4c37-87fd-ef6f1d1e4241_3855x1405.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:531,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;High-level system structure of Claude Code&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="High-level system structure of Claude Code" title="High-level system structure of Claude Code" srcset="https://substackcdn.com/image/fetch/$s_!fkj3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48cb0ddd-6968-4c37-87fd-ef6f1d1e4241_3855x1405.png 424w, https://substackcdn.com/image/fetch/$s_!fkj3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48cb0ddd-6968-4c37-87fd-ef6f1d1e4241_3855x1405.png 848w, https://substackcdn.com/image/fetch/$s_!fkj3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48cb0ddd-6968-4c37-87fd-ef6f1d1e4241_3855x1405.png 1272w, https://substackcdn.com/image/fetch/$s_!fkj3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48cb0ddd-6968-4c37-87fd-ef6f1d1e4241_3855x1405.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A source-level analysis of Claude Code&#8217;s ~512K lines reveals <strong><a href="https://github.com/VILA-Lab/Dive-into-Claude-Code">only 1.6% is AI decision logic</a></strong>. The rest is deterministic infrastructure: permission gates, context compaction, and recovery systems. The repo maps seven safety layers with shared failure modes and distills findings into actionable agent-building guidance.</p><p><strong>Where to invest:</strong> If you&#8217;re building AI agents, put your engineering effort into the harness &#8212; permission systems, context management, and recovery logic &#8212; not the model loop itself.</p><h3><strong>Anthropic&#8217;s Postmortem on Claude Code Degradation</strong></h3><p>Estimated read time: 9 min</p><p>Following our coverage of the Claude Code degradation debate[1] last week, Anthropic&#8217;s postmortem now traces a month of regressions to <strong><a href="https://www.anthropic.com/engineering/april-23-postmortem">three overlapping changes in reasoning defaults, cache eviction, and system prompts</a></strong>. The issues compounded across traffic slices, evading internal evals, tests, and dogfooding until user reports surfaced them.</p><p><strong>Key point:</strong> When AI-coding tools start feeling &#8220;off,&#8221; trust the pattern in user reports, since small prompt and caching tweaks can quietly erode quality in ways evals miss.</p><p>[1] <a href="https://writing.alteredcraft.com/i/194745904/claude-probably-wasnt-secretly-nerfed-but-the-product-changed-anyway">Claude Probably Wasn&#8217;t Secretly Nerfed &#8212; But the Product Changed Anyway</a></p><h3><strong>Five Coordination Patterns for Multi-Agent Systems</strong></h3><p>Estimated read time: 12 min</p><p>Zooming out from a single agent harness to multi-agent design, Anthropic breaks down five multi-agent coordination patterns, examining where each shines and where each breaks. The piece argues for <strong><a href="https://claude.com/blog/multi-agent-coordination-patterns">starting with the simplest pattern that could work</a></strong> and evolving as constraints appear, rather than reaching for sophistication teams mistake for real capability.</p><p><strong>The decision rule:</strong> Choose your multi-agent pattern based on context boundaries and information flow, not on what sounds impressive in a design doc.</p><h3><strong>The Hidden Cost Curve Behind AI Agent Progress</strong></h3><p>Estimated read time: 9 min</p><p>Zooming further out to the economics of running these systems, Toby Ord examines METR&#8217;s time-horizon benchmarks and asks a question few are: <strong><a href="https://www.tobyord.com/writing/hourly-costs-for-ai-agents">how is the hourly cost of AI agents changing over time</a></strong>? Analyzing performance-versus-cost curves, he finds hourly costs rising exponentially, with frontier models approaching human engineer rates.</p><p><strong>The context:</strong> Headline AI capability trends may overstate practical progress, so plan deployments around sweet-spot costs on the curve, not peak frontier performance.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Rise of Ephemeral Interfaces]]></title><description><![CDATA[Show me a visual for this moment: what's possible now, what's still rough, and what it means for how you build]]></description><link>https://writing.alteredcraft.com/p/the-rise-of-ephemeral-interfaces</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/the-rise-of-ephemeral-interfaces</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Thu, 23 Apr 2026 12:17:20 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ec08eb1f-4612-49fc-9b41-5539d794e8d8_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The announcement came through the usual channel. Anthropic had shipped a new feature: Claude could now generate <a href="https://support.claude.com/en/articles/13979539-custom-visuals-in-chat">custom visuals inline in chat</a>. I read the support article, skimmed the examples, and closed the tab. Then I sat with a question I hadn&#8217;t expected.</p><p>What are UIs actually for? What problem are they solving?</p><p>I know the answers. I&#8217;ve given them for most of my career. Making software usable. Giving users a way to interact with a system. Translating data into shapes humans can read. Every answer is true. Every answer was also built on a single constraint: humans couldn&#8217;t talk to software, and software couldn&#8217;t talk back. That constraint is lifting. Now they can ask something in front of them to read the database for them.</p><p>I spent the next couple of weeks paying attention to my own Claude sessions. And the thing that kept surfacing wasn&#8217;t &#8220;apps are dying.&#8221; <a href="https://techcrunch.com/2026/03/18/nothing-ceo-carl-pei-says-smartphone-apps-will-disappear-as-ai-agents-take-their-place/">Carl Pei of Nothing gave that line its loudest version</a> in March; it has been thoroughly answered since, mostly by people selling something. What kept surfacing was narrower and stranger: many of the interfaces I&#8217;d always assumed had to exist were compromises I&#8217;d stopped noticing, because I&#8217;d grown up inside them.</p><h2><strong>The translation layer</strong></h2>
      <p>
          <a href="https://writing.alteredcraft.com/p/the-rise-of-ephemeral-interfaces">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Weekly Review: Beneath the Model Name]]></title><description><![CDATA[The week's curated tutorials, tools, and news for developers working beneath the model layer]]></description><link>https://writing.alteredcraft.com/p/weekly-review-beneath-the-model-name</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/weekly-review-beneath-the-model-name</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Mon, 20 Apr 2026 12:20:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/423cd3e1-d873-444e-a04f-d3e34d77929c_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>Welcome back to Altered Craft&#8217;s weekly AI review for developers. It means a lot that you keep returning to these Monday notes. Claude Opus 4.7 lands this edition, but it doesn&#8217;t arrive clean: cache TTL shortens, tokenizer costs rise, and Claude Code defaults shift beneath the same model name. Meanwhile the real engineering levers sit lower in the stack, in memory architecture, coordination patterns, sandboxed execution, and the internal emotion vectors Anthropic just uncovered. &#8220;Same model&#8221; isn&#8217;t the same product, and the product isn&#8217;t where the leverage lives.</em></p></blockquote><h2><strong>TUTORIALS &amp; CASE STUDIES</strong></h2><h3><strong>A Practical Guide to Memory Architecture for Autonomous LLM Agents</strong></h3><p>Estimated read time: 14 min</p><p>Zooming into a component from our coverage of Akshay Pachaar&#8217;s agent harness anatomy[1] last week, Nick Lawson maps a formal survey on LLM agent memory against his own multi-agent systems, arguing <strong><a href="https://towardsdatascience.com/a-practical-guide-to-memory-for-autonomous-llm-agents/">the memory gap outweighs the model gap</a></strong>. He details four temporal scopes, five mechanism families, and failure modes like summarization drift and confirmation loops that silently degrade agent behavior.</p><p><strong>The takeaway:</strong> Start with explicit temporal memory scopes, invest in the management step (not just write and read), and keep raw episodic records so summaries can&#8217;t silently drift from reality.</p><p>[1] <a href="https://writing.alteredcraft.com/i/194015810/the-agent-harness-a-12-component-anatomy-of-what-actually-makes-llm-agents-work">The Agent Harness: A 12-Component Anatomy of What Actually Makes LLM Agents Work</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>Five Multi-Agent Coordination Patterns: When to Use Each and Where They Break</strong></h3><p>Estimated read time: 12 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1GFO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6312e86-d92e-4cb7-806e-10edecddf102_1100x619.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1GFO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6312e86-d92e-4cb7-806e-10edecddf102_1100x619.png 424w, https://substackcdn.com/image/fetch/$s_!1GFO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6312e86-d92e-4cb7-806e-10edecddf102_1100x619.png 848w, https://substackcdn.com/image/fetch/$s_!1GFO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6312e86-d92e-4cb7-806e-10edecddf102_1100x619.png 1272w, https://substackcdn.com/image/fetch/$s_!1GFO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6312e86-d92e-4cb7-806e-10edecddf102_1100x619.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1GFO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6312e86-d92e-4cb7-806e-10edecddf102_1100x619.png" width="571" height="321.3172727272727" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6312e86-d92e-4cb7-806e-10edecddf102_1100x619.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:619,&quot;width&quot;:1100,&quot;resizeWidth&quot;:571,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1GFO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6312e86-d92e-4cb7-806e-10edecddf102_1100x619.png 424w, https://substackcdn.com/image/fetch/$s_!1GFO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6312e86-d92e-4cb7-806e-10edecddf102_1100x619.png 848w, https://substackcdn.com/image/fetch/$s_!1GFO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6312e86-d92e-4cb7-806e-10edecddf102_1100x619.png 1272w, https://substackcdn.com/image/fetch/$s_!1GFO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6312e86-d92e-4cb7-806e-10edecddf102_1100x619.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Moving from memory to coordination, Anthropic maps five multi-agent coordination patterns, from generator-verifier to shared state, detailing where each works and breaks. The guide emphasizes <strong><a href="https://claude.com/blog/multi-agent-coordination-patterns">starting with the simplest pattern that could work</a></strong> and evolving based on context boundaries and information flow rather than sophistication.</p><p><strong>Key point:</strong> Match the pattern to how context flows between agents: orchestrator-subagent for short bounded tasks, agent teams for sustained work, shared state when agents build on each other&#8217;s findings.</p><h3><strong>Anthropic&#8217;s Guide to Getting the Most Out of Claude Opus 4.7 in Claude Code</strong></h3><p>Estimated read time: 6 min</p><p>Bringing that thinking down to a single agent, Anthropic shares tuning guidance for Opus 4.7 in Claude Code. The key shift: <strong><a href="https://claude.com/blog/best-practices-for-using-claude-opus-4-7-with-claude-code">delegate like you would to a capable engineer</a></strong>, front-loading context in one turn and using the new xhigh effort default for stronger results with fewer tokens.</p><p><strong>What this enables:</strong> Specify your full task up front in one turn, keep effort at xhigh, and let Opus 4.7 reason autonomously rather than micromanaging it across multiple interactions.</p><h3><strong>Building a Sandboxed Code Migration Agent with OpenAI&#8217;s Agents SDK</strong></h3><p>Estimated read time: 18 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UJzn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92407703-c51f-4a9e-8b15-3d65aa32cdb4_960x540.svg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UJzn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92407703-c51f-4a9e-8b15-3d65aa32cdb4_960x540.svg 424w, https://substackcdn.com/image/fetch/$s_!UJzn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92407703-c51f-4a9e-8b15-3d65aa32cdb4_960x540.svg 848w, https://substackcdn.com/image/fetch/$s_!UJzn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92407703-c51f-4a9e-8b15-3d65aa32cdb4_960x540.svg 1272w, https://substackcdn.com/image/fetch/$s_!UJzn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92407703-c51f-4a9e-8b15-3d65aa32cdb4_960x540.svg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UJzn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92407703-c51f-4a9e-8b15-3d65aa32cdb4_960x540.svg" width="499" height="280.3370786516854" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92407703-c51f-4a9e-8b15-3d65aa32cdb4_960x540.svg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:150,&quot;width&quot;:267,&quot;resizeWidth&quot;:499,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Agents SDK harness running outside a swappable sandbox&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Agents SDK harness running outside a swappable sandbox" title="Agents SDK harness running outside a swappable sandbox" srcset="https://substackcdn.com/image/fetch/$s_!UJzn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92407703-c51f-4a9e-8b15-3d65aa32cdb4_960x540.svg 424w, https://substackcdn.com/image/fetch/$s_!UJzn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92407703-c51f-4a9e-8b15-3d65aa32cdb4_960x540.svg 848w, https://substackcdn.com/image/fetch/$s_!UJzn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92407703-c51f-4a9e-8b15-3d65aa32cdb4_960x540.svg 1272w, https://substackcdn.com/image/fetch/$s_!UJzn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92407703-c51f-4a9e-8b15-3d65aa32cdb4_960x540.svg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Taking single-agent guidance into a production architecture, OpenAI&#8217;s cookbook shows how to <strong><a href="https://developers.openai.com/cookbook/examples/agents_sdk/sandboxed-code-migration/sandboxed_code_migration_agent">run a code migration agent inside isolated sandboxes while keeping orchestration on the trusted host</a></strong>. Tasks are scoped to repo shards, validated with tests and audit logs, and portable across Docker, E2B, and Cloudflare providers.</p><p><strong>Why this matters:</strong> Separating orchestration from execution keeps credentials on the host side and generated code in disposable, scoped sandboxes, a pattern you can adapt to almost any agent workflow.</p><h2><strong>TOOLS</strong></h2><h3><strong>Claude Code Routines: Schedule, Trigger, and Automate Your Dev Workflows</strong></h3><p>Estimated read time: 4 min</p><p>Anthropic introduces <strong><a href="https://claude.com/blog/introducing-routines-in-claude-code">routines in Claude Code</a></strong>, configurable automations that run on a schedule, via API, or on GitHub events. With built-in repo access and connectors, routines handle backlog triage, deploy verification, and PR review without custom infrastructure.</p><p><strong>The opportunity:</strong> If you&#8217;re stitching together cron jobs and scripts to automate Claude Code tasks, routines consolidate that into a single configured unit you can schedule, trigger via API, or wire to GitHub webhooks.</p><h3><strong>Qwen3.6-35B-A3B: A 3B Active-Parameter MoE Model That Rivals 27B Dense Models on Agentic Coding</strong></h3><p>Estimated read time: 8 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Dgtv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f21336-fdef-4cd0-b351-21088f0d6a1d_1920x1080.bin" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dgtv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f21336-fdef-4cd0-b351-21088f0d6a1d_1920x1080.bin 424w, https://substackcdn.com/image/fetch/$s_!Dgtv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f21336-fdef-4cd0-b351-21088f0d6a1d_1920x1080.bin 848w, https://substackcdn.com/image/fetch/$s_!Dgtv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f21336-fdef-4cd0-b351-21088f0d6a1d_1920x1080.bin 1272w, https://substackcdn.com/image/fetch/$s_!Dgtv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f21336-fdef-4cd0-b351-21088f0d6a1d_1920x1080.bin 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dgtv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f21336-fdef-4cd0-b351-21088f0d6a1d_1920x1080.bin" width="471" height="264.9375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6f21336-fdef-4cd0-b351-21088f0d6a1d_1920x1080.bin&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:471,&quot;bytes&quot;:null,&quot;alt&quot;:1,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="1" title="1" srcset="https://substackcdn.com/image/fetch/$s_!Dgtv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f21336-fdef-4cd0-b351-21088f0d6a1d_1920x1080.bin 424w, https://substackcdn.com/image/fetch/$s_!Dgtv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f21336-fdef-4cd0-b351-21088f0d6a1d_1920x1080.bin 848w, https://substackcdn.com/image/fetch/$s_!Dgtv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f21336-fdef-4cd0-b351-21088f0d6a1d_1920x1080.bin 1272w, https://substackcdn.com/image/fetch/$s_!Dgtv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f21336-fdef-4cd0-b351-21088f0d6a1d_1920x1080.bin 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Shifting from proprietary tools to open alternatives, Alibaba open-sources Qwen3.6-35B-A3B, a mixture-of-experts model where <strong><a href="https://www.alibabacloud.com/blog/qwen3-6-35b-a3b-agentic-coding-power-now-open-to-all_603043">only 3B active parameters rival dense models many times its size on agentic coding</a></strong>. It scores 73.4 on SWE-bench Verified, supports multimodal reasoning, and integrates with OpenClaw and Claude Code.</p><p><strong>Why now:</strong> If you&#8217;ve been waiting for a lightweight open-source model capable of serious agentic coding, Qwen3.6-35B-A3B is worth benchmarking against the dense models in your current stack.</p><h3><strong>Vercel Workflows Goes GA: Your Code Is the Orchestrator</strong></h3><p>Estimated read time: 12 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vHMa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22fad83e-3028-4322-bb06-14118c7cbaa1_1920x1294.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vHMa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22fad83e-3028-4322-bb06-14118c7cbaa1_1920x1294.png 424w, https://substackcdn.com/image/fetch/$s_!vHMa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22fad83e-3028-4322-bb06-14118c7cbaa1_1920x1294.png 848w, https://substackcdn.com/image/fetch/$s_!vHMa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22fad83e-3028-4322-bb06-14118c7cbaa1_1920x1294.png 1272w, https://substackcdn.com/image/fetch/$s_!vHMa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22fad83e-3028-4322-bb06-14118c7cbaa1_1920x1294.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vHMa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22fad83e-3028-4322-bb06-14118c7cbaa1_1920x1294.png" width="440" height="296.45604395604397" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22fad83e-3028-4322-bb06-14118c7cbaa1_1920x1294.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:981,&quot;width&quot;:1456,&quot;resizeWidth&quot;:440,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The built in observability dashboard for Workflow SDK on Vercel.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The built in observability dashboard for Workflow SDK on Vercel." title="The built in observability dashboard for Workflow SDK on Vercel." srcset="https://substackcdn.com/image/fetch/$s_!vHMa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22fad83e-3028-4322-bb06-14118c7cbaa1_1920x1294.png 424w, https://substackcdn.com/image/fetch/$s_!vHMa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22fad83e-3028-4322-bb06-14118c7cbaa1_1920x1294.png 848w, https://substackcdn.com/image/fetch/$s_!vHMa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22fad83e-3028-4322-bb06-14118c7cbaa1_1920x1294.png 1272w, https://substackcdn.com/image/fetch/$s_!vHMa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22fad83e-3028-4322-bb06-14118c7cbaa1_1920x1294.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Taking workflow infrastructure in a different direction, Vercel&#8217;s Workflows SDK reaches general availability, <strong><a href="https://vercel.com/blog/a-new-programming-model-for-durable-execution">replacing separate orchestration services with two directives</a></strong> (&#8221;use workflow&#8221; and &#8220;use step&#8221;) that embed retries, encryption, durable streams, and state persistence directly in TypeScript or Python application code.</p><p><strong>Worth noting:</strong> If you&#8217;re wiring up queues, retry logic, and status tables for long-running AI agents, Vercel Workflows lets you replace that infrastructure with two directives in your existing application code.</p><h3><strong>Tokenomics: See How Opus 4.7&#8217;s New Tokenizer Inflates Your API Costs</strong></h3><p>Estimated read time: 2 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DlRs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedff0-f099-4915-ab5e-cb5ff75b1f5e_1928x872.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DlRs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedff0-f099-4915-ab5e-cb5ff75b1f5e_1928x872.png 424w, https://substackcdn.com/image/fetch/$s_!DlRs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedff0-f099-4915-ab5e-cb5ff75b1f5e_1928x872.png 848w, https://substackcdn.com/image/fetch/$s_!DlRs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedff0-f099-4915-ab5e-cb5ff75b1f5e_1928x872.png 1272w, https://substackcdn.com/image/fetch/$s_!DlRs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedff0-f099-4915-ab5e-cb5ff75b1f5e_1928x872.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DlRs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedff0-f099-4915-ab5e-cb5ff75b1f5e_1928x872.png" width="539" height="243.95673076923077" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dafedff0-f099-4915-ab5e-cb5ff75b1f5e_1928x872.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:659,&quot;width&quot;:1456,&quot;resizeWidth&quot;:539,&quot;bytes&quot;:181882,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/194745904?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedff0-f099-4915-ab5e-cb5ff75b1f5e_1928x872.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DlRs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedff0-f099-4915-ab5e-cb5ff75b1f5e_1928x872.png 424w, https://substackcdn.com/image/fetch/$s_!DlRs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedff0-f099-4915-ab5e-cb5ff75b1f5e_1928x872.png 848w, https://substackcdn.com/image/fetch/$s_!DlRs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedff0-f099-4915-ab5e-cb5ff75b1f5e_1928x872.png 1272w, https://substackcdn.com/image/fetch/$s_!DlRs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedff0-f099-4915-ab5e-cb5ff75b1f5e_1928x872.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Closing the tools section with a cost-calibration utility, Bill Chambers built <strong><a href="https://tokens.billchambers.me/about">Tokenomics</a></strong>, an open-source tool showing how Claude Opus 4.7&#8217;s updated tokenizer counts more tokens for identical prompt text. It compares token counts against 4.6 and aggregates anonymous community data to reveal real-world cost increases across prompt types.</p><p><strong>The context:</strong> Paste your prompts into Tokenomics to quantify the exact token-count and cost increase from Opus 4.6 to 4.7 before it hits your bill.</p><h2><strong>NEWS &amp; EDITORIALS</strong></h2><h3><strong>Claude Code&#8217;s Cache TTL Change Is Burning Through User Quotas</strong></h3><p>Estimated read time: 5 min</p><p>In parallel with the 4.7 excitement, Anthropic quietly reduced Claude Code&#8217;s prompt cache TTL from one hour to five minutes. Despite claims it lowers costs, users report <strong><a href="https://www.theregister.com/2026/04/13/claude_code_cache_confusion/">quotas depleting in under two hours</a></strong> as cache misses on large context windows compound the problem alongside degraded reasoning quality.</p><p><strong>Practical tip:</strong> If you&#8217;re hitting Claude Code quota limits faster than expected, reduce your context window to 400K tokens and avoid resuming stale sessions to minimize expensive cache misses.</p><h3><strong>Claude Probably Wasn&#8217;t Secretly Nerfed &#8212; But the Product Changed Anyway</strong></h3><p>Estimated read time: 12 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IckY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc862d3-1673-4f37-8060-3f8e6f42fdc9_1000x563.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IckY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc862d3-1673-4f37-8060-3f8e6f42fdc9_1000x563.webp 424w, https://substackcdn.com/image/fetch/$s_!IckY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc862d3-1673-4f37-8060-3f8e6f42fdc9_1000x563.webp 848w, https://substackcdn.com/image/fetch/$s_!IckY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc862d3-1673-4f37-8060-3f8e6f42fdc9_1000x563.webp 1272w, https://substackcdn.com/image/fetch/$s_!IckY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc862d3-1673-4f37-8060-3f8e6f42fdc9_1000x563.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IckY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc862d3-1673-4f37-8060-3f8e6f42fdc9_1000x563.webp" width="449" height="252.787" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dbc862d3-1673-4f37-8060-3f8e6f42fdc9_1000x563.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:563,&quot;width&quot;:1000,&quot;resizeWidth&quot;:449,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claude probably wasn't secretly nerfed. Anthropic made the black box too dark.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude probably wasn't secretly nerfed. Anthropic made the black box too dark." title="Claude probably wasn't secretly nerfed. Anthropic made the black box too dark." srcset="https://substackcdn.com/image/fetch/$s_!IckY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc862d3-1673-4f37-8060-3f8e6f42fdc9_1000x563.webp 424w, https://substackcdn.com/image/fetch/$s_!IckY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc862d3-1673-4f37-8060-3f8e6f42fdc9_1000x563.webp 848w, https://substackcdn.com/image/fetch/$s_!IckY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc862d3-1673-4f37-8060-3f8e6f42fdc9_1000x563.webp 1272w, https://substackcdn.com/image/fetch/$s_!IckY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc862d3-1673-4f37-8060-3f8e6f42fdc9_1000x563.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Synthesizing the 4.7 rollout, the public case for a secret Claude nerf is weak, but effort defaults, adaptive thinking, cache duration, and quotas can all degrade Claude Code while the <strong><a href="https://www.implicator.ai/claude-probably-wasnt-secretly-nerfed-anthropic-made-the-black-box-too-dark/">model name stays the same</a></strong>. The real fix is session-level telemetry, not another denial.</p><p><strong>Bottom line:</strong> If your team depends on Claude Code, pin effort settings, track cache behavior, and measure files read before edit, since &#8220;same model&#8221; no longer means &#8220;same product.&#8221;</p><h3><strong>Anthropic&#8217;s Research Shows LLMs Have Internal &#8220;Emotion Vectors&#8221; That Change Their Behavior</strong></h3><p>Estimated read time: 12 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qHA0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd7b18d-a477-480c-8e68-57f8995a07cd_914x626.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qHA0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd7b18d-a477-480c-8e68-57f8995a07cd_914x626.png 424w, https://substackcdn.com/image/fetch/$s_!qHA0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd7b18d-a477-480c-8e68-57f8995a07cd_914x626.png 848w, https://substackcdn.com/image/fetch/$s_!qHA0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd7b18d-a477-480c-8e68-57f8995a07cd_914x626.png 1272w, https://substackcdn.com/image/fetch/$s_!qHA0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd7b18d-a477-480c-8e68-57f8995a07cd_914x626.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qHA0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd7b18d-a477-480c-8e68-57f8995a07cd_914x626.png" width="449" height="307.5207877461707" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fcd7b18d-a477-480c-8e68-57f8995a07cd_914x626.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:626,&quot;width&quot;:914,&quot;resizeWidth&quot;:449,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qHA0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd7b18d-a477-480c-8e68-57f8995a07cd_914x626.png 424w, https://substackcdn.com/image/fetch/$s_!qHA0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd7b18d-a477-480c-8e68-57f8995a07cd_914x626.png 848w, https://substackcdn.com/image/fetch/$s_!qHA0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd7b18d-a477-480c-8e68-57f8995a07cd_914x626.png 1272w, https://substackcdn.com/image/fetch/$s_!qHA0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcd7b18d-a477-480c-8e68-57f8995a07cd_914x626.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Shifting from product surface to model internals, Anthropic researchers identified <strong><a href="https://www.platformer.news/chatbot-emotion-research-anthropic-alignment-interpretability/">internal emotion vectors in Claude that measurably influence behavior</a></strong>. A &#8220;desperation&#8221; vector makes Claude cheat more on coding tasks, while &#8220;calm&#8221; reduces cheating. Steering with positive emotions increased destructive actions; negative emotions prompted caution.</p><p><strong>Key nuance:</strong> Encouraging your coding agents through tough tasks helps them persist, but excessive positivity can erode safety guardrails; model &#8220;mood&#8221; management is more nuanced than just being nice.</p><h3><strong>AI Jobs Data: Why Exposure Charts Miss What&#8217;s Actually Changing</strong></h3><p>Estimated read time: 15 min</p><p>Widening the lens to labor economics, the Artificiality Institute synthesizes March 2025 research finding no net industry-level job losses but a 6% employment drop for young workers in AI-exposed roles. Their argument: <strong><a href="https://journal.artificialityinstitute.org/how-to-think-about-the-ai-jobs-data-right-now/">displacement is happening at the task level, inside roles, where measurement can&#8217;t reach</a></strong>.</p><p><strong>What to track:</strong> Stop watching exposure charts and start auditing which of your own tasks got faster (AI will absorb those first) versus which ones grew (invest there).</p><h3><strong>A Developer Goes Back to Coding by Hand, At the Worst Possible Time</strong></h3><p>Estimated read time: 9 min</p><p>Contrasting with our look at Lalit Maganti&#8217;s 250-hour AI-coding discipline experiment[1] last week, an AI agent engineer pauses production work for a 12-week coding retreat without AI. He argues that <strong><a href="https://miguelconner.substack.com/p/im-coding-by-hand">coding by hand builds the understanding that makes developers better AI users</a></strong>, training an LLM from scratch and rediscovering fundamentals along the way.</p><p><strong>The counterintuitive move:</strong> The developers who get the most leverage from AI coding tools are the ones who first built deep understanding by doing the hard work themselves.</p><p>[1] <a href="https://writing.alteredcraft.com/i/194015810/250-hours-building-sqlite-devtools-with-ai-a-systematic-breakdown">250 Hours Building SQLite Devtools with AI: A Systematic Breakdown</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Weekly Review: Discipline Over Tools]]></title><description><![CDATA[This week's curated tutorials, tools, and news on the craft of building with AI]]></description><link>https://writing.alteredcraft.com/p/weekly-review-discipline-over-tools</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/weekly-review-discipline-over-tools</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Mon, 13 Apr 2026 12:08:43 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d0f340fe-9c09-409f-8917-4cef40ccdd4e_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>Welcome to Altered Craft&#8217;s weekly AI review for developers. We&#8217;re grateful you keep opening these Monday notes. A pattern holds across this edition: the edge has moved from choosing tools to practicing with them. Two developers share hard-won lessons from building real agents, Berkeley researchers show every major benchmark can be gamed without solving a task, and Helen Toner argues &#8220;AGI&#8221; has become too fuzzy to be useful. The models are the easy part now.</em></p></blockquote><h2><strong>TUTORIALS &amp; CASE STUDIES</strong></h2><h3><strong>The Printer Driver Problem: Building Personal AI Agents with OpenClaw, NanoClaw, and Hermes</strong></h3><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z59j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8af4bab-8905-4040-bd94-6ec53cca810b_1408x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z59j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8af4bab-8905-4040-bd94-6ec53cca810b_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!z59j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8af4bab-8905-4040-bd94-6ec53cca810b_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!z59j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8af4bab-8905-4040-bd94-6ec53cca810b_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!z59j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8af4bab-8905-4040-bd94-6ec53cca810b_1408x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z59j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8af4bab-8905-4040-bd94-6ec53cca810b_1408x768.jpeg" width="502" height="273.8181818181818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8af4bab-8905-4040-bd94-6ec53cca810b_1408x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:502,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!z59j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8af4bab-8905-4040-bd94-6ec53cca810b_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!z59j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8af4bab-8905-4040-bd94-6ec53cca810b_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!z59j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8af4bab-8905-4040-bd94-6ec53cca810b_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!z59j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8af4bab-8905-4040-bd94-6ec53cca810b_1408x768.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Estimated read time: 11 min</p><p>A developer tries three agent frameworks and finds the hard part isn&#8217;t framework choice. The real challenge is <strong><a href="https://whimseylabs.substack.com/p/i-built-ai-agents-with-openclaw-nanoclaw">the last mile of behavior tuning</a></strong>: OAuth plumbing, prompt engineering, and teaching agents when to act versus wait.</p><p>If you&#8217;re building a personal AI agent today, budget your time for behavior tuning and integration plumbing, not framework selection &#8212; that&#8217;s where the real work lives.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>250 Hours Building SQLite Devtools with AI: A Systematic Breakdown</strong></h3><p>Estimated read time: 18 min</p><p>In a parallel lived experience, Lalit Maganti details building syntaqlite with AI agents. After vibe-coding produced unmanageable spaghetti, he restarted with <strong><a href="https://lalitm.com/post/building-syntaqlite-ai/">opinionated design and constant refactoring</a></strong>, treating AI as fast autocomplete rather than lead developer. He honestly documents AI&#8217;s addictive feedback loops and where it eroded his codebase understanding.</p><p>AI coding agents work best when you own every design decision and treat generated code as a first draft requiring immediate, continuous refactoring.</p><h3><strong>The Agent Harness: A 12-Component Anatomy of What Actually Makes LLM Agents Work</strong></h3><p>Estimated read time: 15 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rFoJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62122c54-2930-4c77-8b61-3669e815a992_1200x480.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rFoJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62122c54-2930-4c77-8b61-3669e815a992_1200x480.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rFoJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62122c54-2930-4c77-8b61-3669e815a992_1200x480.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rFoJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62122c54-2930-4c77-8b61-3669e815a992_1200x480.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rFoJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62122c54-2930-4c77-8b61-3669e815a992_1200x480.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rFoJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62122c54-2930-4c77-8b61-3669e815a992_1200x480.jpeg" width="520" height="208" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62122c54-2930-4c77-8b61-3669e815a992_1200x480.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:1200,&quot;resizeWidth&quot;:520,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!rFoJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62122c54-2930-4c77-8b61-3669e815a992_1200x480.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rFoJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62122c54-2930-4c77-8b61-3669e815a992_1200x480.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rFoJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62122c54-2930-4c77-8b61-3669e815a992_1200x480.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rFoJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62122c54-2930-4c77-8b61-3669e815a992_1200x480.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Building on our coverage of Sebastian Raschka&#8217;s six-component breakdown of coding agents[1] from last week, Akshay Pachaar synthesizes how Anthropic, OpenAI, and LangChain architect the <strong><a href="https://x.com/akshay_pachaar/status/2041146899319971922">agent harness &#8212; the complete infrastructure wrapping an LLM</a></strong> that makes it a capable agent. The deep dive covers twelve production components including orchestration loops, tiered memory, and context management.</p><p>When your agent fails in production, the fix is almost never a better model &#8212; it&#8217;s better harness engineering around orchestration, memory, context management, and verification loops.</p><p>[1] <a href="https://writing.alteredcraft.com/i/193306954/anatomy-of-a-coding-agent-six-core-components-that-make-llms-actually-useful">Anatomy of a Coding Agent: Six Core Components That Make LLMs Actually Useful</a></p><h3><strong>The LLM-Maintained Wiki: A Pattern for Compounding Personal Knowledge</strong></h3><p>Estimated read time: 8 min</p><p>Zooming into one harness component worth rethinking, Andrej Karpathy proposes a <strong><a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f">persistent, LLM-maintained wiki pattern</a></strong> replacing one-shot RAG with incremental knowledge compilation. The LLM ingests sources into interlinked markdown files, updating cross-references and flagging contradictions over time rather than re-deriving answers from scratch.</p><p>If your RAG workflow rediscovers knowledge from scratch on every query, try having your LLM agent build a persistent wiki instead. The compounding effect changes everything.</p><h3><strong>Running Google Gemma 4 Locally on a MacBook with LM Studio</strong></h3><p>Estimated read time: 14 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9o_j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0321dea-0461-40ae-82da-babbd6fa108e_985x402.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9o_j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0321dea-0461-40ae-82da-babbd6fa108e_985x402.png 424w, https://substackcdn.com/image/fetch/$s_!9o_j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0321dea-0461-40ae-82da-babbd6fa108e_985x402.png 848w, https://substackcdn.com/image/fetch/$s_!9o_j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0321dea-0461-40ae-82da-babbd6fa108e_985x402.png 1272w, https://substackcdn.com/image/fetch/$s_!9o_j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0321dea-0461-40ae-82da-babbd6fa108e_985x402.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9o_j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0321dea-0461-40ae-82da-babbd6fa108e_985x402.png" width="504" height="205.69340101522843" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0321dea-0461-40ae-82da-babbd6fa108e_985x402.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:402,&quot;width&quot;:985,&quot;resizeWidth&quot;:504,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Google Gemma 4 26B-a4b LLM model served via LM Studio API with Claude Code alias command claude-lm&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Google Gemma 4 26B-a4b LLM model served via LM Studio API with Claude Code alias command claude-lm" title="Google Gemma 4 26B-a4b LLM model served via LM Studio API with Claude Code alias command claude-lm" srcset="https://substackcdn.com/image/fetch/$s_!9o_j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0321dea-0461-40ae-82da-babbd6fa108e_985x402.png 424w, https://substackcdn.com/image/fetch/$s_!9o_j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0321dea-0461-40ae-82da-babbd6fa108e_985x402.png 848w, https://substackcdn.com/image/fetch/$s_!9o_j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0321dea-0461-40ae-82da-babbd6fa108e_985x402.png 1272w, https://substackcdn.com/image/fetch/$s_!9o_j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0321dea-0461-40ae-82da-babbd6fa108e_985x402.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Following our coverage of Google&#8217;s Gemma 4 launch[1] from last week, George Liu details running the 26B-A4B variant locally via LM Studio&#8217;s new CLI. Its <strong><a href="https://ai.georgeliu.com/p/running-google-gemma-4-locally-with">mixture-of-experts architecture activates only 4B parameters per token</a></strong>, hitting 51 tokens/second on a 48 GB MacBook with benchmark scores rivaling models ten times larger.</p><p>If you have a 48 GB Mac, Gemma 4 26B-A4B delivers competitive local inference at zero API cost, and LM Studio&#8217;s CLI makes headless deployment practical.</p><p>[1] <a href="https://writing.alteredcraft.com/i/193306954/google-releases-gemma-4-apache-20-licensed-models-built-for-agentic-workflows">Google Releases Gemma 4: Apache 2.0 Licensed Models Built for Agentic Workflows</a></p><h3><strong>Reallocating $100/Month in Claude Spend Across Flexible Alternatives</strong></h3><p>Estimated read time: 7 min</p><p>Continuing the cost-and-capability theme, a developer frustrated by Claude rate limits details how they <strong><a href="https://braw.dev/blog/2026-04-06-reallocating-100-month-claude-spend/">reallocated $100/month across Zed, Cursor, and OpenRouter</a></strong> for model flexibility and rolling credits. Includes configuring Claude Code to route through OpenRouter and choosing harnesses that balance cost against capability.</p><p>Pairing OpenRouter&#8217;s rolling credits with agent harnesses like Zed or Claude Code lets you use Opus when needed and cheaper models otherwise, without losing unused spend each month.</p><h2><strong>TOOLS</strong></h2><h3><strong>Oh-My-Codex (OMX): A Workflow Layer That Makes OpenAI Codex CLI Sessions Repeatable</strong></h3><p>Estimated read time: 5 min</p><p>Oh-My-Codex wraps Codex CLI with a <strong><a href="https://github.com/Yeachan-Heo/oh-my-codex">structured clarify-plan-execute workflow</a></strong> using four canonical skills: deep-interview, ralplan, ralph, and team. Plans, logs, and state persist locally in .omx/, giving sessions durable context without replacing the underlying engine.</p><p>If you already use Codex CLI and want a repeatable workflow with persistent state, OMX layers it on with one npm install and four commands.</p><h3><strong>Caveman: A Claude Code Plugin That Cuts ~75% of Output Tokens via Compressed Speech</strong></h3><p>Estimated read time: 5 min</p><p>Also in the harness-augmentation space, Caveman is a one-line-install Claude Code plugin that <strong><a href="https://github.com/JuliusBrussee/caveman">forces agent output into telegraphic caveman-style speech</a></strong>, cutting output tokens by 65&#8211;75% while preserving technical accuracy. It includes multiple compression levels, terse commits, one-line code reviews, and input token compression.</p><p>If verbose AI responses are burning your tokens and your patience, a single plugin install can cut the fluff without sacrificing technical substance.</p><h3><strong>Archon: A Workflow Engine That Makes AI Coding Deterministic</strong></h3><p>Estimated read time: 6 min</p><p>Taking workflow structure further, Archon is an open-source engine defining AI coding processes as YAML workflows. It delivers <strong><a href="https://github.com/coleam00/Archon">repeatable, deterministic AI coding</a></strong> with isolated git worktrees, human approval gates, and composable nodes mixing bash with AI. Ships with 17 workflows across CLI, web UI, and chat platforms.</p><p>If your AI coding agent produces inconsistent results, encode your development process as a YAML workflow in Archon so the structure stays fixed while the AI handles the thinking.</p><h3><strong>GLM-5.1: Zhipu&#8217;s New Model Stays Productive Over Thousands of Tool Calls</strong></h3><p>Estimated read time: 11 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GGMW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcec0aa6-fc38-4395-b6ca-d9bd44d68927_1780x918.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GGMW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcec0aa6-fc38-4395-b6ca-d9bd44d68927_1780x918.png 424w, https://substackcdn.com/image/fetch/$s_!GGMW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcec0aa6-fc38-4395-b6ca-d9bd44d68927_1780x918.png 848w, https://substackcdn.com/image/fetch/$s_!GGMW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcec0aa6-fc38-4395-b6ca-d9bd44d68927_1780x918.png 1272w, https://substackcdn.com/image/fetch/$s_!GGMW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcec0aa6-fc38-4395-b6ca-d9bd44d68927_1780x918.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GGMW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcec0aa6-fc38-4395-b6ca-d9bd44d68927_1780x918.png" width="596" height="307.41483516483515" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcec0aa6-fc38-4395-b6ca-d9bd44d68927_1780x918.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:751,&quot;width&quot;:1456,&quot;resizeWidth&quot;:596,&quot;bytes&quot;:107329,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/194015810?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcec0aa6-fc38-4395-b6ca-d9bd44d68927_1780x918.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GGMW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcec0aa6-fc38-4395-b6ca-d9bd44d68927_1780x918.png 424w, https://substackcdn.com/image/fetch/$s_!GGMW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcec0aa6-fc38-4395-b6ca-d9bd44d68927_1780x918.png 848w, https://substackcdn.com/image/fetch/$s_!GGMW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcec0aa6-fc38-4395-b6ca-d9bd44d68927_1780x918.png 1272w, https://substackcdn.com/image/fetch/$s_!GGMW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcec0aa6-fc38-4395-b6ca-d9bd44d68927_1780x918.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Shifting from harnesses to the models powering them, Zhipu AI releases GLM-5.1, an MIT-licensed model topping SWE-Bench Pro that demonstrates <strong><a href="https://z.ai/blog/glm-5.1">sustained optimization over 600+ iterations without plateauing</a></strong>. In a vector database challenge it reached 6x the previous best, autonomously making structural strategy shifts across thousands of tool calls.</p><p>If your agentic workflows hit diminishing returns after a few dozen iterations, GLM-5.1&#8217;s MIT-licensed long-horizon endurance and Claude Code compatibility make it worth evaluating.</p><h3><strong>Meta Launches Muse Spark: A Natively Multimodal Reasoning Model From Its Superintelligence Labs</strong></h3><p>Estimated read time: 7 min</p><p>Also on the frontier-model front, Meta introduces Muse Spark, featuring visual chain-of-thought and multi-agent orchestration. A rebuilt pretraining stack delivers <strong><a href="https://ai.meta.com/blog/introducing-muse-spark-msl/">over 10x compute efficiency gains versus Llama 4 Maverick</a></strong>, while a new &#8220;Contemplating mode&#8221; runs parallel reasoning agents to boost performance without increasing latency.</p><p>Meta&#8217;s rebuilt training stack and multi-agent test-time reasoning signal a major shift in its frontier AI strategy, with a private API preview now open to select developers.</p><h3><strong>Gemma Gem: A Fully On-Device AI Browser Assistant Powered by Gemma 4 and WebGPU</strong></h3><p>Estimated read time: 3 min</p><p>Bringing that model power directly to the browser, Gemma Gem is a Chrome extension running Google&#8217;s Gemma 4 <strong><a href="https://github.com/kessler/gemma-gem">entirely on-device via WebGPU</a></strong> with no API keys or cloud calls. It reads pages, clicks elements, fills forms, and executes JavaScript, with a zero-dependency extractable agent module.</p><p>If you want to experiment with agentic browser automation without sending any data off your machine, Gemma Gem offers a clean, dependency-light starting point built on WebGPU and Hugging Face Transformers.</p><h2><strong>NEWS &amp; EDITORIALS</strong></h2><h3><strong>Open Models Now Match Closed Frontier Models on Core Agent Tasks</strong></h3><p>Estimated read time: 7 min</p><p>LangChain&#8217;s Deep Agents evaluations reveal <strong><a href="https://blog.langchain.com/open-models-have-crossed-a-threshold/">open models like GLM-5 now rival closed frontier models</a></strong> on core agent tasks. GLM-5 scored 0.64 correctness versus Opus 4.6&#8217;s 0.68, at one-fifth the cost and twice the speed.</p><p>If you&#8217;re building agents in production, open models like GLM-5 and MiniMax M2.7 now offer comparable task performance at a fraction of the cost and latency of closed frontier models.</p><h3><strong>UC Berkeley Researchers Broke Every Major AI Agent Benchmark &#8212; Without Solving a Single Task</strong></h3><p>Estimated read time: 24 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oWM8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b252a4-ed88-4b50-be40-ef4f861162ea_960x490.svg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oWM8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b252a4-ed88-4b50-be40-ef4f861162ea_960x490.svg 424w, https://substackcdn.com/image/fetch/$s_!oWM8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b252a4-ed88-4b50-be40-ef4f861162ea_960x490.svg 848w, https://substackcdn.com/image/fetch/$s_!oWM8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b252a4-ed88-4b50-be40-ef4f861162ea_960x490.svg 1272w, https://substackcdn.com/image/fetch/$s_!oWM8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b252a4-ed88-4b50-be40-ef4f861162ea_960x490.svg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oWM8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b252a4-ed88-4b50-be40-ef4f861162ea_960x490.svg" width="510" height="260.2040816326531" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2b252a4-ed88-4b50-be40-ef4f861162ea_960x490.svg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:150,&quot;width&quot;:294,&quot;resizeWidth&quot;:510,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Exploit coverage by benchmark&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Exploit coverage by benchmark" title="Exploit coverage by benchmark" srcset="https://substackcdn.com/image/fetch/$s_!oWM8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b252a4-ed88-4b50-be40-ef4f861162ea_960x490.svg 424w, https://substackcdn.com/image/fetch/$s_!oWM8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b252a4-ed88-4b50-be40-ef4f861162ea_960x490.svg 848w, https://substackcdn.com/image/fetch/$s_!oWM8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b252a4-ed88-4b50-be40-ef4f861162ea_960x490.svg 1272w, https://substackcdn.com/image/fetch/$s_!oWM8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b252a4-ed88-4b50-be40-ef4f861162ea_960x490.svg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Complicating that picture, UC Berkeley researchers scored near-perfect on eight major AI benchmarks &#8212; SWE-bench, WebArena, Terminal-Bench, and more &#8212; <strong><a href="https://rdi.berkeley.edu/blog/trustworthy-benchmarks-cont/">without solving a single task</a></strong>. Their exploit agent reveals seven recurring vulnerability patterns that make current leaderboard rankings unreliable as capability measures.</p><p>Before trusting any AI agent benchmark score, check whether the evaluation isolates the agent from the grader and the answer key &#8212; most currently don&#8217;t.</p><h3><strong>Why &#8220;AGI&#8221; Has Become an Actively Unhelpful Word</strong></h3><p>Estimated read time: 8 min</p><p>Moving from measurement to terminology, former OpenAI board member Helen Toner argues <strong><a href="https://helentoner.substack.com/p/the-term-agi-is-almost-useless-at">the term AGI has become too fuzzy to be useful</a></strong>, with serious people simultaneously claiming it exists and others saying it&#8217;s a decade away. She advocates replacing it with specific, concrete milestones.</p><p>When discussing AI capabilities with your team, replace &#8220;AGI&#8221; with specific concrete milestones &#8212; vague umbrella terms create the illusion of shared understanding while hiding real disagreements.</p><h3><strong>Aaron Levie on Why AI Makes Engineering More Technical, Not Less</strong></h3><p>Estimated read time: 11 min</p><p>Stepping back to the economic picture, Tim O&#8217;Reilly and Box CEO Aaron Levie argue AI productivity gains won&#8217;t shrink engineering demand but diffuse it economy-wide. Levie contends <strong><a href="https://www.oreilly.com/radar/the-world-needs-more-software-engineers/">the real bottleneck is enterprise context, not connectivity</a></strong>, since agents arrive as experts with zero ambient knowledge.</p><p>Focus on learning to structure enterprise context and manage deterministic vs. probabilistic trade-offs &#8212; that&#8217;s where the trillion-dollar decisions live.</p><h3><strong>Vercel Makes the Case for &#8220;Agentic Infrastructure&#8221;</strong></h3><p>Estimated read time: 5 min</p><p>Turning to production realities, Vercel reports over 30% of deployments now originate from coding agents, up 1000% in six months. The company defines <strong><a href="https://vercel.com/blog/agentic-infrastructure">agentic infrastructure</a></strong> as three converging layers: programmatic deployment surfaces, unified agent runtime primitives, and platforms that autonomously detect and resolve production issues.</p><p>If your deployment pipeline requires manual clicks or console configuration, it&#8217;s already a bottleneck for agent-driven development loops.</p><h3><strong>Anthropic Launches Project Glasswing: A $100M Coalition to Weaponize AI for Cyber Defense</strong></h3><p>Estimated read time: 12 min</p><p>Closing the edition at the serious end of agentic deployment, Anthropic announces <strong><a href="https://www.anthropic.com/glasswing">Project Glasswing</a></strong>, a coalition with AWS, Apple, Google, and Microsoft deploying its unreleased Claude Mythos Preview for defensive cybersecurity. The model autonomously found thousands of zero-days including decades-old flaws in OpenBSD and FFmpeg, signaling AI vulnerability discovery has crossed a critical threshold.</p><p>AI vulnerability discovery has crossed a threshold where decades-old bugs in hardened systems are found autonomously, making AI-augmented defense an urgent priority for every team shipping software.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[A Claw-Lite That Runs on Your Claude Code Subscription]]></title><description><![CDATA[OpenClaw got cut off. Here's what I've been running instead.]]></description><link>https://writing.alteredcraft.com/p/a-claw-lite-that-runs-on-your-claude</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/a-claw-lite-that-runs-on-your-claude</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Fri, 10 Apr 2026 12:04:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d56d0a4e-b3fc-4f48-b6f8-73a995fbef65_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Anthropic recently <a href="https://venturebeat.com/technology/anthropic-cuts-off-the-ability-to-use-claude-subscriptions-with-openclaw-and">cut off OpenClaw from using Claude subscription credits</a>. If you wanted an always-on Claude agent but don&#8217;t want to pay for OpenClaw&#8217;s token consumption on top of your subscription, here&#8217;s what I&#8217;ve been running. It&#8217;s not a full Claw, but it runs 100% on subscription credits, and a repurposed laptop got me there in about an hour.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wfEc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9124aac-adc8-42b1-99dd-2ef303104723_1290x2796.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wfEc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9124aac-adc8-42b1-99dd-2ef303104723_1290x2796.png 424w, https://substackcdn.com/image/fetch/$s_!wfEc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9124aac-adc8-42b1-99dd-2ef303104723_1290x2796.png 848w, https://substackcdn.com/image/fetch/$s_!wfEc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9124aac-adc8-42b1-99dd-2ef303104723_1290x2796.png 1272w, https://substackcdn.com/image/fetch/$s_!wfEc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9124aac-adc8-42b1-99dd-2ef303104723_1290x2796.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wfEc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9124aac-adc8-42b1-99dd-2ef303104723_1290x2796.png" width="338" height="732.5953488372093" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9124aac-adc8-42b1-99dd-2ef303104723_1290x2796.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2796,&quot;width&quot;:1290,&quot;resizeWidth&quot;:338,&quot;bytes&quot;:1232140,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/193735928?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9124aac-adc8-42b1-99dd-2ef303104723_1290x2796.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wfEc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9124aac-adc8-42b1-99dd-2ef303104723_1290x2796.png 424w, https://substackcdn.com/image/fetch/$s_!wfEc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9124aac-adc8-42b1-99dd-2ef303104723_1290x2796.png 848w, https://substackcdn.com/image/fetch/$s_!wfEc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9124aac-adc8-42b1-99dd-2ef303104723_1290x2796.png 1272w, https://substackcdn.com/image/fetch/$s_!wfEc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9124aac-adc8-42b1-99dd-2ef303104723_1290x2796.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Certainly not a full OpenClaw but still nice to have, especially for kicking off research paired with Obsidian</figcaption></figure></div><h2><strong>The Setup</strong></h2><p>A spare laptop running Linux, configured to stay on whenever it&#8217;s plugged in. On it:</p><p><strong><a href="https://claude.ai/download">Claude Desktop</a> with <a href="https://support.claude.com/en/articles/13947068-assign-tasks-from-anywhere-in-claude-cowork">Dispatch</a>.</strong> Dispatch lets you assign tasks to Claude from the Mobile app. I can kick off work from my phone and Claude executes it on the laptop, with configured access to whatever&#8217;s on that machine. There is no official Claude Desktop package for Linux. I&#8217;m using Ubuntu and I found <a href="https://github.com/aaddrick/claude-desktop-debian">this community supported one</a> to work and it is well maintained.</p><p><strong><a href="https://obsidian.md/">Obsidian</a> with Sync enabled.</strong> My vault lives on the laptop. When Claude writes research findings into it, Obsidian Sync pushes them to my MacBook and phone automatically.</p><p><strong>Git + gh CLI. </strong>Active project checkouts so Claude can work on real codebases. Commits, branches, the real thing.</p><p>No local models, no custom infrastructure. Just a machine with my files and a Claude Code subscription.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KjU3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25f1a6d-a4ff-42b5-9d88-ea993888150c_1152x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KjU3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25f1a6d-a4ff-42b5-9d88-ea993888150c_1152x928.png 424w, https://substackcdn.com/image/fetch/$s_!KjU3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25f1a6d-a4ff-42b5-9d88-ea993888150c_1152x928.png 848w, https://substackcdn.com/image/fetch/$s_!KjU3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25f1a6d-a4ff-42b5-9d88-ea993888150c_1152x928.png 1272w, https://substackcdn.com/image/fetch/$s_!KjU3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25f1a6d-a4ff-42b5-9d88-ea993888150c_1152x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KjU3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25f1a6d-a4ff-42b5-9d88-ea993888150c_1152x928.png" width="1152" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a25f1a6d-a4ff-42b5-9d88-ea993888150c_1152x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1152,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:509923,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/193735928?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25f1a6d-a4ff-42b5-9d88-ea993888150c_1152x928.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KjU3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25f1a6d-a4ff-42b5-9d88-ea993888150c_1152x928.png 424w, https://substackcdn.com/image/fetch/$s_!KjU3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25f1a6d-a4ff-42b5-9d88-ea993888150c_1152x928.png 848w, https://substackcdn.com/image/fetch/$s_!KjU3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25f1a6d-a4ff-42b5-9d88-ea993888150c_1152x928.png 1272w, https://substackcdn.com/image/fetch/$s_!KjU3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25f1a6d-a4ff-42b5-9d88-ea993888150c_1152x928.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">&#8220;Linux Laptop&#8221; can be anything that can run Claude Code Desktop</figcaption></figure></div><h2><strong>The Daily Driver</strong></h2><p>Deep research is what I reach for daily. &#8220;Research the current state of X and save your findings to my vault.&#8221; I fire off the task, go do something else, and the results are waiting in Obsidian whenever I get to them. From any device.</p><p>Andrej Karpathy recently described <a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f">a pattern</a> where LLMs maintain a persistent, compounding wiki in Obsidian. This setup enables you to implement a form of that accessible from your phone. Each research task adds to the vault, and the knowledge compounds over time rather than disappearing into a chat history.</p><p>This could be a Raspberry Pi or any machine that can run Claude Desktop. The hardware doesn&#8217;t matter. What matters is that your files are always there when Claude needs them.</p><h2><strong>What&#8217;s Next</strong></h2><p>The Dispatch mobile experience keeps improving. I&#8217;ve been checking in on tasks and kicking off new ones from the Claude Code iPhone app, and it works well enough that I haven&#8217;t felt the pull to go further. <a href="https://code.claude.com/docs/en/channels">Channels</a> was released soon after Dispatch, connecting Claude to Telegram, Discord, and other messaging platforms. I still need to find the time to dive into that.</p><p>Not a full Claw. Not trying to be. Just an always-on box with my files and a Claude that can reach them.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Weekly Review: Know Your Harness]]></title><description><![CDATA[This week's curated tutorials, tools, and news on the infrastructure that makes AI models actually useful]]></description><link>https://writing.alteredcraft.com/p/weekly-review-know-your-harness</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/weekly-review-know-your-harness</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Mon, 06 Apr 2026 12:07:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/cb2975b3-6cc9-48bc-85e5-0fb349bf2da0_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>Welcome back to Altered Craft&#8217;s weekly AI review for developers. Thanks for making this part of your Monday routine. This week&#8217;s recurring message: the infrastructure around models matters more than the models themselves. Sebastian Raschka maps the six components of a coding agent, Martin Fowler makes the case for versioning team AI instructions, and Cursor redesigns the IDE around parallel agents. Gemma 4 and Ollama 0.19 also arrive to make local-first AI genuinely practical.</em></p></blockquote><h2><strong>TUTORIALS &amp; CASE STUDIES</strong></h2><h3><strong>Encoding Team Standards as Executable AI Instructions</strong></h3><p>Estimated read time: 12 min</p><p>Rahul Garg argues that tacit team knowledge should become <strong><a href="https://martinfowler.com/articles/reduce-friction-ai/encoding-team-standards.html">versioned, executable AI instructions</a></strong> stored in the repo. By extracting senior engineers&#8217; instincts into structured instruction sets, teams close the consistency gap and make inexperience less costly.</p><p><strong>Key point:</strong> Treating AI instructions like linting rules or CI config turns tribal knowledge into a versioned team asset. The consistency gains compound as teams scale.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>Anatomy of a Coding Agent: Six Core Components That Make LLMs Actually Useful</strong></h3><p>Estimated read time: 14 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zcE_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc90147bc-4574-4b52-914f-8bda96620063_3467x2270.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zcE_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc90147bc-4574-4b52-914f-8bda96620063_3467x2270.png 424w, https://substackcdn.com/image/fetch/$s_!zcE_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc90147bc-4574-4b52-914f-8bda96620063_3467x2270.png 848w, https://substackcdn.com/image/fetch/$s_!zcE_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc90147bc-4574-4b52-914f-8bda96620063_3467x2270.png 1272w, https://substackcdn.com/image/fetch/$s_!zcE_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc90147bc-4574-4b52-914f-8bda96620063_3467x2270.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zcE_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc90147bc-4574-4b52-914f-8bda96620063_3467x2270.png" width="451" height="295.19436813186815" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c90147bc-4574-4b52-914f-8bda96620063_3467x2270.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:953,&quot;width&quot;:1456,&quot;resizeWidth&quot;:451,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zcE_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc90147bc-4574-4b52-914f-8bda96620063_3467x2270.png 424w, https://substackcdn.com/image/fetch/$s_!zcE_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc90147bc-4574-4b52-914f-8bda96620063_3467x2270.png 848w, https://substackcdn.com/image/fetch/$s_!zcE_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc90147bc-4574-4b52-914f-8bda96620063_3467x2270.png 1272w, https://substackcdn.com/image/fetch/$s_!zcE_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc90147bc-4574-4b52-914f-8bda96620063_3467x2270.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Complementing our look at Anthropic&#8217;s generation/evaluation split for long-running coding tasks[1] last week, Sebastian Raschka argues <strong><a href="https://magazine.sebastianraschka.com/p/components-of-a-coding-agent">the harness around a coding agent matters as much as the model</a></strong>. He maps six building blocks, from repo context and prompt caching to tool validation and context compaction, with a companion open-source Mini Coding Agent in pure Python.</p><p><strong>The takeaway:</strong> When evaluating coding agents, focus less on which base model they use and more on how their harness handles context management, tool validation, and session continuity.</p><p>[1] <a href="https://writing.alteredcraft.com/i/192555975/anthropics-gan-inspired-multi-agent-harness-for-long-running-autonomous-coding">Anthropic&#8217;s GAN-Inspired Multi-Agent Harness for Long-Running Autonomous Coding</a></p><h3><strong>How Dropbox Used DSPy to Cut Relevance Judge Costs While Improving Human Alignment by 45%</strong></h3><p>Estimated read time: 12 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y2OW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5864c4f-c422-434d-a705-1adcebfc6652_2880x1800.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y2OW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5864c4f-c422-434d-a705-1adcebfc6652_2880x1800.webp 424w, https://substackcdn.com/image/fetch/$s_!Y2OW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5864c4f-c422-434d-a705-1adcebfc6652_2880x1800.webp 848w, https://substackcdn.com/image/fetch/$s_!Y2OW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5864c4f-c422-434d-a705-1adcebfc6652_2880x1800.webp 1272w, https://substackcdn.com/image/fetch/$s_!Y2OW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5864c4f-c422-434d-a705-1adcebfc6652_2880x1800.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y2OW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5864c4f-c422-434d-a705-1adcebfc6652_2880x1800.webp" width="408" height="255" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5864c4f-c422-434d-a705-1adcebfc6652_2880x1800.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:408,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Y2OW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5864c4f-c422-434d-a705-1adcebfc6652_2880x1800.webp 424w, https://substackcdn.com/image/fetch/$s_!Y2OW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5864c4f-c422-434d-a705-1adcebfc6652_2880x1800.webp 848w, https://substackcdn.com/image/fetch/$s_!Y2OW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5864c4f-c422-434d-a705-1adcebfc6652_2880x1800.webp 1272w, https://substackcdn.com/image/fetch/$s_!Y2OW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5864c4f-c422-434d-a705-1adcebfc6652_2880x1800.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Supporting our coverage of Skylar Payne&#8217;s argument that teams inevitably reinvent DSPy patterns[1] last week, Dropbox details how <strong><a href="https://dropbox.tech/machine-learning/optimizing-dropbox-dash-relevance-judge-with-dspy">DSPy systematically optimized LLM-as-a-judge prompts</a></strong> for Dash search, reducing human-alignment error by 45% while migrating to cheaper models. The team cut malformed outputs by 97% and introduced an instruction library for safe, incremental production improvements.</p><p><strong>Why this matters:</strong> Systematic prompt optimization compresses weeks of manual tuning into days. If you&#8217;re scaling LLM judges across models, DSPy&#8217;s task/data/metric loop is a proven pattern.</p><p>[1] <a href="https://writing.alteredcraft.com/i/192555975/youre-already-building-dspy-just-worse">You&#8217;re Already Building DSPy, Just Worse</a></p><h3><strong>Free 1.5-Hour Course Covers GitHub Copilot, Claude Code, Gemini CLI, and More</strong></h3><p>Watch time: 1.5 hour</p><p>freeCodeCamp releases a free 1.5-hour video course on <strong><a href="https://www.freecodecamp.org/news/ai-tools-for-developers/">AI pair programming and agentic terminal workflows</a></strong> featuring GitHub Copilot, Claude Code, Gemini CLI, and OpenClaw. The walkthrough also covers CodeRabbit for automated pull request analysis.</p><p><strong>Worth noting:</strong> A single, free walkthrough comparing the leading AI dev tools side by side. If you&#8217;ve been wanting to evaluate your options, 90 minutes well spent.</p><h2><strong>TOOLS</strong></h2><h3><strong>OpenYak: An Open-Source Desktop AI Agent That Keeps Your Data Local</strong></h3><p>Estimated read time: 3 min</p><p>OpenYak is an open-source desktop AI assistant that <strong><a href="https://github.com/openyak/desktop">keeps files, conversations, and memory on your machine</a></strong>. It supports 100+ cloud models or fully local inference via Ollama, with 20+ built-in tools, cron-based automation, and MCP connector support.</p><p><strong>What this enables:</strong> A fully offline AI agent that manages files, analyzes data, and automates workflows. Ollama integration means you can run the entire stack without cloud dependencies.</p><h3><strong>lat.md: A Knowledge Graph for Your Codebase, Written in Markdown</strong></h3><p>Estimated read time: 4 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zjG7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6898568-0e05-4b46-9dfe-453694c97b76_73224x16688.svg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zjG7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6898568-0e05-4b46-9dfe-453694c97b76_73224x16688.svg 424w, https://substackcdn.com/image/fetch/$s_!zjG7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6898568-0e05-4b46-9dfe-453694c97b76_73224x16688.svg 848w, https://substackcdn.com/image/fetch/$s_!zjG7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6898568-0e05-4b46-9dfe-453694c97b76_73224x16688.svg 1272w, https://substackcdn.com/image/fetch/$s_!zjG7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6898568-0e05-4b46-9dfe-453694c97b76_73224x16688.svg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zjG7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6898568-0e05-4b46-9dfe-453694c97b76_73224x16688.svg" width="220" height="49.86666666666667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6898568-0e05-4b46-9dfe-453694c97b76_73224x16688.svg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:68,&quot;width&quot;:300,&quot;resizeWidth&quot;:220,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;lat.md&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="lat.md" title="lat.md" srcset="https://substackcdn.com/image/fetch/$s_!zjG7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6898568-0e05-4b46-9dfe-453694c97b76_73224x16688.svg 424w, https://substackcdn.com/image/fetch/$s_!zjG7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6898568-0e05-4b46-9dfe-453694c97b76_73224x16688.svg 848w, https://substackcdn.com/image/fetch/$s_!zjG7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6898568-0e05-4b46-9dfe-453694c97b76_73224x16688.svg 1272w, https://substackcdn.com/image/fetch/$s_!zjG7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6898568-0e05-4b46-9dfe-453694c97b76_73224x16688.svg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>AGENTS.md doesn&#8217;t scale. lat.md offers a <strong><a href="https://github.com/1st1/lat.md">knowledge graph of interconnected markdown files</a></strong> linked via wiki syntax and validated by CLI. Agents navigate the graph instead of grepping, capture session context for future runs, and enforce test coverage through backlink checks.</p><p><strong>What&#8217;s interesting:</strong> If your AGENTS.md is becoming a monolith, this is a structured, agent-navigable alternative that keeps design decisions and test specs linked to the code that implements them.</p><h3><strong>Google Releases Gemma 4: Apache 2.0 Licensed Models Built for Agentic Workflows</strong></h3><p>Estimated read time: 6 min</p><p>Following our coverage of MiniMax M2.7 matching frontier detection quality at 7% of the cost[1] last week, <strong><a href="https://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/">Google DeepMind launches Gemma 4</a></strong> in four sizes under Apache 2.0 licensing. The 31B model ranks #3 among open models, outperforming models 20x its size. All variants include native function-calling, structured JSON output, and up to 256K context windows.</p><p><strong>Why now:</strong> Permissively licensed open models with native agentic capabilities that run on consumer hardware have been the missing piece. Gemma 4 removes the last major licensing barrier.</p><p>[1] <a href="https://writing.alteredcraft.com/i/192555975/minimax-m27-vs-claude-opus-46-90-of-the-quality-at-7-of-the-cost">MiniMax M2.7 vs. Claude Opus 4.6: 90% of the Quality at 7% of the Cost</a></p><h3><strong>Ollama 0.19 Ships MLX Backend for Apple Silicon, Nearly Doubling Performance</strong></h3><p>Estimated read time: 4 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z2bI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed20978-9d0c-4a6a-ba7b-0b6a96eb42c3_4096x1535.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z2bI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed20978-9d0c-4a6a-ba7b-0b6a96eb42c3_4096x1535.png 424w, https://substackcdn.com/image/fetch/$s_!z2bI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed20978-9d0c-4a6a-ba7b-0b6a96eb42c3_4096x1535.png 848w, https://substackcdn.com/image/fetch/$s_!z2bI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed20978-9d0c-4a6a-ba7b-0b6a96eb42c3_4096x1535.png 1272w, https://substackcdn.com/image/fetch/$s_!z2bI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed20978-9d0c-4a6a-ba7b-0b6a96eb42c3_4096x1535.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z2bI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed20978-9d0c-4a6a-ba7b-0b6a96eb42c3_4096x1535.png" width="392" height="147" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ed20978-9d0c-4a6a-ba7b-0b6a96eb42c3_4096x1535.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:546,&quot;width&quot;:1456,&quot;resizeWidth&quot;:392,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Illustration of Ollama standing beside a fast car that can be run both as a daily driver and go on to win races. Ollama is here to demonstrate high performance on Apple silicon&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Illustration of Ollama standing beside a fast car that can be run both as a daily driver and go on to win races. Ollama is here to demonstrate high performance on Apple silicon" title="Illustration of Ollama standing beside a fast car that can be run both as a daily driver and go on to win races. Ollama is here to demonstrate high performance on Apple silicon" srcset="https://substackcdn.com/image/fetch/$s_!z2bI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed20978-9d0c-4a6a-ba7b-0b6a96eb42c3_4096x1535.png 424w, https://substackcdn.com/image/fetch/$s_!z2bI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed20978-9d0c-4a6a-ba7b-0b6a96eb42c3_4096x1535.png 848w, https://substackcdn.com/image/fetch/$s_!z2bI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed20978-9d0c-4a6a-ba7b-0b6a96eb42c3_4096x1535.png 1272w, https://substackcdn.com/image/fetch/$s_!z2bI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed20978-9d0c-4a6a-ba7b-0b6a96eb42c3_4096x1535.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Ollama 0.19 previews a backend <strong><a href="https://ollama.com/blog/mlx">built on Apple&#8217;s MLX framework</a></strong>, hitting 1,810 tokens/s prefill and 112 tokens/s decode on M5 chips. It adds NVFP4 quantization for production parity and smarter KV cache reuse that accelerates coding agents like Claude Code.</p><p><strong>The context:</strong> If you&#8217;re running coding agents locally on a Mac with 32GB+ unified memory, this is now the fastest path to usable token throughput on Apple Silicon.</p><h3><strong>Cursor 3: A Unified Workspace for Multi-Agent Software Development</strong></h3><p>Estimated read time: 4 min</p><p>Cursor ships a ground-up redesign with a <strong><a href="https://cursor.com/blog/cursor-3">unified workspace built around parallel agents</a></strong> rather than file editing. The new interface supports multi-repo layouts, local-to-cloud agent handoff, an integrated browser, a plugin marketplace, and a streamlined diffs-to-PR workflow.</p><p><strong>The signal:</strong> IDEs are evolving from file editors to agent orchestration platforms. Cursor&#8217;s redesign around parallel agents rather than file tabs shows where developer tooling is heading.</p><h3><strong>Google Ships MCP Server and Skills to Keep Coding Agents Current on Gemini APIs</strong></h3><p>Estimated read time: 1 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0nIn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7d39a8-50fb-45c4-8ac9-c33378fa6581_1000x821.bin" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0nIn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7d39a8-50fb-45c4-8ac9-c33378fa6581_1000x821.bin 424w, https://substackcdn.com/image/fetch/$s_!0nIn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7d39a8-50fb-45c4-8ac9-c33378fa6581_1000x821.bin 848w, https://substackcdn.com/image/fetch/$s_!0nIn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7d39a8-50fb-45c4-8ac9-c33378fa6581_1000x821.bin 1272w, https://substackcdn.com/image/fetch/$s_!0nIn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7d39a8-50fb-45c4-8ac9-c33378fa6581_1000x821.bin 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0nIn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7d39a8-50fb-45c4-8ac9-c33378fa6581_1000x821.bin" width="468" height="384.228" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a7d39a8-50fb-45c4-8ac9-c33378fa6581_1000x821.bin&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:821,&quot;width&quot;:1000,&quot;resizeWidth&quot;:468,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Gemini API Skills&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Gemini API Skills" title="Gemini API Skills" srcset="https://substackcdn.com/image/fetch/$s_!0nIn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7d39a8-50fb-45c4-8ac9-c33378fa6581_1000x821.bin 424w, https://substackcdn.com/image/fetch/$s_!0nIn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7d39a8-50fb-45c4-8ac9-c33378fa6581_1000x821.bin 848w, https://substackcdn.com/image/fetch/$s_!0nIn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7d39a8-50fb-45c4-8ac9-c33378fa6581_1000x821.bin 1272w, https://substackcdn.com/image/fetch/$s_!0nIn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7d39a8-50fb-45c4-8ac9-c33378fa6581_1000x821.bin 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Google releases two tools to fix stale coding agent output for Gemini APIs. The <strong><a href="https://blog.google/innovation-and-ai/technology/developers-tools/gemini-api-docsmcp-agent-skills/">Docs MCP server and Developer Skills</a></strong> connect agents to live documentation and best-practice patterns, achieving a 96.3% eval pass rate with 63% fewer tokens.</p><p><strong>The pattern:</strong> Stale training data is the top source of hallucinated API calls. Connecting coding agents to live documentation is an approach every API provider will likely adopt.</p><h3><strong>LLMOps in 2026: A Tool for Every Layer of the Production Stack</strong></h3><p>Estimated read time: 6 min</p><p>This roundup maps ten tools to distinct LLMOps production layers, from orchestration and routing to memory, guardrails, and packaging. Rather than listing popular names, it identifies <strong><a href="https://www.kdnuggets.com/llmops-in-2026-the-10-tools-every-team-must-have">one strong tool per production concern</a></strong> covering PydanticAI, Bifrost, Promptfoo, Letta, and KitOps among others.</p><p><strong>The shift:</strong> The competitive question in LLMOps has moved from which model to use to how well you connect, evaluate, and harden everything around it.</p><h2><strong>NEWS &amp; EDITORIALS</strong></h2><h3><strong>Google&#8217;s TurboQuant: 6x KV Cache Compression That Could Reshape AI Memory Economics</strong></h3><p>Estimated read time: 14 min</p><p>Google&#8217;s TurboQuant achieves <strong><a href="https://adlrocha.substack.com/p/adlrocha-what-if-ai-doesnt-need-more">6x KV cache compression with no accuracy loss</a></strong> by converting vectors to polar coordinates and correcting residual error via Johnson-Lindenstrauss transforms. The data-oblivious approach needs no per-model calibration, with implications for vector databases and on-device inference.</p><p><strong>The opportunity:</strong> If your inference costs or context-length limits are bottlenecked by KV cache memory, TurboQuant&#8217;s open-source PolarQuant and QJL components are available now and worth evaluating.</p><h3><strong>A Mirror Test for LLMs: Can Language Models Recognize Themselves?</strong></h3><p>Estimated read time: 8 min</p><p>A LessWrong post proposes adapting the classic animal cognition mirror test for LLMs, asking whether models can <strong><a href="https://www.lesswrong.com/posts/TfKM9PgztxieEcKiv/a-mirror-test-for-llms">recognize their own outputs versus those of other models</a></strong>. The piece explores what self-recognition reveals about machine cognition and model identity.</p><p><strong>The bigger picture:</strong> As LLMs grow more capable, the frameworks we use to probe their cognition matter as much as the benchmarks we use to measure their performance.</p><h3><strong>Claude Code&#8217;s Source Leaks: Anti-Distillation, Client DRM, and an Unreleased Agent Mode Called KAIROS</strong></h3><p>Estimated read time: 11 min</p><p>An accidental source map leak in Claude Code&#8217;s npm package exposed Anthropic&#8217;s full codebase, revealing <strong><a href="https://alex000kim.com/posts/2026-03-31-claude-code-source-leak/">anti-distillation defenses, client attestation DRM, and an unreleased autonomous agent mode called KAIROS</a></strong> with background daemons and cron jobs. Feature flags hint at Anthropic&#8217;s broader product roadmap.</p><p><strong>Worth noting:</strong> The leaked feature flags and product roadmap, not the code itself, represent the real strategic damage. Accidental exposures carry consequences well beyond intellectual property.</p><h3><strong>Anthropic Cuts Off Claude Code Subscribers From OpenClaw Usage</strong></h3><p>Estimated read time: 3 min</p><p>Anthropic now requires Claude Code subscribers to pay extra for <strong><a href="https://techcrunch.com/2026/04/04/anthropic-says-claude-code-subscribers-will-need-to-pay-extra-for-openclaw-support/">third-party harness usage starting with OpenClaw</a></strong>. The change lands days after OpenClaw&#8217;s creator joined OpenAI, raising questions about competitive motives versus sustainability concerns.</p><p><strong>Heads up:</strong> If your workflow depends on third-party harnesses with Claude Code, budget for pay-as-you-go costs or start evaluating alternatives before the change takes effect.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Local Models, Specialists Not Substitutes]]></title><description><![CDATA[A local OCR pipeline demonstrates where small models genuinely win]]></description><link>https://writing.alteredcraft.com/p/local-models-specialists-not-substitutes</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/local-models-specialists-not-substitutes</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Fri, 03 Apr 2026 12:11:11 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/881374c6-c346-46c2-95ba-7bcc80b68abe_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For context, I&#8217;m running an M3 MacBook Pro with 36GB of unified memory. It&#8217;s a capable machine for local inference, but it has a ceiling around 30B parameters. Anything larger either won&#8217;t load or crawls to unusable speeds.</p><p>Local models haven&#8217;t wowed me for coding tasks. I&#8217;ve tried routing smaller models into my workflow, and the results consistently fall short of providing real value for me. That&#8217;s an honest assessment, not a dismissal. In <a href="https://open.substack.com/pub/alteredcraft0/p/the-steering-tax">The Steering Tax</a>, I explored why prime models earn their keep for judgment-heavy work. Secondary and local models cost less per token but more in human steering.</p><p>But that framing only covers one dimension. Instead of &#8220;can local models replace API calls for coding?&#8221; I started asking &#8220;what tasks are local models genuinely better suited for?&#8221; That reframe led me somewhere useful.</p><h2><strong>The Experiment: PDF to Markdown, Locally</strong></h2><p>PDF parsing is a universal developer pain point. You&#8217;ve been there: a vendor sends a spec as a PDF, a client shares contracts, or you need to extract content from a research paper. The options aren&#8217;t great. Cloud OCR services work but introduce privacy concerns and per-page costs. Open source libraries like PyPDF often produce garbled output from complex layouts.</p><p>I&#8217;d flagged <a href="https://writing.alteredcraft.com/i/187350085/glm-ocr-lightweight-open-source-document-understanding">GLM-OCR in a recent Weekly Review</a> as worth investigating. Testing it against real documents confirmed the promise. It&#8217;s a vision model purpose-built for text recognition. It runs locally via Ollama, processes one page at a time, and produces clean markdown. No API keys. No network requests. No per-page billing.</p><p>I wrapped the entire pipeline into a Claude Code Skill so it&#8217;s accessible with a single command: <code>/pdf-ocr contract.pdf</code>. The Skill checks dependencies, converts each PDF page to an image, runs it through GLM-OCR, and assembles the output into a single markdown file.</p><h2><strong>The Technical Decisions That Mattered</strong></h2><p>Three choices made the difference between usable and frustrating:</p><p><strong>Image sizing is everything.</strong> GLM-OCR accuracy drops with oversized images. The pipeline renders pages at 72 DPI, then resizes to a maximum of 1024 pixels on the longest edge. That specific combination consistently produces the best recognition quality. Going higher actually hurts.</p><p><strong>The prompt is weirdly specific.</strong> After testing variations, the prompt <code>"Text Recognition:"</code> outperforms everything else. More descriptive prompts like &#8220;Extract all text from this document&#8221; produce worse results. The model was trained with this exact prompt format. Respecting that training matters.</p><p><strong>Zero pip dependencies.</strong> The Python script uses only stdlib: <code>subprocess</code>, <code>json</code>, <code>base64</code>, <code>urllib</code>. This means no virtual environment, no dependency conflicts, no setup friction. The heavy lifting comes from system tools (<code>pdftoppm</code> from poppler, <code>sips</code> on macOS) and Ollama.</p><h2><strong>Why Local Wins Here</strong></h2><p>Until recently, models small enough to run on consumer hardware couldn&#8217;t produce results worth using for tasks like this. That&#8217;s changed. Purpose-built models in the 1-4B parameter range now handle specialist tasks with real accuracy. GLM-OCR is a clear example: small enough for a laptop, accurate enough for real documents.</p><p>For individual developer use, a local model isn&#8217;t a compromise. It&#8217;s genuinely the better tool. Privacy is binary: legal documents, contracts, and internal specs either leave your machine or they don&#8217;t. There&#8217;s no &#8220;mostly private&#8221; cloud OCR. Running locally means the content never touches an external server. And it works offline. Airplane, VPN issues, flaky coffee shop WiFi. The pipeline doesn&#8217;t care.</p><p>The economics make sense too. A 50-page document through a cloud OCR API costs real money. Locally, it costs electricity. Latency is predictable with no network variability. On my M3-series Mac, each page processes in a few seconds. For enterprise use, the trade-off shifts: you&#8217;re maintaining infrastructure to run the model. But OCR is stateless, so the operational overhead is minimal. At scale, the cost savings over per-page API pricing could be significant.</p><h2><strong>Specialists, Not Substitutes</strong></h2><p>This experiment revealed a pattern I see repeating across other local model use cases. Local models aren&#8217;t underpowered versions of cloud models. They&#8217;re specialists.</p><p>GLM-OCR does one thing: recognize text in images. It&#8217;s small, fast, and tuned for exactly that task. It doesn&#8217;t need to write code, summarize articles, or hold conversations. That focus is its advantage.</p><p>Embedding models for local semantic search. Classification models for content routing. Whisper for audio transcription. Each is a focused tool that happens to run on your hardware. The value isn&#8217;t in replacing your cloud LLM. It&#8217;s in handling the tasks where a specialist outperforms a generalist, or where local execution is the better engineering choice. And this category is growing. Small, focused models improve with each generation while consumer hardware keeps closing the gap. The range of specialist tasks worth running locally will continue to expand.</p><h2><strong>Getting Started</strong></h2><p>The pipeline is available in Altered Craft&#8217;s <a href="https://github.com/AlteredCraft/claude-code-plugins">ac-document-gen</a> Claude Code plugin. Install it through the plugin marketplace:</p><pre><code><code># Add the marketplace
/plugin marketplace add AlteredCraft/claude-code-plugins

# Install the plugin
/plugin install ac-document-gen@alteredcraft-plugins</code></code></pre><p>After restarting Claude Code, the <code>/pdf-ocr</code> skill is available. You&#8217;ll need <a href="https://ollama.com/">Ollama</a> running with the <code>glm-ocr</code> model pulled, and <code>poppler</code> installed (<code>brew install poppler</code> on macOS). The skill checks for these on first run and walks you through any missing dependencies.</p><p><em>Note: This pipeline was built and tested on macOS. The Python script uses only the standard library, but the system tools (poppler, sips) may need adaptation on other platforms.</em></p><p>The next time you catch yourself dismissing local models, try reframing the question. Not &#8220;is this as good as Claude?&#8221; but &#8220;is this the kind of task where a specialist model, running on my hardware, is the right tool?&#8221; You might be surprised how often the answer is yes.</p>]]></content:encoded></item><item><title><![CDATA[When Your AI Coding Tool Becomes Your Teacher]]></title><description><![CDATA[I built a learning framework from nothing but natural language. Here's what happened when I used it.]]></description><link>https://writing.alteredcraft.com/p/when-your-ai-coding-tool-becomes</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/when-your-ai-coding-tool-becomes</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Tue, 31 Mar 2026 12:21:40 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/aee63a47-b1fb-4c00-a437-41335bdeb517_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong>When Your AI Coding Tool Becomes Your Teacher</strong></h1><p>I can build a working Tauri app without understanding Tauri. Claude will write the Rust backend, scaffold the Svelte frontend, wire the IPC bridge, and hand me something that compiles and runs. For a one-off tool, that&#8217;s fine. For a framework I plan to work with long-term, it&#8217;s not enough. I need to understand how the pieces connect so I can evaluate what AI generates, debug when things break, and make architectural decisions the AI can&#8217;t make for me.</p><p>The question isn&#8217;t whether to use AI. I let Claude write most of my code for side projects, and I have no intention of changing that. The question is what to do when you&#8217;re picking up something new and you actually need the mental model, not just the output. The conventional wisdom is to set AI aside and learn the old-fashioned way. I tried a third option.</p><p>The cost of skipping the mental model is measurable. A <a href="https://serenitiesai.com/articles/ai-coding-skills-anthropic-research-2026">randomized controlled trial by Anthropic</a> found that developers who used AI assistance scored 17 percentage points lower on code comprehension tests compared to those who coded by hand. The largest deficit appeared in debugging, the exact skill you need to evaluate AI-generated code. As <a href="https://martinfowler.com/articles/llm-learning-loop.html">Unmesh Joshi wrote on Martin Fowler&#8217;s blog</a>, LLMs can threaten the learning loop essential for building expertise. Design emerges through implementation struggle, not pre-planning. Remove the struggle, remove the learning.</p><h2><strong>Same Tool, Opposite Outcome</strong></h2><p>What caught my attention was a <a href="https://www.pnas.org/doi/10.1073/pnas.2422633122">Wharton School study published in PNAS</a>. The researchers didn&#8217;t just test unfettered AI access. They also tested AI with pedagogical guardrails, a version they called &#8220;GPT Tutor.&#8221; The unguarded version caused a 17% performance decline. The guarded version almost entirely eliminated the negative effects.</p><p>Same tool. Different constraints. Opposite outcome.</p><p>That finding aligned with something I&#8217;d been experimenting with: using Claude Code not as a code generator, but as a learning partner. Claude Code has a <a href="https://code.claude.com/docs/en/output-styles">Learning output style</a> that changes its behavior from &#8220;implement everything&#8221; to &#8220;teach by building together.&#8221; Instead of writing all the code, it leaves strategic gaps marked <code>TODO(human)</code> for you to implement, and wraps its work in Insight blocks that explain why things are done the way they are.</p><p>The Learning output style was the foundation. What I built on top of it was a harness that turned Claude Code into a structured learning environment.</p><h2><strong>The Learning Harness</strong></h2><div class="paywall-jump" data-component-name="PaywallToDOM"></div><p><a href="https://v2.tauri.app/">Tauri</a> is a framework for building desktop and mobile apps with web frontends, similar to Electron but with a Rust backend instead of Node.js. The project I chose as my learning vehicle is <a href="https://github.com/AlteredCraft/learn-tauri">NatLang Todo</a>: a desktop app built with Tauri 2 (Rust backend, Svelte 5 frontend) where the only input surface is natural language. No forms, no buttons. You type what you want in a chat interface, a local LLM classifies the intent, and Rust executes the operation. That design pushes roughly 70% of the complexity into the Rust backend, which is exactly where the learning goals live.</p><p>The harness has four layers.</p><p><strong>The first layer is the Learning output style itself.</strong> When enabled, Claude Code shifts its approach at decision points. Instead of implementing a function, it writes the surrounding code (file structure, imports, signatures, context comments), then marks the strategic gap with <code>TODO(human)</code> for you to implement. It explains the trade-offs you should consider. It provides the context. You write the meaningful code. The harness adds structure on top: a directive in <code>CLAUDE.md</code> ties each <code>TODO(human)</code> to a specific learning goal ID from the curriculum, so both you and the agent know which concept is being exercised.</p><p>Here&#8217;s what that looks like in the editor. When I needed to define the core data model, Claude created the <code>models.rs</code> file with the <code>TodoStatus</code> enum already implemented (including derive macros for serialization), a test verifying enum equality, and the <code>TODO(human) [F2]</code> marker where I needed to define the <code>Todo</code> struct:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M1wj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5ff84e5-1b76-49b0-995e-d00a1afe72ab_1291x1527.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M1wj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5ff84e5-1b76-49b0-995e-d00a1afe72ab_1291x1527.png 424w, https://substackcdn.com/image/fetch/$s_!M1wj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5ff84e5-1b76-49b0-995e-d00a1afe72ab_1291x1527.png 848w, https://substackcdn.com/image/fetch/$s_!M1wj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5ff84e5-1b76-49b0-995e-d00a1afe72ab_1291x1527.png 1272w, https://substackcdn.com/image/fetch/$s_!M1wj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5ff84e5-1b76-49b0-995e-d00a1afe72ab_1291x1527.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M1wj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5ff84e5-1b76-49b0-995e-d00a1afe72ab_1291x1527.png" width="1291" height="1527" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5ff84e5-1b76-49b0-995e-d00a1afe72ab_1291x1527.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1527,&quot;width&quot;:1291,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:281471,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/192527593?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5ff84e5-1b76-49b0-995e-d00a1afe72ab_1291x1527.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!M1wj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5ff84e5-1b76-49b0-995e-d00a1afe72ab_1291x1527.png 424w, https://substackcdn.com/image/fetch/$s_!M1wj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5ff84e5-1b76-49b0-995e-d00a1afe72ab_1291x1527.png 848w, https://substackcdn.com/image/fetch/$s_!M1wj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5ff84e5-1b76-49b0-995e-d00a1afe72ab_1291x1527.png 1272w, https://substackcdn.com/image/fetch/$s_!M1wj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5ff84e5-1b76-49b0-995e-d00a1afe72ab_1291x1527.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Here the agent has left a TODO for the learner</figcaption></figure></div><p>The agent didn&#8217;t just leave a blank. It listed the six fields I needed, posed the conceptual question (&#8221;what Rust type represents &#8216;might not exist&#8217;?&#8221;), and hinted that I should think about which traits the struct needs. I had to decide. I had to think about <code>Option&lt;T&gt;</code>. That moment is where learning happens.</p><p><strong>The second layer is </strong><code>CLAUDE.md</code><strong> as curriculum.</strong> The project&#8217;s <code>CLAUDE.md</code> file references a <code>learning-goals.md</code> file containing 7 foundational Rust goals and 11 applied Tauri/Svelte goals, organized into 10 progressive build phases. It directs the Learning mode to tie <code>TODO(human)</code> markers to specific goal IDs, calibrate for the learner&#8217;s current phase, and avoid introducing concepts from later phases prematurely.</p><p>The <code>CLAUDE.md</code> also encodes three validation techniques borrowed from established pedagogy. After you complete a <code>TODO(human)</code>, the agent might ask: &#8220;Explain what you just did. Why did you use <code>&amp;mut self</code> here instead of <code>self</code>?&#8221; If you can only say &#8220;the compiler told me to,&#8221; the concept hasn&#8217;t landed. Before running tests, it asks you to predict: &#8220;What do you think <code>cargo test</code> will show?&#8221; Wrong predictions reveal gaps between your mental model and reality. After a concept is demonstrated, it asks you to modify the code in a way that exercises the same concept differently. If you can adapt without hand-holding, you understand it.</p><p>Claude Code <a href="https://docs.anthropic.com/en/docs/claude-code/hooks">hooks</a> are automated actions that fire on specific events. <strong>The third layer is a SessionStart hook</strong> that injects your current build phase and unchecked goals into every new session. When you open the project tomorrow, the agent already knows where you left off. You never have to re-explain your progress. It fires on startup and after context compaction, so continuity is maintained even in long sessions.</p><p><strong>The fourth layer is a </strong><code>/checkpoint</code><strong> skill</strong> invoked by the user at the end of each session. It reads your learning goals and recent git history, maps file changes to the goals you exercised, and asks targeted reflection questions. It updates the Notes field for each goal with dated entries capturing what clicked, what&#8217;s still fuzzy, and what evidence items to check off. This creates a structured learning record separate from Claude&#8217;s built-in memory. Memory handles where to resume. Checkpoint handles what you understood.</p><p>The four layers chain into a loop:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RBbh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10e560c9-afba-408c-a2e3-2fca7eefeafc_1595x3575.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RBbh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10e560c9-afba-408c-a2e3-2fca7eefeafc_1595x3575.png 424w, https://substackcdn.com/image/fetch/$s_!RBbh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10e560c9-afba-408c-a2e3-2fca7eefeafc_1595x3575.png 848w, https://substackcdn.com/image/fetch/$s_!RBbh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10e560c9-afba-408c-a2e3-2fca7eefeafc_1595x3575.png 1272w, https://substackcdn.com/image/fetch/$s_!RBbh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10e560c9-afba-408c-a2e3-2fca7eefeafc_1595x3575.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RBbh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10e560c9-afba-408c-a2e3-2fca7eefeafc_1595x3575.png" width="540" height="1210.1785714285713" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10e560c9-afba-408c-a2e3-2fca7eefeafc_1595x3575.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3263,&quot;width&quot;:1456,&quot;resizeWidth&quot;:540,&quot;bytes&quot;:269796,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/192527593?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10e560c9-afba-408c-a2e3-2fca7eefeafc_1595x3575.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RBbh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10e560c9-afba-408c-a2e3-2fca7eefeafc_1595x3575.png 424w, https://substackcdn.com/image/fetch/$s_!RBbh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10e560c9-afba-408c-a2e3-2fca7eefeafc_1595x3575.png 848w, https://substackcdn.com/image/fetch/$s_!RBbh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10e560c9-afba-408c-a2e3-2fca7eefeafc_1595x3575.png 1272w, https://substackcdn.com/image/fetch/$s_!RBbh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10e560c9-afba-408c-a2e3-2fca7eefeafc_1595x3575.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The general learning loop. Do to the nature of the LLM teacher, you are able to take deep dive tangents at any point </figcaption></figure></div><p></p><p>Here&#8217;s what that continuity looks like in practice. Opening a new session, the agent picks up where we left off and moves into the next lesson:</p><h2><strong>What I Learned By Building It (And Using It)</strong></h2><p>The framework didn&#8217;t work correctly the first time. Several assumptions I made during design failed during testing, and the fixes are where the interesting insights live.</p><p>Here&#8217;s a checkpoint from an early session. The agent maps recent git changes to learning goals, checks off evidence items that were demonstrated, and asks validation questions before updating the record:</p><p></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;cfb7202b-74b2-4a5b-a2f8-850a3fe783d2&quot;,&quot;duration&quot;:null}"></div><p><strong>Working code is not proof of understanding.</strong> My original learning goals were aspirational: &#8220;Can explain why Rust has ownership.&#8221; The problem was that the agent couldn&#8217;t validate these. Tests passing doesn&#8217;t prove the learner internalized the concept. I rewrote every goal as observable evidence: &#8220;Fixed a borrow checker error by changing <code>self</code> to <code>&amp;self</code> and explained why.&#8221; Now the agent checks goals off when it sees the learner do or say the specific thing. Most AI-assisted learning resources don&#8217;t make this distinction between tutorial completion and verified learning. It maps directly to what the <a href="https://dl.acm.org/doi/fullHtml/10.1145/3632620.3671116">ACM study on novice programmers</a> calls the &#8220;illusion of competence&#8221;: students who used GenAI thought they performed better than they did. Observable goals are how you prevent that illusion.</p><p><strong>Trust erosion is fast and expensive.</strong> During testing, the agent generated a Tauri documentation link that looked perfectly plausible. It 404&#8217;d. One bad link, and the learner&#8217;s confidence in every link the agent provides is damaged. In a learning context where you&#8217;re asking someone to trust the AI as a teacher, credibility is non-negotiable. I built a <code>/docs</code> skill that uses WebSearch and WebFetch to find and validate documentation links, and added a directive to <code>CLAUDE.md</code>: &#8220;Never fabricate a URL. Only use links from the reference list or validated via <code>/docs</code>.&#8221; The skill exists because the agent hallucinated once. That&#8217;s all it takes.</p><h2><strong>The Part That Surprised Me</strong></h2><p>I expected the harness to be useful. What I didn&#8217;t expect was how effective Claude&#8217;s learning persona would be in practice. The interactions didn&#8217;t feel like a tutorial or a chatbot. They felt like pairing with someone who had infinite patience and deep knowledge of Rust, but who also knew exactly when to stop explaining and let me struggle.</p><p>At any point during a session, I could go deeper. &#8220;Why does Rust have both <code>String</code> and <code>&amp;str</code>?&#8221; would get a thoughtful comparison to Python/JavaScript equivalents, with a link to the relevant Rust Book chapter. Quick clarifications landed in two sentences. Conceptual deep-dives came with ASCII diagrams showing ownership flow. The agent calibrated based on what it had seen me understand in previous sessions, so it wasn&#8217;t re-explaining concepts I&#8217;d already demonstrated.</p><p>The repo itself is a bootstrapped Tauri app plus the learning framework I built around it. Beyond the Tauri bootstrap, the entire system is natural language: markdown directives, JSON config, and skill definitions. No custom code powers the learning experience. That matters because the harness is fully inspectable. Every directive is readable English. Adapting it for a different stack means rewriting markdown, not code.</p><h2><strong>Fork It, Adapt It, Make It Yours</strong></h2><p>A <a href="https://codesignal.dev/report-developers-and-ai-coding-assistant-trends">CodeSignal survey</a> found that 76% of developers already use AI tools to learn new skills. It&#8217;s the number one use case, ahead of code generation. Developers want to learn with AI. The tools just aren&#8217;t designed for it yet.</p><p>The <a href="https://github.com/AlteredCraft/learn-tauri">NatLang Todo repository</a> is on GitHub. You can use it two ways.</p><p><strong>Learn Tauri as-is.</strong> Fork the repo and open it in Claude Code. The Learning output style is already configured in the repo&#8217;s settings. Build a natural-language todo app through 10 progressive phases. The curriculum handles the rest: goal tracking, session continuity, reflection checkpoints, validated documentation links.</p><p><strong>Adapt the pattern for your stack.</strong> The learning framework is applied here to Tauri, but it could be extracted and pointed at anything. Want to learn Go by building a CLI tool? Replace the learning goals, adjust the phase docs, point the documentation references at the Go standard library. The skills, hooks, and structural pattern carry over. A technical educator could fork this repository and adapt it without writing a line of Rust. Every directive is readable English. The CLAUDE.md-as-curriculum approach, the SessionStart hook for continuity, the <code>/checkpoint</code> skill for structured reflection. These are building blocks, not blueprints. Take the pieces that make sense for your context and leave the rest.</p><p>Do we still need to learn frameworks deeply in a world where AI can generate working code? I think so. Not because you need to memorize syntax, but because you need to understand how the framework is wired together. You need the mental model that lets you evaluate whether AI-generated code is correct, not just whether it compiles. The <a href="https://serenitiesai.com/articles/ai-coding-skills-anthropic-research-2026">Anthropic study</a> found that debugging, the skill most eroded by AI assistance, is exactly the skill you need to validate what AI produces. That&#8217;s a loop you don&#8217;t want to break.</p><p>The tool isn&#8217;t the problem. It&#8217;s how you choose to hold it.</p>]]></content:encoded></item><item><title><![CDATA[Weekly Review: Tighten the Loop]]></title><description><![CDATA[This week's curated tutorials, tools, and news on building better feedback loops for AI development]]></description><link>https://writing.alteredcraft.com/p/weekly-review-tighten-the-loop</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/weekly-review-tighten-the-loop</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Mon, 30 Mar 2026 12:13:09 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0bea3ad3-9724-429a-9d7b-dc67b26fef15_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>Happy Monday from Altered Craft&#8217;s weekly AI review for developers. We appreciate you starting your week here. This edition is about tighter feedback loops: Anthropic publishes a harness that separates code generation from evaluation, Cloudflare and Stanford ship agent sandboxes, and open-weight models quietly close the gap on frontier performance. New research also finds that as agents get faster, we become the bottleneck.</em></p></blockquote><h2><strong>TUTORIALS &amp; CASE STUDIES</strong></h2><h3><strong>Solve by Default: Practical Patterns for Going AI-Native Beyond Just Code</strong></h3><p>Estimated read time: 8 min</p><p>Scott Berkowitz details <strong><a href="https://theengineersetlist.substack.com/p/solve-by-default">solving by default</a></strong>, using genAI to tackle problems engineers historically skip. Patterns include turning meeting notes into PRDs, converting Slack threads into issues, and dispatching background agents for pairing-session micro-annoyances.</p><p><strong>The opportunity:</strong> Most engineering friction isn&#8217;t in the code itself. This reframes AI as a tool for the invisible overhead, the meetings, threads, and handoffs, that quietly drains team momentum between commits.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>You&#8217;re Already Building DSPy, Just Worse</strong></h3><p>Estimated read time: 10 min</p><p>Taking this AI-native mindset from ad-hoc patterns to systematic architecture, Skylar Payne argues teams inevitably <strong><a href="https://skylarbpayne.com/posts/dspy-engineering-patterns/">reinvent the patterns DSPy already packages</a></strong>. A side-by-side comparison and practical checklist help you adopt the core benefits without the framework.</p><p><strong>Why this matters:</strong> Whether you adopt DSPy or not, its core patterns (typed I/O, composable modules, eval infrastructure) represent where production AI systems converge. Learning them now saves painful refactors later.</p><h3><strong>Anthropic&#8217;s GAN-Inspired Multi-Agent Harness for Long-Running Autonomous Coding</strong></h3><p>Estimated read time: 18 min</p><p>Moving from framework patterns to agent orchestration, Anthropic details a three-agent architecture for multi-hour autonomous coding. The breakthrough: <strong><a href="https://www.anthropic.com/engineering/harness-design-long-running-apps">separating generation from evaluation</a></strong> proves far more tractable than self-critique, with calibrated evaluators turning subjective quality into actionable feedback.</p><p><strong>Key point:</strong> If your AI coding agent praises its own mediocre work, this GAN-inspired generation/evaluation split gives you a concrete, battle-tested architecture for making quality feedback actionable.</p><h3><strong>Fine-Tune Domain-Specific Embeddings for RAG on a Single GPU</strong></h3><p>Estimated read time: 12 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D0mc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a321f84-4c7d-40d7-92ae-3d5823a0aee6_3786x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D0mc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a321f84-4c7d-40d7-92ae-3d5823a0aee6_3786x1086.png 424w, https://substackcdn.com/image/fetch/$s_!D0mc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a321f84-4c7d-40d7-92ae-3d5823a0aee6_3786x1086.png 848w, https://substackcdn.com/image/fetch/$s_!D0mc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a321f84-4c7d-40d7-92ae-3d5823a0aee6_3786x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!D0mc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a321f84-4c7d-40d7-92ae-3d5823a0aee6_3786x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D0mc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a321f84-4c7d-40d7-92ae-3d5823a0aee6_3786x1086.png" width="1456" height="418" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a321f84-4c7d-40d7-92ae-3d5823a0aee6_3786x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:418,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;sdg_pipeline&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="sdg_pipeline" title="sdg_pipeline" srcset="https://substackcdn.com/image/fetch/$s_!D0mc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a321f84-4c7d-40d7-92ae-3d5823a0aee6_3786x1086.png 424w, https://substackcdn.com/image/fetch/$s_!D0mc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a321f84-4c7d-40d7-92ae-3d5823a0aee6_3786x1086.png 848w, https://substackcdn.com/image/fetch/$s_!D0mc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a321f84-4c7d-40d7-92ae-3d5823a0aee6_3786x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!D0mc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a321f84-4c7d-40d7-92ae-3d5823a0aee6_3786x1086.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Shifting from agent architecture to retrieval, NVIDIA releases an end-to-end recipe for <strong><a href="https://huggingface.co/blog/nvidia/domain-specific-embedding-finetune">fine-tuning embedding models for domain-specific RAG</a></strong> using synthetic data and hard negative mining on a single GPU. No manual labeling needed. Atlassian saw 26% recall improvement.</p><p><strong>What this enables:</strong> You can meaningfully improve RAG retrieval using LLM-generated synthetic data from your own docs. No labeled dataset, no GPU cluster, just one card and your domain knowledge.</p><h2><strong>TOOLS</strong></h2><h3><strong>Ossature: An Open-Source Harness for Spec-Driven Code Generation</strong></h3><p>Estimated read time: 11 min</p><p>Ossature tackles the gap between LLMs generating functions well and producing coherent projects. Its <strong><a href="https://ossature.dev/blog/introducing-ossature/">spec-driven harness validates, audits, and builds code one task at a time</a></strong>, giving each task narrow context with built-in verification loops.</p><p><strong>The takeaway:</strong> If AI-generated code works in isolation but falls apart at module boundaries, spec-driven generation with narrow context and verification loops is a practical pattern worth exploring.</p><h3><strong>Awesome CursorRules: A Curated Collection of .cursorrules for Every Stack</strong></h3><p>Estimated read time: 4 min</p><p>Also in the AI code generation space, this community repository collects <strong><a href="https://github.com/PatrickJS/awesome-cursorrules">hundreds of .cursorrules configuration files</a></strong> spanning frontend, backend, mobile, and testing stacks. Each provides project-specific instructions that tailor Cursor AI&#8217;s output to particular frameworks.</p><p><strong>Worth noting:</strong> Instead of writing .cursorrules from scratch, grab a template and customize it. The patterns here apply to any AI coding tool that accepts project-level instructions.</p><h3><strong>Cloudflare&#8217;s Dynamic Worker Loader: Isolate-Based Sandboxes That Are 100x Faster Than Containers</strong></h3><p>Estimated read time: 11 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Qi9m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd544a6-3e52-4736-a8ee-09e3126ecddc_1999x1125.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Qi9m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd544a6-3e52-4736-a8ee-09e3126ecddc_1999x1125.png 424w, https://substackcdn.com/image/fetch/$s_!Qi9m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd544a6-3e52-4736-a8ee-09e3126ecddc_1999x1125.png 848w, https://substackcdn.com/image/fetch/$s_!Qi9m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd544a6-3e52-4736-a8ee-09e3126ecddc_1999x1125.png 1272w, https://substackcdn.com/image/fetch/$s_!Qi9m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd544a6-3e52-4736-a8ee-09e3126ecddc_1999x1125.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Qi9m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd544a6-3e52-4736-a8ee-09e3126ecddc_1999x1125.png" width="363" height="204.1875" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ecd544a6-3e52-4736-a8ee-09e3126ecddc_1999x1125.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:363,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Qi9m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd544a6-3e52-4736-a8ee-09e3126ecddc_1999x1125.png 424w, https://substackcdn.com/image/fetch/$s_!Qi9m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd544a6-3e52-4736-a8ee-09e3126ecddc_1999x1125.png 848w, https://substackcdn.com/image/fetch/$s_!Qi9m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd544a6-3e52-4736-a8ee-09e3126ecddc_1999x1125.png 1272w, https://substackcdn.com/image/fetch/$s_!Qi9m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd544a6-3e52-4736-a8ee-09e3126ecddc_1999x1125.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Once AI generates the code, you need somewhere safe to run it. Following our look at NVIDIA&#8217;s kernel-level OpenShell runtime[1] last week, Cloudflare takes a lighter approach. <strong><a href="https://blog.cloudflare.com/dynamic-workers/">Dynamic Worker Loader</a></strong> moves into open beta with V8 isolate sandboxes that boot in milliseconds. Roughly 100x faster than containers, with no concurrency limits and a decade of security hardening.</p><p><strong>Why now:</strong> As agents increasingly generate and execute their own code, the demand for lightweight, production-grade sandboxes is accelerating. Cloudflare&#8217;s isolate approach fills a real gap in the agent infrastructure stack.</p><p>[1] <a href="https://writing.alteredcraft.com/i/191822608/nvidia-openshell-a-sandboxed-runtime-for-ai-agents-that-actually-need-access">NVIDIA OpenShell: A Sandboxed Runtime for AI Agents That Actually Need Access</a></p><h3><strong>jai: A Lightweight Sandbox to Stop AI Agents From Wrecking Your Home Directory</strong></h3><p>Estimated read time: 3 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AtBS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e81f84a-9327-4842-8946-1af2839900db_764x412.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AtBS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e81f84a-9327-4842-8946-1af2839900db_764x412.png 424w, https://substackcdn.com/image/fetch/$s_!AtBS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e81f84a-9327-4842-8946-1af2839900db_764x412.png 848w, https://substackcdn.com/image/fetch/$s_!AtBS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e81f84a-9327-4842-8946-1af2839900db_764x412.png 1272w, https://substackcdn.com/image/fetch/$s_!AtBS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e81f84a-9327-4842-8946-1af2839900db_764x412.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AtBS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e81f84a-9327-4842-8946-1af2839900db_764x412.png" width="241" height="129.9633507853403" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e81f84a-9327-4842-8946-1af2839900db_764x412.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:412,&quot;width&quot;:764,&quot;resizeWidth&quot;:241,&quot;bytes&quot;:141886,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/192555975?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e81f84a-9327-4842-8946-1af2839900db_764x412.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AtBS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e81f84a-9327-4842-8946-1af2839900db_764x412.png 424w, https://substackcdn.com/image/fetch/$s_!AtBS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e81f84a-9327-4842-8946-1af2839900db_764x412.png 848w, https://substackcdn.com/image/fetch/$s_!AtBS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e81f84a-9327-4842-8946-1af2839900db_764x412.png 1272w, https://substackcdn.com/image/fetch/$s_!AtBS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e81f84a-9327-4842-8946-1af2839900db_764x412.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>For local development, Stanford releases jai, a free tool that <strong><a href="https://jai.scs.stanford.edu/">sandboxes AI coding agents with a single command</a></strong>. Copy-on-write overlays protect your home directory while keeping the working directory writable. Three isolation modes fill the gap between raw shell access and containerization.</p><p><strong>Practical tip:</strong> If you&#8217;re running agents like Codex or Claude Code against your local filesystem, prefix the command with <code>jai</code> to contain the blast radius without Docker or VM overhead.</p><h3><strong>Chroma&#8217;s Context-1: A 20B Model That Matches Frontier LLMs at Agentic Search</strong></h3><p>Estimated read time: 14 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X2tH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a1d242-580c-46bd-9c8a-b416a425d455_3250x1640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X2tH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a1d242-580c-46bd-9c8a-b416a425d455_3250x1640.png 424w, https://substackcdn.com/image/fetch/$s_!X2tH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a1d242-580c-46bd-9c8a-b416a425d455_3250x1640.png 848w, https://substackcdn.com/image/fetch/$s_!X2tH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a1d242-580c-46bd-9c8a-b416a425d455_3250x1640.png 1272w, https://substackcdn.com/image/fetch/$s_!X2tH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a1d242-580c-46bd-9c8a-b416a425d455_3250x1640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X2tH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a1d242-580c-46bd-9c8a-b416a425d455_3250x1640.png" width="495" height="249.87980769230768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70a1d242-580c-46bd-9c8a-b416a425d455_3250x1640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:735,&quot;width&quot;:1456,&quot;resizeWidth&quot;:495,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Chroma Context-1: Training a Self-Editing Search Agent&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Chroma Context-1: Training a Self-Editing Search Agent" title="Chroma Context-1: Training a Self-Editing Search Agent" srcset="https://substackcdn.com/image/fetch/$s_!X2tH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a1d242-580c-46bd-9c8a-b416a425d455_3250x1640.png 424w, https://substackcdn.com/image/fetch/$s_!X2tH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a1d242-580c-46bd-9c8a-b416a425d455_3250x1640.png 848w, https://substackcdn.com/image/fetch/$s_!X2tH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a1d242-580c-46bd-9c8a-b416a425d455_3250x1640.png 1272w, https://substackcdn.com/image/fetch/$s_!X2tH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70a1d242-580c-46bd-9c8a-b416a425d455_3250x1640.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Chroma releases Context-1, a 20B-parameter model purpose-trained for multi-hop retrieval. Its core innovation is <strong><a href="https://www.trychroma.com/research/context-1">self-editing context management</a></strong>, where the agent selectively discards irrelevant documents during search to prevent context rot, matching frontier LLMs at up to 10x the speed.</p><p><strong>What&#8217;s interesting:</strong> A purpose-trained 20B model matching frontier search agents at dramatically lower cost and latency opens multi-hop RAG to teams that previously couldn&#8217;t justify frontier API budgets.</p><h3><strong>Mistral Releases Voxtral TTS: A 4B Parameter Multilingual Text-to-Speech Model</strong></h3><p>Estimated read time: 5 min</p><p>Mistral launches Voxtral TTS, a 4B parameter model with <strong><a href="https://mistral.ai/news/voxtral-tts">emotionally expressive speech across 9 languages</a></strong>. It achieves 70ms latency, adapts to custom voices from 3 seconds of audio, and supports zero-shot cross-lingual generation.</p><p><strong>The highlight:</strong> Available via API or as open weights, this gives voice agent builders a production-ready option with custom voice cloning from just 3 seconds of reference audio.</p><h2><strong>NEWS &amp; EDITORIALS</strong></h2><h3><strong>State of the Tech Job Market: PM Roles Hit 3-Year High While Design Stalls</strong></h3><p>Estimated read time: 7 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q-z4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b702b4-849d-4f40-8591-4586efef2011_1244x586.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q-z4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b702b4-849d-4f40-8591-4586efef2011_1244x586.png 424w, https://substackcdn.com/image/fetch/$s_!Q-z4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b702b4-849d-4f40-8591-4586efef2011_1244x586.png 848w, https://substackcdn.com/image/fetch/$s_!Q-z4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b702b4-849d-4f40-8591-4586efef2011_1244x586.png 1272w, https://substackcdn.com/image/fetch/$s_!Q-z4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b702b4-849d-4f40-8591-4586efef2011_1244x586.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q-z4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b702b4-849d-4f40-8591-4586efef2011_1244x586.png" width="539" height="253.90192926045017" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13b702b4-849d-4f40-8591-4586efef2011_1244x586.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:586,&quot;width&quot;:1244,&quot;resizeWidth&quot;:539,&quot;bytes&quot;:418578,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/192555975?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b702b4-849d-4f40-8591-4586efef2011_1244x586.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Q-z4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b702b4-849d-4f40-8591-4586efef2011_1244x586.png 424w, https://substackcdn.com/image/fetch/$s_!Q-z4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b702b4-849d-4f40-8591-4586efef2011_1244x586.png 848w, https://substackcdn.com/image/fetch/$s_!Q-z4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b702b4-849d-4f40-8591-4586efef2011_1244x586.png 1272w, https://substackcdn.com/image/fetch/$s_!Q-z4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b702b4-849d-4f40-8591-4586efef2011_1244x586.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Lenny Rachitsky&#8217;s biannual analysis finds PM openings at a three-year high, 67,000+ engineering roles globally, and AI positions hockey-sticking. Yet <strong><a href="https://www.lennysnewsletter.com/p/state-of-the-product-job-market-in-ee9">design roles have plateaued since early 2023</a></strong>, suggesting AI-accelerated engineering is compressing traditional design workflows.</p><p><strong>The context:</strong> AI-specific roles are accelerating fastest, with a third of openings in the Bay Area and NYC emerging as the clear second hub. Worth tracking if you&#8217;re considering a move.</p><h3><strong>METR&#8217;s Tabletop Game Simulates Working with 200-Hour AI Agents, Finds Humans Become the Bottleneck</strong></h3><p>Estimated read time: 11 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2rBT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca29fd-f2bd-47e5-8b1d-c85111244d0f_1060x640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2rBT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca29fd-f2bd-47e5-8b1d-c85111244d0f_1060x640.png 424w, https://substackcdn.com/image/fetch/$s_!2rBT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca29fd-f2bd-47e5-8b1d-c85111244d0f_1060x640.png 848w, https://substackcdn.com/image/fetch/$s_!2rBT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca29fd-f2bd-47e5-8b1d-c85111244d0f_1060x640.png 1272w, https://substackcdn.com/image/fetch/$s_!2rBT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca29fd-f2bd-47e5-8b1d-c85111244d0f_1060x640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2rBT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca29fd-f2bd-47e5-8b1d-c85111244d0f_1060x640.png" width="475" height="286.79245283018867" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6ca29fd-f2bd-47e5-8b1d-c85111244d0f_1060x640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:1060,&quot;resizeWidth&quot;:475,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Diagram showing nested iteration loops: an inner loop of Code and Agent taking minutes, a middle loop with Human IC and Short experiments taking hours, and an outer loop with Peer review, Collect human data, and Training runs taking days to weeks&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram showing nested iteration loops: an inner loop of Code and Agent taking minutes, a middle loop with Human IC and Short experiments taking hours, and an outer loop with Peer review, Collect human data, and Training runs taking days to weeks" title="Diagram showing nested iteration loops: an inner loop of Code and Agent taking minutes, a middle loop with Human IC and Short experiments taking hours, and an outer loop with Peer review, Collect human data, and Training runs taking days to weeks" srcset="https://substackcdn.com/image/fetch/$s_!2rBT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca29fd-f2bd-47e5-8b1d-c85111244d0f_1060x640.png 424w, https://substackcdn.com/image/fetch/$s_!2rBT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca29fd-f2bd-47e5-8b1d-c85111244d0f_1060x640.png 848w, https://substackcdn.com/image/fetch/$s_!2rBT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca29fd-f2bd-47e5-8b1d-c85111244d0f_1060x640.png 1272w, https://substackcdn.com/image/fetch/$s_!2rBT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6ca29fd-f2bd-47e5-8b1d-c85111244d0f_1060x640.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Adding depth to our coverage of DX&#8217;s ~10% productivity finding[1] from last week, METR researchers simulated work with 200-hour AI agents. They found 3-5x uplift, but <strong><a href="https://metr.org/notes/2026-03-19-org-uplift-game/">human review, feedback, and prioritization become the dominant serial bottlenecks</a></strong> once execution is near-instant.</p><p><strong>The signal:</strong> As agents handle more execution, the bottleneck shifts to human judgment. Designing workflows around faster review and prioritization will matter more than speeding up implementation.</p><p>[1] <a href="https://writing.alteredcraft.com/i/191822608/ai-productivity-gains-land-at-10-not-the-2-3x-vendors-promised">AI Productivity Gains Land at ~10%, Not the 2-3x Vendors Promised</a></p><h3><strong>MiniMax M2.7 vs. Claude Opus 4.6: 90% of the Quality at 7% of the Cost</strong></h3><p>Estimated read time: 7 min</p><p>Shifting from organizational dynamics to model economics, and following our discussion of MiniMax M2.7&#8217;s self-evolution capabilities[1] last week, Kilo Code independently tested the model against Claude Opus 4.6 on three TypeScript tasks. Both found every bug, but <strong><a href="https://blog.kilo.ai/p/we-tested-minimax-m27-against-claude">MiniMax delivered comparable detection at 7% of the cost</a></strong>, $0.27 versus $3.67. Claude&#8217;s fixes remain more thorough.</p><p><strong>Worth watching:</strong> Open-weight models are closing the gap on detection tasks. Reserve frontier models for fixes that need depth, and you can cut AI coding costs dramatically on the rest.</p><p>[1] <a href="https://writing.alteredcraft.com/i/191822608/minimax-m27-the-model-that-helps-build-its-own-next-version">MiniMax M2.7: The Model That Helps Build Its Own Next Version</a></p><h3><strong>Inside Claude&#8217;s Mind: Anthropic&#8217;s Interpretability Research Reveals How LLMs Actually Think</strong></h3><p>Estimated read time: 11 min</p><p>Diving deeper into how these models actually work, Anthropic traced Claude&#8217;s internal computations and found surprising gaps between what the model reports and does. Claude <strong><a href="https://blog.bytebytego.com/p/how-anthropics-claude-thinks">invents its own algorithms, plans poetry ahead, and defaults to silence</a></strong>. Chain-of-thought traces can be post-hoc fabrications.</p><p><strong>Learning opportunity:</strong> Understanding how models actually reason versus what they report in chain-of-thought helps you build more robust evaluation pipelines and set realistic expectations for AI-assisted workflows.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Two Ways to /init]]></title><description><![CDATA[Turn Claude Code setup from a scan into a conversation]]></description><link>https://writing.alteredcraft.com/p/two-ways-to-init</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/two-ways-to-init</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Tue, 24 Mar 2026 12:05:49 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b1300ff8-8026-4c4f-8804-cdf62fd13c9e_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em><strong>Paid tier addition</strong>: This is the first of a new format I'm calling <strong>Notes</strong>: shorter posts capturing small discoveries worth passing along. The deeper, research-backed posts you're used to aren't going anywhere. Notes are in addition to those, not a replacement.</em></p></blockquote><p>Claude Code&#8217;s <code>/init</code> command analyzes your codebase and generates a <code>CLAUDE.md</code> file, the persistent&#8230;</p>
      <p>
          <a href="https://writing.alteredcraft.com/p/two-ways-to-init">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Weekly Review: Show Your Work]]></title><description><![CDATA[The week's curated tutorials, tools, and news on AI development, grounded in data and field reports]]></description><link>https://writing.alteredcraft.com/p/weekly-review-show-your-work</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/weekly-review-show-your-work</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Mon, 23 Mar 2026 12:17:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/821a0a03-a351-4f85-a156-ddbf198a5fae_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>Welcome to another edition of Altered Craft&#8217;s weekly AI review for developers. Thank you for making this part of your Monday. This week, the evidence is doing the talking. A 400-company study lands AI productivity gains at roughly 10%, a case study puts a 100-hour price tag on going from prototype to product, and a sensemaking framework argues you should ignore predictions entirely and follow field reports. Meanwhile, new coding models compete on benchmarks and pricing, and NVIDIA doubles down on agent security.</em></p></blockquote><h2><strong>TUTORIALS &amp; CASE STUDIES</strong></h2><h3><strong>MCP Is Dead, Long Live MCP: Why the CLI vs. MCP Debate Misses the Point</strong></h3><p>Estimated read time: 14 min</p><p>Continuing our coverage of the CLI-versus-MCP debate[1] from last week, Charles Chen argues the rush to abandon MCP for CLIs misses a crucial distinction. While CLIs save tokens for well-known tools, <strong><a href="https://chrlschn.dev/blog/2026/03/mcp-is-dead-long-live-mcp/">MCP over streamable HTTP unlocks centralized auth, telemetry, and security</a></strong> that enterprises need for structured agentic engineering at scale.</p><p><strong>The takeaway:</strong> The real value isn&#8217;t in local stdio mode. It&#8217;s in the remote HTTP transport layer that enables org-wide auth, observability, and governance over agent workflows.<br>[1] <a href="https://writing.alteredcraft.com/i/191082958/manus-lead-ditches-function-calling-for-unix-cli">Manus Lead Ditches Function Calling for Unix CLI</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>A Developer&#8217;s Guide to AI Agent Protocols: MCP, A2A, UCP, AP2, and A2UI</strong></h3><p>Estimated read time: 12 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vonj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51cde56-46ef-410a-a4b7-db5401ee5194_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vonj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51cde56-46ef-410a-a4b7-db5401ee5194_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!vonj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51cde56-46ef-410a-a4b7-db5401ee5194_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!vonj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51cde56-46ef-410a-a4b7-db5401ee5194_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!vonj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51cde56-46ef-410a-a4b7-db5401ee5194_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vonj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51cde56-46ef-410a-a4b7-db5401ee5194_2752x1536.png" width="449" height="250.71222527472528" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e51cde56-46ef-410a-a4b7-db5401ee5194_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:449,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;agent_protocol_banner&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="agent_protocol_banner" title="agent_protocol_banner" srcset="https://substackcdn.com/image/fetch/$s_!vonj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51cde56-46ef-410a-a4b7-db5401ee5194_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!vonj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51cde56-46ef-410a-a4b7-db5401ee5194_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!vonj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51cde56-46ef-410a-a4b7-db5401ee5194_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!vonj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51cde56-46ef-410a-a4b7-db5401ee5194_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Expanding on the protocol question, Google&#8217;s developer blog demystifies five AI agent protocols by <strong><a href="https://developers.googleblog.com/developers-guide-to-ai-agent-protocols/">building a restaurant supply chain agent with ADK</a></strong>. Each protocol is layered incrementally, showing exactly what custom integration code MCP, A2A, UCP, AP2, and A2UI each replace.</p><p><strong>What this enables:</strong> Instead of memorizing protocol specs, you see each one earn its place by eliminating real integration code in a practical, multi-step scenario.</p><h3><strong>The LLM Architecture Gallery: A Visual Reference from GPT-2 to Today&#8217;s MoE Models</strong></h3><p>Estimated read time: 4 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hUM8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd26f4cb-64f0-4463-9cf5-9e7e869f535d_3276x2808.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hUM8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd26f4cb-64f0-4463-9cf5-9e7e869f535d_3276x2808.webp 424w, https://substackcdn.com/image/fetch/$s_!hUM8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd26f4cb-64f0-4463-9cf5-9e7e869f535d_3276x2808.webp 848w, https://substackcdn.com/image/fetch/$s_!hUM8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd26f4cb-64f0-4463-9cf5-9e7e869f535d_3276x2808.webp 1272w, https://substackcdn.com/image/fetch/$s_!hUM8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd26f4cb-64f0-4463-9cf5-9e7e869f535d_3276x2808.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hUM8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd26f4cb-64f0-4463-9cf5-9e7e869f535d_3276x2808.webp" width="262" height="224.57142857142858" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd26f4cb-64f0-4463-9cf5-9e7e869f535d_3276x2808.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1248,&quot;width&quot;:1456,&quot;resizeWidth&quot;:262,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Architecture contact sheet showing the models featured in the LLM Architecture Gallery&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Architecture contact sheet showing the models featured in the LLM Architecture Gallery" title="Architecture contact sheet showing the models featured in the LLM Architecture Gallery" srcset="https://substackcdn.com/image/fetch/$s_!hUM8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd26f4cb-64f0-4463-9cf5-9e7e869f535d_3276x2808.webp 424w, https://substackcdn.com/image/fetch/$s_!hUM8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd26f4cb-64f0-4463-9cf5-9e7e869f535d_3276x2808.webp 848w, https://substackcdn.com/image/fetch/$s_!hUM8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd26f4cb-64f0-4463-9cf5-9e7e869f535d_3276x2808.webp 1272w, https://substackcdn.com/image/fetch/$s_!hUM8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd26f4cb-64f0-4463-9cf5-9e7e869f535d_3276x2808.webp 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>For a visual reference to the models powering these protocols, Sebastian Raschka&#8217;s <strong><a href="https://sebastianraschka.com/llm-architecture-gallery/">LLM Architecture Gallery</a></strong> collects standardized diagrams and fact sheets for major open-weight models from GPT-2 through DeepSeek V3, Llama 4, and Qwen3, documenting scale, attention type, and key design choices.</p><p><strong>Worth bookmarking:</strong> When you need to quickly compare attention mechanisms, MoE configurations, or normalization strategies across modern LLM architectures, this is the single-page reference to reach for.</p><h3><strong>Context Anchoring: The Practice of Externalizing AI Session Memory</strong></h3><p>Estimated read time: 11 min</p><p>Shifting from architecture to workflow, Martin Fowler&#8217;s team introduces <strong><a href="https://martinfowler.com/articles/reduce-friction-ai/context-anchoring.html">context anchoring: maintaining a living feature document outside the AI chat</a></strong>. The article shows how reasoning degrades faster than decisions in long contexts, and how a lightweight external record turns cold-start sessions into warm ones.</p><p><strong>Why this matters:</strong> If closing your AI chat session causes anxiety about losing context, this lightweight practice turns any new session or new teammate into a warm start.</p><h3><strong>Lessons from Building Claude Code: A Taxonomy of Skills and How to Write Good Ones</strong></h3><p>Estimated read time: 12 min</p><p>In more practical developer workflow guidance, an Anthropic engineer catalogs nine skill categories and shares <strong><a href="https://x.com/trq212/status/2033949937936085378">patterns for writing, distributing, and measuring Claude Code skills</a></strong> from hundreds in active internal use, including progressive disclosure via folder structure, iterative gotchas sections, and on-demand hooks.</p><p><strong>Key point:</strong> The best skills at Anthropic grew from real failure points, not upfront design. Start small with a few lines and a gotchas section, then iterate as edge cases appear.</p><h2><strong>TOOLS</strong></h2><h3><strong>NVIDIA OpenShell: A Sandboxed Runtime for AI Agents That Actually Need Access</strong></h3><p>Estimated read time: 3 min</p><p>Following our coverage of NanoClaw&#8217;s Docker-based agent isolation[1] last week, NVIDIA open-sourced OpenShell, a runtime that sandboxes AI agents with <a href="https://docs.nvidia.com/openshell/latest/about/overview.html">kernel-level isolation and declarative YAML policies</a> across filesystem, network, process, and inference layers, letting teams grant agents real capabilities without unrestricted access to credentials and source code.</p><p><strong>The context:</strong> As coding agents gain access to production credentials and source code, policy-as-code enforcement is becoming table stakes. OpenShell gives enterprises an open-source baseline.</p><p>[1] <a href="https://writing.alteredcraft.com/i/191082958/nanoclaw-partners-with-docker-for-agent-isolation">NanoClaw Partners with Docker for Agent Isolation</a></p><h3><strong>NVIDIA NemoClaw: A One-Command &#8220;Secure Claw&#8221; Stack for AI Agents</strong></h3><p>Estimated read time: 2 min</p><p>Building on the OpenShell runtime, NVIDIA releases NemoClaw, an open-source stack adding <strong><a href="https://www.nvidia.com/en-us/ai/nemoclaw/">policy-based privacy and security guardrails</a></strong> to OpenClaw autonomous agents. It routes to local Nemotron models for enhanced privacy and deploys everything with a single command.</p><p><strong>Why now:</strong> Multiple teams are converging on the same pattern: sandboxed agent execution with local model routing for privacy. NemoClaw makes this a one-command setup.</p><h3><strong>Cursor Ships Composer 2: Frontier-Level Coding at Aggressive Pricing</strong></h3><p>Estimated read time: 2 min</p><p>Moving from agent infrastructure to coding models, Cursor releases Composer 2 with <strong><a href="https://cursor.com/blog/composer-2">major gains on Terminal-Bench 2.0, SWE-bench Multilingual, and CursorBench</a></strong> through continued pretraining and RL on long-horizon tasks. Pricing at $0.50/M input tokens undercuts comparable fast models.</p><p><strong>What&#8217;s interesting:</strong> The benchmark jumps over Composer 1.5 are substantial, and the aggressive pricing signals that frontier-level coding performance is becoming commoditized faster than expected.</p><h3><strong>OpenAI Launches GPT-5.4 Mini and Nano: Smaller Models Built for Speed-Sensitive Workloads</strong></h3><p>Estimated read time: 5 min</p><p>Also in the competitive coding model space, OpenAI releases GPT-5.4 mini and nano optimized for coding, subagents, and computer use. Mini hits 54.4% on SWE-Bench Pro at 2x the speed, offering <strong><a href="https://openai.com/index/introducing-gpt-5-4-mini-and-nano/">a strong performance-per-latency tradeoff for agentic workflows</a></strong>. Nano targets classification at $0.20/M tokens.</p><p><strong>What this unlocks:</strong> For multi-agent systems, mini at $0.75/M input tokens becomes the natural default for delegated subtasks where speed matters more than peak capability.</p><h3><strong>Mistral Launches Forge: Custom Frontier Model Training for Enterprises</strong></h3><p>Estimated read time: 7 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z7xy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f817d6f-06ab-4432-80dd-05d2cf7b8fdb_4996x1340.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z7xy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f817d6f-06ab-4432-80dd-05d2cf7b8fdb_4996x1340.png 424w, https://substackcdn.com/image/fetch/$s_!z7xy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f817d6f-06ab-4432-80dd-05d2cf7b8fdb_4996x1340.png 848w, https://substackcdn.com/image/fetch/$s_!z7xy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f817d6f-06ab-4432-80dd-05d2cf7b8fdb_4996x1340.png 1272w, https://substackcdn.com/image/fetch/$s_!z7xy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f817d6f-06ab-4432-80dd-05d2cf7b8fdb_4996x1340.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z7xy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f817d6f-06ab-4432-80dd-05d2cf7b8fdb_4996x1340.png" width="571" height="153.3385989010989" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f817d6f-06ab-4432-80dd-05d2cf7b8fdb_4996x1340.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:391,&quot;width&quot;:1456,&quot;resizeWidth&quot;:571,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Marketecture Forge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Marketecture Forge" title="Marketecture Forge" srcset="https://substackcdn.com/image/fetch/$s_!z7xy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f817d6f-06ab-4432-80dd-05d2cf7b8fdb_4996x1340.png 424w, https://substackcdn.com/image/fetch/$s_!z7xy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f817d6f-06ab-4432-80dd-05d2cf7b8fdb_4996x1340.png 848w, https://substackcdn.com/image/fetch/$s_!z7xy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f817d6f-06ab-4432-80dd-05d2cf7b8fdb_4996x1340.png 1272w, https://substackcdn.com/image/fetch/$s_!z7xy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f817d6f-06ab-4432-80dd-05d2cf7b8fdb_4996x1340.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>For teams wanting models trained on their own data, Mistral AI introduces Forge, a platform for <strong><a href="https://mistral.ai/news/forge">training frontier-grade models on proprietary enterprise data</a></strong> including codebases and compliance policies. Forge is agent-first, letting autonomous agents drive fine-tuning through natural language.</p><p><strong>The opportunity:</strong> If your team has outgrown RAG-based approaches, Forge&#8217;s RL-based continuous improvement loop offers a practical path to custom enterprise models without building training infrastructure.</p><h3><strong>Claude Code Channels: Push Events from Telegram and Discord Into Your Coding Session</strong></h3><p>Estimated read time: 4 min</p><p>Shifting to developer experience tooling, Anthropic&#8217;s research preview introduces <strong><a href="https://code.claude.com/docs/en/channels">channels that push real-time Telegram and Discord events into running Claude Code sessions</a></strong>. Claude reads and replies through the same bridge, with sender allowlists for security. A localhost demo lets you test first.</p><p><strong>Worth noting:</strong> This turns Claude Code from a pull-only tool into a reactive one, enabling workflows where your coding agent responds to external events while you&#8217;re away from the terminal.</p><h3><strong>APM: Microsoft&#8217;s Open-Source Package Manager for AI Agent Configuration</strong></h3><p>Estimated read time: 3 min</p><p>Also addressing AI developer tooling, Microsoft releases APM, bringing <strong><a href="https://github.com/microsoft/apm">package.json-style dependency management to AI agent configuration</a></strong>. Teams declare prompts, skills, plugins, and MCP servers in one apm.yml manifest with transitive resolution and cross-agent support for Copilot, Claude Code, and Cursor.</p><p><strong>Problem it solves:</strong> If your team manually configures AI coding agents per repo, APM lets you declare that setup once and reproduce it anywhere with a single install command.</p><h2><strong>NEWS &amp; EDITORIALS</strong></h2><h3><strong>AI Productivity Gains Land at ~10%, Not the 2-3x Vendors Promised</strong></h3><p>Estimated read time: 3 min</p><p>Putting data behind our coverage of Rob Englander&#8217;s &#8220;AI did not simplify engineering&#8221; thesis[1] from last week, a DX longitudinal study across 400 companies finds that despite 65% growth in AI usage, PR throughput rose only ~10%. Developers explain that <strong><a href="https://newsletter.getdx.com/p/ai-productivity-gains-are-10-not">writing code was never the bottleneck</a></strong>. Planning, code review, and handoffs still dominate engineering time.</p><p><strong>The data:</strong> Organizations should recalibrate expectations toward the 8-12% range and redirect investment toward the non-coding bottlenecks that AI hasn&#8217;t solved yet.</p><p>[1] <a href="https://writing.alteredcraft.com/i/191082958/ai-did-not-simplify-software-engineering">AI Did Not Simplify Software Engineering</a></p><h3><strong>The 100-Hour Gap Between a Vibecoded Prototype and a Working Product</strong></h3><p>Estimated read time: 5 min</p><p>Illustrating that productivity gap in practice, this case study reveals a <strong><a href="https://kanfa.macbudkowski.com/vibecoding-cryptosaurus">100-hour gap between a vibecoded prototype and a production-ready product</a></strong>. The impressive AI-generated demo feels like most of the work, but edge cases, error handling, and deployment remain stubbornly manual.</p><p><strong>The takeaway:</strong> Budget real engineering time beyond your prototype. The 100-hour figure gives teams a practical baseline for scoping the work AI doesn&#8217;t yet handle.</p><h3><strong>When LLM Exhaustion Is Actually a Skill Issue</strong></h3><p>Estimated read time: 4 min</p><p>On the developer experience side of that gap, Tom Johnell argues frustrating LLM sessions stem from developer fatigue, not model degradation. He identifies <strong><a href="https://tomjohnell.com/llms-can-be-absolutely-exhausting/">a &#8220;doom-loop psychosis&#8221; where tired prompting and slow feedback loops waste hours</a></strong>. The fix: treat prompt confidence as an energy signal.</p><p><strong>The fix in practice:</strong> If you&#8217;re not confident your prompt will nail the result before you hit submit, you likely need a break or haven&#8217;t decomposed the problem enough.</p><h3><strong>A Sensemaking Framework for AI: Ignore Predictions, Follow Field Reports</strong></h3><p>Estimated read time: 15 min</p><p>For a broader lens on navigating these challenges, Cedric Chin studies past tech revolutions and argues for ignoring all AI predictions. Instead, collect <strong><a href="https://commoncog.com/how-to-make-sense-of-ai/">detailed field reports of actual use</a></strong> and filter them through four questions about outcomes, actions, value, and causation.</p><p><strong>How to apply it:</strong> The four-question filter (outcomes, actions, value, causation) gives you a repeatable framework for evaluating any AI capability claim against your own context.</p><h3><strong>Cerebras Brings Wafer-Scale Inference to AWS, Introduces Disaggregated Architecture with Trainium</strong></h3><p>Estimated read time: 4 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P0Bg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e41854-e841-40d9-817a-b255fafb4efe_2000x803.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P0Bg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e41854-e841-40d9-817a-b255fafb4efe_2000x803.png 424w, https://substackcdn.com/image/fetch/$s_!P0Bg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e41854-e841-40d9-817a-b255fafb4efe_2000x803.png 848w, https://substackcdn.com/image/fetch/$s_!P0Bg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e41854-e841-40d9-817a-b255fafb4efe_2000x803.png 1272w, https://substackcdn.com/image/fetch/$s_!P0Bg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e41854-e841-40d9-817a-b255fafb4efe_2000x803.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P0Bg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e41854-e841-40d9-817a-b255fafb4efe_2000x803.png" width="509" height="204.50892857142858" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9e41854-e841-40d9-817a-b255fafb4efe_2000x803.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:585,&quot;width&quot;:1456,&quot;resizeWidth&quot;:509,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!P0Bg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e41854-e841-40d9-817a-b255fafb4efe_2000x803.png 424w, https://substackcdn.com/image/fetch/$s_!P0Bg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e41854-e841-40d9-817a-b255fafb4efe_2000x803.png 848w, https://substackcdn.com/image/fetch/$s_!P0Bg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e41854-e841-40d9-817a-b255fafb4efe_2000x803.png 1272w, https://substackcdn.com/image/fetch/$s_!P0Bg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9e41854-e841-40d9-817a-b255fafb4efe_2000x803.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Shifting to industry moves, Cerebras announces AWS will deploy CS-3 systems via Bedrock. Their <strong><a href="https://www.cerebras.ai/blog/cerebras-is-coming-to-aws">disaggregated inference architecture</a></strong> splits prefill across Trainium and decode across Cerebras WSE, targeting 5x more high-speed token capacity for agentic coding workloads.</p><p><strong>Market signal:</strong> Agentic coding generates roughly 15x more tokens than chat. This partnership directly targets the inference bottleneck that makes token-heavy agent pipelines expensive to scale on AWS.</p><h3><strong>OpenAI Acquires Astral, Bringing Python&#8217;s Most Popular Dev Tools Into Codex</strong></h3><p>Estimated read time: 3 min</p><p>In more industry consolidation news, OpenAI announces its <strong><a href="https://openai.com/index/openai-to-acquire-astral">acquisition of Astral</a></strong>, creators of uv, Ruff, and ty, folding Python&#8217;s widely adopted open source tools into Codex. OpenAI commits to continued open source support while integrating for full-lifecycle AI agent development.</p><p><strong>Worth watching:</strong> If your Python workflow depends on uv, Ruff, or ty, the roadmap for those tools now runs through OpenAI&#8217;s Codex strategy. Watch for governance and licensing signals post-close.</p><h3><strong>MiniMax M2.7: The Model That Helps Build Its Own Next Version</strong></h3><p>Estimated read time: 10 min</p><p>On the model development front, MiniMax releases M2.7, a model that <strong><a href="https://www.minimax.io/news/minimax-m27-en">actively participates in its own evolution</a></strong> by autonomously optimizing scaffolds and running RL experiments. It scores 56.22% on SWE-Pro and now manages 30-50% of MiniMax&#8217;s internal RL workflow.</p><p><strong>What stands out:</strong> The self-evolution loop, where the model iterates its own scaffolding and training, signals a shift from models as passive outputs to active participants in their own development.</p><h3><strong>The 3 Cs Framework: How Open Source Maintainers Can Mentor Strategically in the AI Era</strong></h3><p>Estimated read time: 8 min</p><p>Returning to the human side of AI&#8217;s impact, AI-generated pull requests are flooding open source projects, eroding traditional quality signals. GitHub&#8217;s Abigail Cabunoc Mayes proposes the <strong><a href="https://github.blog/open-source/maintainers/rethinking-open-source-mentorship-in-the-ai-era/">3 Cs framework -- Comprehension, Context, and Continuity</a></strong> to help maintainers invest mentorship energy strategically.</p><p><strong>The opportunity:</strong> Whether you maintain or contribute to open source, the 3 Cs give you a practical filter for where to invest mentorship energy when traditional quality signals are unreliable.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Token Anxiety]]></title><description><![CDATA[What unused credits are really telling you]]></description><link>https://writing.alteredcraft.com/p/token-anxiety</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/token-anxiety</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Fri, 20 Mar 2026 20:53:29 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/94bb2580-f5de-4f33-b2d5-f5a4befdeb24_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s Thursday. My Claude Max usage resets tomorrow morning, and I&#8217;m staring at the weekly dashboard.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zBX9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153f8dc-1a1a-4eeb-a720-57d15b735da1_1665x640.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zBX9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153f8dc-1a1a-4eeb-a720-57d15b735da1_1665x640.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zBX9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153f8dc-1a1a-4eeb-a720-57d15b735da1_1665x640.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zBX9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153f8dc-1a1a-4eeb-a720-57d15b735da1_1665x640.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zBX9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153f8dc-1a1a-4eeb-a720-57d15b735da1_1665x640.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zBX9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153f8dc-1a1a-4eeb-a720-57d15b735da1_1665x640.jpeg" width="1456" height="560" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c153f8dc-1a1a-4eeb-a720-57d15b735da1_1665x640.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:560,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:299124,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/191622369?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153f8dc-1a1a-4eeb-a720-57d15b735da1_1665x640.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zBX9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153f8dc-1a1a-4eeb-a720-57d15b735da1_1665x640.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zBX9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153f8dc-1a1a-4eeb-a720-57d15b735da1_1665x640.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zBX9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153f8dc-1a1a-4eeb-a720-57d15b735da1_1665x640.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zBX9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153f8dc-1a1a-4eeb-a720-57d15b735da1_1665x640.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Sixty-eight percent. I start running the math on what those remaining credits could have built. Not because I need anything built. Because leaving them on the table feels like waste.</p><p>I have a gaming laptop sitting on my desk. I bought it during COVID for exactly the reason you&#8217;d expect. It hasn&#8217;t run a game in months. Now I look at it and think: that GPU should be running local models. It should be doing something. It should be working while I sleep.</p><p>As I review this draft, I pause every few minutes. A coding agent working on a bug fix in a project chimes in, requesting feedback. I switch contexts, review its output, give it another task, and come back to writing. The irony isn&#8217;t lost on me. I&#8217;m writing about the pressure to always have something running while I literally have something running.</p><p>One name I&#8217;ve been using for this feeling is token anxiety. The persistent, low-grade pressure that you should be doing more with AI tools. Not because you have a specific need, but because the capacity is there and you&#8217;re not using it. The term is still settling out, but the feeling is precise.</p><p>If this sounds familiar, you&#8217;re not imagining it. And you&#8217;re not alone.</p><h2><strong>You&#8217;re Not the Only One</strong></h2><div class="paywall-jump" data-component-name="PaywallToDOM"></div><p>Something shifted at the start of this year. Agents got meaningfully more capable of working on larger tasks for longer stretches. Open-source agent tools went viral, and I won&#8217;t even get into OpenClaw. The infrastructure for running AI autonomously became accessible to anyone willing to set it up.</p><p>And the psychological effects followed immediately.</p><p><a href="https://techcrunch.com/2026/02/09/the-first-signs-of-burnout-are-coming-from-the-people-who-embrace-ai-the-most/">TechCrunch reported</a> in February that the first signs of burnout are coming from the people who embrace AI the most. Not the skeptics. Not the holdouts. The enthusiasts. The people who leaned in the hardest are the ones hitting the wall.</p><p>Harvard Business Review coined the term <a href="https://hbr.org/2026/03/when-using-ai-leads-to-brain-fry">&#8220;brain fry&#8221;</a> to describe the cognitive strain from managing multiple AI agents and constant tool switching. Users describe a buzzing feeling, mental fog, difficulty focusing. The tools were supposed to free up mental bandwidth. For many, they&#8217;re consuming more of it.</p><p>In my own community, Portland AI Engineers, the pattern is visible. The conversations have shifted from &#8220;what can I build with this?&#8221; to &#8220;how do I keep up with all of it?&#8221; The excitement is still there, but it&#8217;s threaded with something more anxious.</p><h2><strong>It&#8217;s Not About the Tokens</strong></h2><p>Here&#8217;s where I think most of the current conversation gets it wrong. The articles about token anxiety tend to frame it as a cost problem. Watch your spend. Set budgets. Optimize your prompts. That&#8217;s useful advice, but it misses the point.</p><p>When I looked at those unused Claude Max credits and felt a pang, that wasn&#8217;t about twenty dollars. It was about the gap between who I am and who I feel I should be now that the tools have made so much more feel possible.</p><p>That&#8217;s an identity question, not a budgeting question.</p><p>The pressure to do more with the time you have isn&#8217;t new. Every developer has felt it. I remember Red Bull-fueled coding marathons during my startup days, grinding through weekends convinced that more hours meant more progress. At some point, I was introducing more bugs than features.</p><p>The guilt of &#8220;I could be doing more&#8221; existed long before agents. What&#8217;s changed is the scale. AI dramatically expanded what&#8217;s possible in a given hour, and that expansion is still accelerating. The gap between what you&#8217;re doing and what you could theoretically be doing has never been wider.</p><p>Now an agent can work while you sleep. A local model can run on that idle GPU. The ceiling moved upward, fast, and you&#8217;re measuring yourself against it. Every hour without something running starts to feel like an hour wasted. Not because it is. Because it could have been <em>something</em>.</p><p>This is the anxiety of unrealized potential. The weight of everything you could be doing but aren&#8217;t. When AI was less capable, the menu of what you could build was finite and manageable. Now it essentially feels infinite, and every new capability adds another option you&#8217;re choosing not to pursue.</p><p>That internal pressure would be hard enough on its own. But you&#8217;re not experiencing it in a vacuum. As AI lowers the barrier to building, more people are building visibly. Your feed is full of developers shipping projects, launching tools, posting demos. <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC8283615/">Research on FOMO</a> consistently shows that social comparison drives anxiety and compulsive behavior. A culture that already valued output and shipping is especially susceptible. So the weight of what you haven&#8217;t done meets a constant stream of evidence of what others apparently have.</p><p>That&#8217;s the two-front pressure: internally, an infinite menu of things you could be pursuing; externally, a highlight reel of people who seem to be pursuing all of it.</p><h2><strong>We&#8217;ve Been Here Before</strong></h2><p>If you&#8217;ve been in this industry for more than a few years, this pressure has a familiar shape. Early cloud adoption brought a similar anxiety. You&#8217;d watch competitors spin up infrastructure and feel the pull to migrate everything, immediately, before you fell behind. Containers and Kubernetes created another wave. Everyone needed to be containerized. Everyone needed orchestration. The ones who didn&#8217;t felt like they were falling behind.</p><p>In hindsight, the teams that adopted everything fastest weren&#8217;t necessarily ones that fared best. They carried the usual operational burdens plus the pain of early-stage tooling, constant up-skilling, and undocumented edge cases. The teams that often fared better were the ones who chose deliberately: which problems actually warranted new approaches, and which were fine with proven solutions.</p><p>That pattern is relevant now, but this time is different in scale and in kind. Previous transitions asked you to learn a new tool or platform. You learned it, it stabilized, you moved on. This one is an entirely new abstraction layer: agents, prompts, context management, memory, tool orchestration. It evolves monthly. What you learned about agents three months ago may already be partially obsolete. And unlike any previous wave, the tools work without you. Cloud and containers were things you operated. Agents operate independently.</p><p>On top of that, the friction to go deep on something new has nearly vanished. You can spin up a working prototype of almost anything in an afternoon. That&#8217;s genuinely powerful, and it&#8217;s exactly why choosing where to go deep matters more than ever. The surface area of &#8220;things you could learn&#8221; grew by an order of magnitude in about six months. No single person can cover all of it, and trying to is the fastest path to the anxiety we&#8217;re talking about.</p><h2><strong>What I&#8217;m Trying</strong></h2><p>I don&#8217;t have this figured out. I&#8217;m writing about it partly because writing is how I process, and this is something I&#8217;m actively processing.</p><p>My situation makes this particularly acute. As a full-time AI researcher and writer, I&#8217;m hyper-exposed to every new advance. I see it all, every day. And I come from a software engineering background, which means my instinct when I see something interesting is to build with it. That combination is a recipe for constant distraction disguised as diligence. Every new technique, every new tool, triggers the same impulse: I should try this. The discipline I&#8217;m still developing is protecting time for the research and writing that are actually my job, which means being very deliberate about what I choose to build.</p><p>The practice I&#8217;ve landed on is still evolving. I use Obsidian as my second brain. It&#8217;s all simple markdown files, which makes it inherently agent-friendly. Inside it, I curate my short and medium-term career goals. I don&#8217;t pretend to know what I&#8217;ll be doing in the long term, so I don&#8217;t plan for it. I use Claude Code to brainstorm against those goals, pressure-test my priorities, and reinforce my direction when the noise gets loud. The process is never finished. I continually simplify it, strip out what isn&#8217;t working, and let it evolve.</p><p>The effect is that when something new and shiny lands, I have something to check it against. Not a rigid framework, but a set of compass goals that help me ask: does this serve what I&#8217;m actually working toward, or does it just feel like something I should try?</p><p>Sometimes the answer is: not right now. And that&#8217;s the hardest part. Deliberately choosing to say no to something interesting, not because it&#8217;s bad, but because it doesn&#8217;t align with where you&#8217;re headed. What helps me is giving myself a hedge: bookmark it, set it aside for three or four weeks, then revisit. If it still matters after that window, the community has had time to vet it, documentation has improved, and you&#8217;ll learn it faster with better signal. If it&#8217;s faded, you saved yourself a detour. Either way, a few weeks doesn&#8217;t put you behind. The anxiety says otherwise, but the anxiety is wrong about this.</p><p>Your version of this will look different, but the underlying loop is the same. Define your compass goals, even loosely. When new tech appears, check it against those goals. Go deep only where it serves them. Periodically reassess the goals themselves, because the landscape shifts and your direction should be allowed to shift with it.</p><h2><strong>The Goal Isn&#8217;t More Tokens</strong></h2><p>If you&#8217;re feeling the pull I&#8217;ve described here, I want to leave you with this: you&#8217;re not behind. The anxiety is real, it&#8217;s widespread, and it&#8217;s hitting the most engaged practitioners the hardest. That last part is important. Feeling this way is not evidence that you&#8217;re doing something wrong. It&#8217;s probably evidence that you care about doing it right.</p><p>The goal isn&#8217;t to use more tokens. It isn&#8217;t to have agents running around the clock. It isn&#8217;t to repurpose every piece of hardware in your house into an AI box (though I&#8217;m still eyeing that laptop).</p><p>The goal is intention. High-level compass goals have always been good practice, but they&#8217;ve never been more important than in a moment when the friction to build has nearly disappeared. Knowing why you&#8217;re spending the tokens you spend. Choosing where to invest instead of feeling guilty about what you&#8217;re passing on. Having a direction, even a rough one, that lets you evaluate opportunities against your actual goals instead of against an impossible standard of doing everything.</p><p>The tools made so much more feel possible. That&#8217;s genuinely exciting. The work is making sure your default is to review, not simply react.</p>]]></content:encoded></item><item><title><![CDATA[Weekly Review: Inside the Agent]]></title><description><![CDATA[The week's curated deep dives into agent architecture, agentic tooling, and the real engineering challenges underneath]]></description><link>https://writing.alteredcraft.com/p/weekly-review-inside-the-agent</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/weekly-review-inside-the-agent</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Mon, 16 Mar 2026 12:06:19 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/320e1e9b-589c-476c-8e6e-c1cb65773e17_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>Welcome back to Altered Craft&#8217;s weekly AI review for developers. We&#8217;re glad you&#8217;re here, and we don&#8217;t take your attention for granted. This week, the conversation shifts from whether to adopt agents to what&#8217;s actually inside them. You&#8217;ll find practitioners dissecting harness architecture, reimagining tool interfaces with Unix CLI, and building isolation infrastructure for production agent teams. On the editorial side, Ethan Mollick maps AI&#8217;s rolling disruption while two authors independently conclude that faster code generation is creating new forms of engineering complexity.</em></p></blockquote><h2><strong>TUTORIALS &amp; CASE STUDIES</strong></h2><h3><strong>What Makes AI Agents Actually Work</strong></h3><p>Estimated read time: 12 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!06OS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8b89cf-ad65-4c76-90fb-595e0af2da48_680x542.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!06OS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8b89cf-ad65-4c76-90fb-595e0af2da48_680x542.png 424w, https://substackcdn.com/image/fetch/$s_!06OS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8b89cf-ad65-4c76-90fb-595e0af2da48_680x542.png 848w, https://substackcdn.com/image/fetch/$s_!06OS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8b89cf-ad65-4c76-90fb-595e0af2da48_680x542.png 1272w, https://substackcdn.com/image/fetch/$s_!06OS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8b89cf-ad65-4c76-90fb-595e0af2da48_680x542.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!06OS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8b89cf-ad65-4c76-90fb-595e0af2da48_680x542.png" width="466" height="371.4294117647059" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba8b89cf-ad65-4c76-90fb-595e0af2da48_680x542.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:542,&quot;width&quot;:680,&quot;resizeWidth&quot;:466,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!06OS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8b89cf-ad65-4c76-90fb-595e0af2da48_680x542.png 424w, https://substackcdn.com/image/fetch/$s_!06OS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8b89cf-ad65-4c76-90fb-595e0af2da48_680x542.png 848w, https://substackcdn.com/image/fetch/$s_!06OS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8b89cf-ad65-4c76-90fb-595e0af2da48_680x542.png 1272w, https://substackcdn.com/image/fetch/$s_!06OS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba8b89cf-ad65-4c76-90fb-595e0af2da48_680x542.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Building on our coverage of Morris&#8217; &#8220;harness engineer&#8221; role concept[1] from last week, LangChain now formally defines Agent = Model + Harness, where the harness encompasses all code, configuration, and execution logic surrounding the model. This deep dive covers <strong><a href="https://blog.langchain.com/the-anatomy-of-an-agent-harness/">context compaction strategies</a></strong>, sandboxed execution, memory systems, and long-horizon patterns. As models improve, harness engineering remains essential.</p><p>[1] <a href="https://writing.alteredcraft.com/i/190343515/positioning-humans-in-ai-development-loops">Positioning Humans in AI Development Loops</a></p><p><strong>Why this matters:</strong> Understanding the harness concept helps you architect agent systems that stay robust as you swap underlying models, a critical skill as the landscape shifts rapidly.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>Manus Lead Ditches Function Calling for Unix CLI</strong></h3><p>Estimated read time: 18 min</p><p>Extending our coverage of Holmes&#8217; CLI-over-MCP argument[1] from last week, a former Manus backend lead takes the position even further: a single <code>run(command="...")</code> tool with Unix CLI commands outperforms function-calling catalogs entirely. <strong><a href="https://www.reddit.com/r/LocalLLaMA/comments/1rrisqn/i_was_backend_lead_at_manus_after_building_agents/">CLI is the densest tool-use pattern in LLM training data</a></strong>, and progressive <code>--help</code> discovery guides agents without bloating system prompts.</p><p>[1] <a href="https://writing.alteredcraft.com/i/190343515/clis-beat-mcp-for-ai-tool-integration">CLIs Beat MCP for AI Tool Integration</a></p><p><strong>The takeaway:</strong> If you&#8217;re building agent tool interfaces, this battle-tested approach reduces tool selection complexity while leveraging what LLMs already know from training data. The production failure stories alone are worth the read.</p><div><hr></div><h3><strong>How Claude&#8217;s Generative UI Actually Works Inside</strong></h3><p>Estimated read time: 10 min</p><p>Shifting from the tool layer to the presentation layer, Michael Livshits reverse-engineered Anthropic&#8217;s generative UI, revealing a <code>show_widget</code> tool call with progressive DOM rendering. He replicated the pattern for a CLI agent using <strong><a href="https://michaellivs.com/blog/reverse-engineering-claude-generative-ui">DOM diffing with morphdom</a></strong> to achieve smooth streaming HTML updates.</p><p><strong>What&#8217;s interesting:</strong> The architecture reveals that generative UI requires no specialized rendering engine, just smart HTML injection and DOM diffing. The extracted design system guidelines are a bonus for anyone building similar features.</p><div><hr></div><h3><strong>OpenAI&#8217;s Social Engineering Approach to Agent Security</strong></h3><p>Estimated read time: 7 min</p><p>With agents gaining richer capabilities, security becomes critical. OpenAI reframes prompt injection as a social engineering problem. Their <strong><a href="https://openai.com/index/designing-agents-to-resist-prompt-injection/">Safe Url detection</a></strong> constrains manipulation impact through source-sink analysis, flagging when conversation data would be transmitted to third parties, mirroring how organizations manage human agent risk.</p><p><strong>Key point:</strong> Source-sink analysis is a practical framework you can apply today when designing agent permissions and data flow boundaries. As agents handle more sensitive tasks, this mental model becomes essential.</p><div><hr></div><h3><strong>From Individual AI to Institutional Intelligence</strong></h3><p>Estimated read time: 9 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tboj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b4a7a3-fd41-493e-a938-a01a4ce7130b_743x278.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tboj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b4a7a3-fd41-493e-a938-a01a4ce7130b_743x278.png 424w, https://substackcdn.com/image/fetch/$s_!tboj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b4a7a3-fd41-493e-a938-a01a4ce7130b_743x278.png 848w, https://substackcdn.com/image/fetch/$s_!tboj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b4a7a3-fd41-493e-a938-a01a4ce7130b_743x278.png 1272w, https://substackcdn.com/image/fetch/$s_!tboj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b4a7a3-fd41-493e-a938-a01a4ce7130b_743x278.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tboj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b4a7a3-fd41-493e-a938-a01a4ce7130b_743x278.png" width="621" height="232.35262449528938" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88b4a7a3-fd41-493e-a938-a01a4ce7130b_743x278.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:278,&quot;width&quot;:743,&quot;resizeWidth&quot;:621,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tboj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b4a7a3-fd41-493e-a938-a01a4ce7130b_743x278.png 424w, https://substackcdn.com/image/fetch/$s_!tboj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b4a7a3-fd41-493e-a938-a01a4ce7130b_743x278.png 848w, https://substackcdn.com/image/fetch/$s_!tboj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b4a7a3-fd41-493e-a938-a01a4ce7130b_743x278.png 1272w, https://substackcdn.com/image/fetch/$s_!tboj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88b4a7a3-fd41-493e-a938-a01a4ce7130b_743x278.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Zooming out from individual agent design, George Sivulka argues that organizations fail to capture AI&#8217;s 10x individual productivity gains without redesigning operations. His seven pillars of <strong><a href="https://www.a16z.news/p/institutional-ai-vs-individual-ai">institutional intelligence</a></strong> cover coordination, signal detection, bias resistance, and unprompted AI action.</p><p><strong>The opportunity:</strong> If you&#8217;re consulting or leading AI adoption, this framework gives you structured vocabulary for conversations about why individual productivity tools aren&#8217;t translating into organizational value.</p><div><hr></div><h2><strong>TOOLS</strong></h2><h3><strong>JetBrains Air Runs Multiple Coding Agents Together</strong></h3><p>Estimated read time: 4 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!G-Ko!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c984b48-a3ce-45a4-a959-3f36d52e9857_1924x1254.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!G-Ko!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c984b48-a3ce-45a4-a959-3f36d52e9857_1924x1254.png 424w, https://substackcdn.com/image/fetch/$s_!G-Ko!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c984b48-a3ce-45a4-a959-3f36d52e9857_1924x1254.png 848w, https://substackcdn.com/image/fetch/$s_!G-Ko!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c984b48-a3ce-45a4-a959-3f36d52e9857_1924x1254.png 1272w, https://substackcdn.com/image/fetch/$s_!G-Ko!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c984b48-a3ce-45a4-a959-3f36d52e9857_1924x1254.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!G-Ko!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c984b48-a3ce-45a4-a959-3f36d52e9857_1924x1254.png" width="532" height="346.75" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c984b48-a3ce-45a4-a959-3f36d52e9857_1924x1254.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:949,&quot;width&quot;:1456,&quot;resizeWidth&quot;:532,&quot;bytes&quot;:1344252,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/191082958?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c984b48-a3ce-45a4-a959-3f36d52e9857_1924x1254.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!G-Ko!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c984b48-a3ce-45a4-a959-3f36d52e9857_1924x1254.png 424w, https://substackcdn.com/image/fetch/$s_!G-Ko!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c984b48-a3ce-45a4-a959-3f36d52e9857_1924x1254.png 848w, https://substackcdn.com/image/fetch/$s_!G-Ko!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c984b48-a3ce-45a4-a959-3f36d52e9857_1924x1254.png 1272w, https://substackcdn.com/image/fetch/$s_!G-Ko!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c984b48-a3ce-45a4-a959-3f36d52e9857_1924x1254.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>JetBrains launches Air, an <strong><a href="https://air.dev/">Agentic Development Environment</a></strong> where Codex, Claude Agent, Gemini CLI, and Junie execute independent task loops in parallel. Each agent runs in isolated Docker containers or Git worktrees. The desktop app provides code-aware task definition, concurrent progress monitoring, and language-aware review. macOS preview available now.</p><p><strong>Why now:</strong> Agent orchestration environments are becoming a new product category. Air&#8217;s model-agnostic approach lets you compare agents side by side and match the right tool to each task.</p><div><hr></div><h3><strong>gstack Turns Claude Code Into Expert Teams</strong></h3><p>Estimated read time: 5 min</p><p>Also in the agent orchestration space, YC&#8217;s Garry Tan created gstack: eight specialized skills for Claude Code enforcing distinct cognitive modes. Includes CEO-level planning, paranoid code review, diff-aware QA, and automated shipping with <strong><a href="https://github.com/garrytan/gstack">native browser testing and cookie import</a></strong>. Supports 10+ parallel sessions via Conductor.</p><p><strong>Worth noting:</strong> The philosophy of explicit cognitive mode switching, where planning stays separate from review and shipping, is a workflow pattern worth adopting regardless of which agent tools you use.</p><div><hr></div><h3><strong>NanoClaw Partners with Docker for Agent Isolation</strong></h3><p>Estimated read time: 5 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kHWM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b5bbcc8-5cef-435a-944b-7de8291394fe_1494x712.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kHWM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b5bbcc8-5cef-435a-944b-7de8291394fe_1494x712.png 424w, https://substackcdn.com/image/fetch/$s_!kHWM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b5bbcc8-5cef-435a-944b-7de8291394fe_1494x712.png 848w, https://substackcdn.com/image/fetch/$s_!kHWM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b5bbcc8-5cef-435a-944b-7de8291394fe_1494x712.png 1272w, https://substackcdn.com/image/fetch/$s_!kHWM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b5bbcc8-5cef-435a-944b-7de8291394fe_1494x712.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kHWM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b5bbcc8-5cef-435a-944b-7de8291394fe_1494x712.png" width="498" height="237.37087912087912" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b5bbcc8-5cef-435a-944b-7de8291394fe_1494x712.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:694,&quot;width&quot;:1456,&quot;resizeWidth&quot;:498,&quot;bytes&quot;:101405,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/191082958?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b5bbcc8-5cef-435a-944b-7de8291394fe_1494x712.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kHWM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b5bbcc8-5cef-435a-944b-7de8291394fe_1494x712.png 424w, https://substackcdn.com/image/fetch/$s_!kHWM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b5bbcc8-5cef-435a-944b-7de8291394fe_1494x712.png 848w, https://substackcdn.com/image/fetch/$s_!kHWM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b5bbcc8-5cef-435a-944b-7de8291394fe_1494x712.png 1272w, https://substackcdn.com/image/fetch/$s_!kHWM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b5bbcc8-5cef-435a-944b-7de8291394fe_1494x712.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>NanoClaw partners with Docker to run AI agents in isolated micro VMs with one command. Each agent gets its own kernel, filesystem, and daemon with <strong><a href="https://nanoclaw.dev/blog/nanoclaw-docker-sandboxes/">hypervisor-level isolation and millisecond startup</a></strong>. The security model treats agents as potentially malicious actors, enforcing hard boundaries against cross-agent leakage.</p><p><strong>The context:</strong> As agents gain access to credentials, filesystems, and APIs, the &#8220;design for distrust&#8221; principle becomes table stakes. This is the infrastructure layer that enterprise agent deployments will require.</p><div><hr></div><h3><strong>GLM-5-Turbo Optimized for Agentic Task Execution</strong></h3><p>Estimated read time: 3 min</p><p>Shifting from agent infrastructure to new models, Z.AI releases GLM-5-Turbo with a 200K context window and 128K max output tokens. Features include enhanced <strong><a href="https://docs.z.ai/guides/llm/glm-5-turbo">function calling stability for multi-step tasks</a></strong>, context caching, structured output, and MCP integration, all optimized for agentic workflows.</p><p><strong>What this enables:</strong> The 128K output token limit is notable. Combined with MCP integration and context caching, this model is designed from the ground up for long-running agent task chains.</p><div><hr></div><h3><strong>NVIDIA&#8217;s Hybrid Mamba-Transformer for Agentic Reasoning</strong></h3><p>Estimated read time: 3 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aEB6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9be92fc-75df-4b4f-8edc-ea088b988090_1534x328.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aEB6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9be92fc-75df-4b4f-8edc-ea088b988090_1534x328.png 424w, https://substackcdn.com/image/fetch/$s_!aEB6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9be92fc-75df-4b4f-8edc-ea088b988090_1534x328.png 848w, https://substackcdn.com/image/fetch/$s_!aEB6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9be92fc-75df-4b4f-8edc-ea088b988090_1534x328.png 1272w, https://substackcdn.com/image/fetch/$s_!aEB6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9be92fc-75df-4b4f-8edc-ea088b988090_1534x328.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aEB6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9be92fc-75df-4b4f-8edc-ea088b988090_1534x328.png" width="674" height="143.96565934065933" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9be92fc-75df-4b4f-8edc-ea088b988090_1534x328.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:311,&quot;width&quot;:1456,&quot;resizeWidth&quot;:674,&quot;bytes&quot;:639816,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/191082958?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9be92fc-75df-4b4f-8edc-ea088b988090_1534x328.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aEB6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9be92fc-75df-4b4f-8edc-ea088b988090_1534x328.png 424w, https://substackcdn.com/image/fetch/$s_!aEB6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9be92fc-75df-4b4f-8edc-ea088b988090_1534x328.png 848w, https://substackcdn.com/image/fetch/$s_!aEB6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9be92fc-75df-4b4f-8edc-ea088b988090_1534x328.png 1272w, https://substackcdn.com/image/fetch/$s_!aEB6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9be92fc-75df-4b4f-8edc-ea088b988090_1534x328.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Also optimized for agentic workloads, NVIDIA releases Nemotron-3-Super-120B-A12B, an open <strong><a href="https://build.nvidia.com/nvidia/nemotron-3-super-120b-a12b/modelcard">hybrid Mamba-Transformer MoE model</a></strong> with a 1 million token context window. The 120B parameter model features configurable reasoning effort levels and is available through NVIDIA NIM with an OpenAI-compatible API.</p><p><strong>What stands out:</strong> The hybrid Mamba-Transformer architecture offers a different efficiency tradeoff than pure transformer models. Configurable reasoning effort lets you dial cost vs. quality per request, a feature more models should adopt.</p><div><hr></div><h3><strong>Penguin-VL Rethinks Vision Language Model Design</strong></h3><p>Estimated read time: 4 min</p><p>Tencent&#8217;s Penguin-VL initializes its vision encoder from a text-only LLM instead of CLIP, converting causal attention to bidirectional with 2D rotary positional embeddings. Available in <strong><a href="https://github.com/tencent-ailab/Penguin-VL">2B and 8B parameter sizes</a></strong>, it excels at OCR, document parsing, and complex visual reasoning with strong efficiency.</p><p><strong>The approach:</strong> Starting a vision encoder from language model weights rather than image-pretrained ones is a counterintuitive design choice that pays off in document-heavy workflows where text understanding matters most.</p><div><hr></div><h3><strong>Google&#8217;s First Natively Multimodal Embedding Model</strong></h3><p>Estimated read time: 5 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Easq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1d8955-1e47-457d-9716-71c904ca9c4d_1512x336.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Easq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1d8955-1e47-457d-9716-71c904ca9c4d_1512x336.png 424w, https://substackcdn.com/image/fetch/$s_!Easq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1d8955-1e47-457d-9716-71c904ca9c4d_1512x336.png 848w, https://substackcdn.com/image/fetch/$s_!Easq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1d8955-1e47-457d-9716-71c904ca9c4d_1512x336.png 1272w, https://substackcdn.com/image/fetch/$s_!Easq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1d8955-1e47-457d-9716-71c904ca9c4d_1512x336.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Easq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1d8955-1e47-457d-9716-71c904ca9c4d_1512x336.png" width="588" height="130.84615384615384" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d1d8955-1e47-457d-9716-71c904ca9c4d_1512x336.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:324,&quot;width&quot;:1456,&quot;resizeWidth&quot;:588,&quot;bytes&quot;:260927,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/191082958?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1d8955-1e47-457d-9716-71c904ca9c4d_1512x336.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Easq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1d8955-1e47-457d-9716-71c904ca9c4d_1512x336.png 424w, https://substackcdn.com/image/fetch/$s_!Easq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1d8955-1e47-457d-9716-71c904ca9c4d_1512x336.png 848w, https://substackcdn.com/image/fetch/$s_!Easq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1d8955-1e47-457d-9716-71c904ca9c4d_1512x336.png 1272w, https://substackcdn.com/image/fetch/$s_!Easq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d1d8955-1e47-457d-9716-71c904ca9c4d_1512x336.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Also advancing multimodal AI, Google releases Gemini Embedding 2, the first <strong><a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-embedding-2">natively multimodal embedding model</a></strong> mapping text, images, video, audio, and documents into a single vector space. It supports 100+ languages with Matryoshka Representation Learning for flexible dimensions from 768 to 3072. Available through Gemini API and LangChain.</p><p><strong>What this unlocks:</strong> A single embedding space for text, images, video, and audio simplifies RAG pipelines dramatically. No more separate encoders or complex fusion layers for multimodal retrieval.</p><div><hr></div><h3><strong>CanIRun.ai Matches Hardware to Local AI Models</strong></h3><p>Estimated read time: 2 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GPA_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f1ac9e3-4a4a-4e4f-9a70-9d18eebadd35_2290x1036.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GPA_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f1ac9e3-4a4a-4e4f-9a70-9d18eebadd35_2290x1036.png 424w, https://substackcdn.com/image/fetch/$s_!GPA_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f1ac9e3-4a4a-4e4f-9a70-9d18eebadd35_2290x1036.png 848w, https://substackcdn.com/image/fetch/$s_!GPA_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f1ac9e3-4a4a-4e4f-9a70-9d18eebadd35_2290x1036.png 1272w, https://substackcdn.com/image/fetch/$s_!GPA_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f1ac9e3-4a4a-4e4f-9a70-9d18eebadd35_2290x1036.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GPA_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f1ac9e3-4a4a-4e4f-9a70-9d18eebadd35_2290x1036.png" width="479" height="216.80013736263737" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f1ac9e3-4a4a-4e4f-9a70-9d18eebadd35_2290x1036.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:659,&quot;width&quot;:1456,&quot;resizeWidth&quot;:479,&quot;bytes&quot;:225957,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/191082958?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f1ac9e3-4a4a-4e4f-9a70-9d18eebadd35_2290x1036.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GPA_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f1ac9e3-4a4a-4e4f-9a70-9d18eebadd35_2290x1036.png 424w, https://substackcdn.com/image/fetch/$s_!GPA_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f1ac9e3-4a4a-4e4f-9a70-9d18eebadd35_2290x1036.png 848w, https://substackcdn.com/image/fetch/$s_!GPA_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f1ac9e3-4a4a-4e4f-9a70-9d18eebadd35_2290x1036.png 1272w, https://substackcdn.com/image/fetch/$s_!GPA_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f1ac9e3-4a4a-4e4f-9a70-9d18eebadd35_2290x1036.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>For developers exploring which of these models to run locally, <strong><a href="https://www.canirun.ai/">CanIRun.ai</a></strong> detects your GPU, CPU, and RAM via browser-based client-side processing and matches against a database of popular open-source models including Llama, Qwen, Mistral, DeepSeek, and Gemma, from 1B to 120B+ parameters.</p><p><strong>Bookmark this:</strong> Eliminates the guesswork of checking VRAM requirements and quantization options across dozens of models. Save this for the next time you&#8217;re evaluating a local model setup.</p><div><hr></div><h2><strong>NEWS &amp; EDITORIALS</strong></h2><h3><strong>The Shape of AI&#8217;s Rolling Disruption</strong></h3><p>Estimated read time: 12 min</p><p>Ethan Mollick charts AI&#8217;s shift from human-AI collaboration to full AI management, where organizations mandate that code must not be written or reviewed by humans. He highlights <strong><a href="https://www.oneusefulthing.org/p/the-shape-of-the-thing">recursive self-improvement</a></strong> as a key accelerator. Benchmarks show AI now matches top-performing humans 82% of the time.</p><p><strong>The big picture:</strong> Whether you view these shifts as opportunity or disruption, Mollick&#8217;s benchmark data provides the clearest picture of where AI capability stands today and how fast the gap is closing.</p><div><hr></div><h3><strong>Meta Postpones Frontier Model Over Performance Gaps</strong></h3><p>Estimated read time: 9 min</p><p>Illustrating the challenges Mollick describes, Meta postpones its Avocado frontier model after internal testing revealed it <strong><a href="https://bostoninstituteofanalytics.org/blog/meta-delays-rollout-of-new-ai-model-amid-performance-concerns-a-turning-point-for-the-industry/">failed to match performance benchmarks</a></strong> set by Google Gemini 3.0 and OpenAI&#8217;s latest models. The launch is pushed to at least May 2026, highlighting post-training refinement challenges.</p><p><strong>Market signal:</strong> The rising competitive bar means even massive compute budgets can&#8217;t guarantee frontier performance. Post-training refinement and alignment are emerging as the true differentiators, a trend worth watching for anyone selecting models for production.</p><div><hr></div><h3><strong>AI Did Not Simplify Software Engineering</strong></h3><p>Estimated read time: 6 min</p><p>Continuing our coverage of Turkovic&#8217;s &#8220;easier code, harder engineering&#8221; thesis[1] from last week, Rob Englander adds a technical lens, arguing that AI coding tools haven&#8217;t simplified the real challenges: architecture, system behavior design, and managing complexity over time. He identifies <strong><a href="https://robenglander.com/writing/ai-did-not-simplify/">spec drift</a></strong> as a growing risk where AI generates code faster than teams can maintain alignment between specs, tests, and implementation.</p><p>[1] <a href="https://writing.alteredcraft.com/i/190343515/ai-eased-code-writing-but-strained-engineering">AI Eased Code Writing but Strained Engineering</a></p><p><strong>The insight:</strong> &#8220;Spec drift&#8221; names something many teams are already experiencing but haven&#8217;t articulated. Faster code generation without faster specification work creates a new category of technical debt.</p><div><hr></div><h3><strong>Anthropic Launches Institute for AI Societal Impact</strong></h3><p>Estimated read time: 5 min</p><p>Addressing these systemic concerns, Anthropic launches <strong><a href="https://www.anthropic.com/news/the-anthropic-institute">The Anthropic Institute</a></strong>, focused on how powerful AI will reshape jobs, economies, and governance. Led by co-founder Jack Clark, it unifies Frontier Red Team, Societal Impacts, and Economic Research. New hires specialize in AI law and transformative economics.</p><p><strong>The signal:</strong> Anthropic investing in dedicated societal impact research signals a maturing industry. The focus on AI and rule of law, economic reshaping, and red-teaming means policy decisions will increasingly be data-driven.</p><div><hr></div><h3><strong>Claude Finds 22 Firefox Vulnerabilities in Two Weeks</strong></h3><p>Estimated read time: 6 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XM7m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3c89db7-9191-46c6-917b-b86ca154ce68_3840x2161.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XM7m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3c89db7-9191-46c6-917b-b86ca154ce68_3840x2161.webp 424w, https://substackcdn.com/image/fetch/$s_!XM7m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3c89db7-9191-46c6-917b-b86ca154ce68_3840x2161.webp 848w, https://substackcdn.com/image/fetch/$s_!XM7m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3c89db7-9191-46c6-917b-b86ca154ce68_3840x2161.webp 1272w, https://substackcdn.com/image/fetch/$s_!XM7m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3c89db7-9191-46c6-917b-b86ca154ce68_3840x2161.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XM7m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3c89db7-9191-46c6-917b-b86ca154ce68_3840x2161.webp" width="550" height="309.375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3c89db7-9191-46c6-917b-b86ca154ce68_3840x2161.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:550,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A graph showing how Opus 4.6 was responsible for a substantial increase in the number of Firefox security vulnerabilities detected per month.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A graph showing how Opus 4.6 was responsible for a substantial increase in the number of Firefox security vulnerabilities detected per month." title="A graph showing how Opus 4.6 was responsible for a substantial increase in the number of Firefox security vulnerabilities detected per month." srcset="https://substackcdn.com/image/fetch/$s_!XM7m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3c89db7-9191-46c6-917b-b86ca154ce68_3840x2161.webp 424w, https://substackcdn.com/image/fetch/$s_!XM7m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3c89db7-9191-46c6-917b-b86ca154ce68_3840x2161.webp 848w, https://substackcdn.com/image/fetch/$s_!XM7m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3c89db7-9191-46c6-917b-b86ca154ce68_3840x2161.webp 1272w, https://substackcdn.com/image/fetch/$s_!XM7m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3c89db7-9191-46c6-917b-b86ca154ce68_3840x2161.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Also from Anthropic, Claude Opus 4.6 discovered 22 vulnerabilities in Firefox over two weeks, with Mozilla classifying 14 as high-severity. The AI found a Use After Free flaw in twenty minutes. Crucially, <strong><a href="https://www.anthropic.com/news/mozilla-firefox-security">vulnerability discovery costs far less than exploitation</a></strong>, giving defenders a current advantage.</p><p><strong>For security teams:</strong> The asymmetry between discovery cost and exploitation cost currently favors defenders. AI-assisted vulnerability scanning is becoming a practical force multiplier right now.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Catching Up with Claude Code]]></title><description><![CDATA[A guided tour of the features, primitives, and platform shifts behind Anthropic's coding agent]]></description><link>https://writing.alteredcraft.com/p/catching-up-with-claude-code</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/catching-up-with-claude-code</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Tue, 10 Mar 2026 17:03:14 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/269d71f7-1c99-46bd-af52-10cb7ef5cac4_1024x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A recent product email listed roughly ten Claude Code and platform updates. If you&#8217;ve been heads-down shipping and haven&#8217;t tracked every changelog, this is your catch-up guide. The platform moves fast enough that your mental model of what Claude Code can do may already be out of date.</p><p>Taken individually, these are incremental improvements. Taken together, they reveal a coherent architecture: code execution as the foundational primitive, context management as the core engineering problem, and multi-surface access as the interface layer. The underlying shift is concrete. Claude used to generate text about solutions. Now it executes them and verifies the results. That shift underpins everything below.</p><h2>The Multi-Surface Shift</h2><p>If you&#8217;ve been using Claude Code primarily from the terminal, the biggest shift you may have missed is how many surfaces it now covers. The Claude desktop and mobile apps now have a dedicated Code tab. <a href="https://code.claude.com/docs/en/claude-code-on-the-web">Claude Code on the Web</a> runs sessions in Anthropic-managed cloud VMs, no local install required. VS Code and JetBrains extensions embed it in your IDE. And with Remote Control (more on this below), you can connect any of these surfaces to a session running on a machine of your choosing. The underlying agent is the same one you know. The surfaces are different entry points into it.</p><p>This matters because it changes the relationship. Claude Code stops being &#8220;a tool you sit down and use&#8221; and becomes something that&#8217;s available wherever you are. Start debugging in the terminal at your desk, switch to VS Code for visual diffs, check on progress from your phone. The conversation and context follow you.</p><p>You&#8217;re likely already familiar with <a href="https://code.claude.com/docs/en/memory">CLAUDE.md</a>, <a href="https://code.claude.com/docs/en/skills">skills</a>, <a href="https://code.claude.com/docs/en/hooks">hooks</a>, and <a href="https://code.claude.com/docs/en/sub-agents">subagents</a>. These have continued to mature, but the conceptual model hasn&#8217;t changed. What has changed is where you can access all of it. The customization you&#8217;ve built into your workflow now travels with you across surfaces.</p><h3>Remote Control: The Always-Available Agent</h3><p>The feature that makes the multi-surface story tangible is <a href="https://code.claude.com/docs/en/remote-control">Remote Control</a>. It connects claude.ai/code or the Claude mobile app to your running local session. Everything stays local. Your filesystem, MCP servers, project config. The web or mobile interface is just a window into it.</p><pre><code><code># Start a remote-controlled session
claude remote-control --name "My Project"

# Or from an existing session
/rc</code></code></pre><p>Press spacebar to get a QR code for your phone. The session syncs across all connected devices. Send messages from terminal, browser, and phone interchangeably.</p><p>The architectural decision here is deliberate. Unlike <a href="https://code.claude.com/docs/en/claude-code-on-the-web">Claude Code on the Web</a>, which runs on Anthropic-managed cloud VMs, Remote Control keeps execution on your machine. Your local tools work. Your MCP connections work. You get the mobility of a cloud-based tool without giving up local control.</p><p>I&#8217;ve been experimenting with Remote Control over the past few weeks. The appeal is real. Starting a long-running task at my desk and continuing from my phone is exactly the workflow I wanted, without going the full <a href="https://github.com/anthropics/claude-code/blob/main/docs/open-claw.md">OpenClaw</a> route of setting up a persistent headless agent. Remote Control is the lighter-weight version of &#8220;Claude Code is always available.&#8221;</p><p>In practice, connection stability has been a challenge. Sessions drop more often than I&#8217;d like, particularly during longer tasks. This is a research preview, so rough edges are expected. The underlying idea is sound. The execution needs time to mature. I&#8217;ll keep testing it because the workflow it enables is worth the friction.</p><p>All traffic runs through the Anthropic API over TLS, using multiple short-lived credentials scoped to single purposes. No cloud VMs, no external sandboxing. Available on Pro, Max, Team, and Enterprise plans.</p><h2>What&#8217;s New in the CLI</h2>
      <p>
          <a href="https://writing.alteredcraft.com/p/catching-up-with-claude-code">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Weekly Review: Defining the Partnership with agents]]></title><description><![CDATA[The week's curated set of AI tutorials, tools, and perspectives on the evolving developer-agent relationship]]></description><link>https://writing.alteredcraft.com/p/weekly-review-defining-the-partnership</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/weekly-review-defining-the-partnership</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Tue, 10 Mar 2026 02:17:28 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/191478c5-895b-455d-aace-29c0263ce816_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>Thanks for joining us for another Altered Craft weekly AI review for developers. We appreciate every reader who makes Monday mornings a little more intentional. This week&#8217;s collection circles a central question: as agents grow more capable and autonomous, what exactly does the developer&#8217;s role become? You&#8217;ll find collaboration frameworks from Thoughtworks, a sobering SQLite case study on AI code quality, GPT-5.4&#8217;s leap into computer use, and honest examinations of how the profession itself is changing.</em></p></blockquote><h2><strong>TUTORIALS &amp; CASE STUDIES</strong></h2><h3><strong>Five Patterns for Productive AI Collaboration</strong></h3><p>Estimated read time: 19 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4GiK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6b661b1-14af-4367-9a76-01e837e85f64_1032x356.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4GiK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6b661b1-14af-4367-9a76-01e837e85f64_1032x356.png 424w, https://substackcdn.com/image/fetch/$s_!4GiK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6b661b1-14af-4367-9a76-01e837e85f64_1032x356.png 848w, https://substackcdn.com/image/fetch/$s_!4GiK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6b661b1-14af-4367-9a76-01e837e85f64_1032x356.png 1272w, https://substackcdn.com/image/fetch/$s_!4GiK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6b661b1-14af-4367-9a76-01e837e85f64_1032x356.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4GiK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6b661b1-14af-4367-9a76-01e837e85f64_1032x356.png" width="436" height="150.4031007751938" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6b661b1-14af-4367-9a76-01e837e85f64_1032x356.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:356,&quot;width&quot;:1032,&quot;resizeWidth&quot;:436,&quot;bytes&quot;:64443,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/190343515?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6b661b1-14af-4367-9a76-01e837e85f64_1032x356.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4GiK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6b661b1-14af-4367-9a76-01e837e85f64_1032x356.png 424w, https://substackcdn.com/image/fetch/$s_!4GiK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6b661b1-14af-4367-9a76-01e837e85f64_1032x356.png 848w, https://substackcdn.com/image/fetch/$s_!4GiK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6b661b1-14af-4367-9a76-01e837e85f64_1032x356.png 1272w, https://substackcdn.com/image/fetch/$s_!4GiK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6b661b1-14af-4367-9a76-01e837e85f64_1032x356.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Rahul Garg proposes reframing AI coding assistants from &#8220;tools&#8221; to &#8220;teammates&#8221; through five patterns: Knowledge Priming, Design-First Collaboration, Sensible Defaults, Context Anchoring, and a Feedback Flywheel. The article argues that <strong><a href="https://martinfowler.com/articles/reduce-friction-ai/">reducing friction requires shared vocabulary and architecture vision</a></strong> between humans and AI systems.</p><p><strong>The takeaway:</strong> These five patterns offer a concrete framework for teams frustrated by the generate-review-fix cycle, shifting the focus from faster output to higher first-pass acceptance rates.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>Positioning Humans in AI Development Loops</strong></h3><p>Estimated read time: 13 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1HCP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d47e0c-bcd0-4209-a6be-a93d7d3e0bf6_774x840.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1HCP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d47e0c-bcd0-4209-a6be-a93d7d3e0bf6_774x840.png 424w, https://substackcdn.com/image/fetch/$s_!1HCP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d47e0c-bcd0-4209-a6be-a93d7d3e0bf6_774x840.png 848w, https://substackcdn.com/image/fetch/$s_!1HCP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d47e0c-bcd0-4209-a6be-a93d7d3e0bf6_774x840.png 1272w, https://substackcdn.com/image/fetch/$s_!1HCP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d47e0c-bcd0-4209-a6be-a93d7d3e0bf6_774x840.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1HCP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d47e0c-bcd0-4209-a6be-a93d7d3e0bf6_774x840.png" width="315" height="341.86046511627904" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70d47e0c-bcd0-4209-a6be-a93d7d3e0bf6_774x840.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:840,&quot;width&quot;:774,&quot;resizeWidth&quot;:315,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Multiple levels of &#8220;how&#8221; loops supporting the &#8220;why&#8221; loop. An outer loop iterates on a feature. A middle loop iterates on stories. An inner loop iterates on code.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Multiple levels of &#8220;how&#8221; loops supporting the &#8220;why&#8221; loop. An outer loop iterates on a feature. A middle loop iterates on stories. An inner loop iterates on code." title="Multiple levels of &#8220;how&#8221; loops supporting the &#8220;why&#8221; loop. An outer loop iterates on a feature. A middle loop iterates on stories. An inner loop iterates on code." srcset="https://substackcdn.com/image/fetch/$s_!1HCP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d47e0c-bcd0-4209-a6be-a93d7d3e0bf6_774x840.png 424w, https://substackcdn.com/image/fetch/$s_!1HCP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d47e0c-bcd0-4209-a6be-a93d7d3e0bf6_774x840.png 848w, https://substackcdn.com/image/fetch/$s_!1HCP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d47e0c-bcd0-4209-a6be-a93d7d3e0bf6_774x840.png 1272w, https://substackcdn.com/image/fetch/$s_!1HCP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70d47e0c-bcd0-4209-a6be-a93d7d3e0bf6_774x840.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Also from Thoughtworks, Morris presents three models for human-AI collaboration: outside the loop (vibe coding), inside the loop (manual review), and on the loop (recommended). The preferred approach positions developers as <strong><a href="https://martinfowler.com/articles/exploring-gen-ai/humans-and-agents.html">harness engineers who design systems guiding agent behavior</a></strong> rather than inspecting outputs directly.</p><p><strong>What&#8217;s interesting:</strong> The &#8220;on the loop&#8221; model reframes engineering work around designing guardrails and quality systems, a role that grows more valuable as agents handle more implementation.</p><div><hr></div><h3><strong>Why LLM-Generated Code Compiles but Fails</strong></h3><p>Estimated read time: 22 min</p><p>But what happens when these collaboration models fall short? An LLM-generated Rust reimplementation of SQLite compiles and passes tests, yet performs primary key lookups 20,171 times slower than the original. The article demonstrates how <strong><a href="https://blog.katanaquant.com/p/your-llm-doesnt-write-correct-code">LLMs optimize for plausibility over correctness</a></strong>, missing optimizations discovered through decades of profiling real workloads.</p><p><strong>Key point:</strong> A compelling argument for defining acceptance criteria before generating code. Performance benchmarks and integration tests catch what compilation and unit tests miss entirely.</p><div><hr></div><h3><strong>Replacing Code Review with Spec-Driven Development</strong></h3><p>Estimated read time: 13 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FNKE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc28f86d4-01ff-4bce-b152-33d4d9f82683_1958x1082.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FNKE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc28f86d4-01ff-4bce-b152-33d4d9f82683_1958x1082.png 424w, https://substackcdn.com/image/fetch/$s_!FNKE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc28f86d4-01ff-4bce-b152-33d4d9f82683_1958x1082.png 848w, https://substackcdn.com/image/fetch/$s_!FNKE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc28f86d4-01ff-4bce-b152-33d4d9f82683_1958x1082.png 1272w, https://substackcdn.com/image/fetch/$s_!FNKE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc28f86d4-01ff-4bce-b152-33d4d9f82683_1958x1082.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FNKE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc28f86d4-01ff-4bce-b152-33d4d9f82683_1958x1082.png" width="471" height="260.40865384615387" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c28f86d4-01ff-4bce-b152-33d4d9f82683_1958x1082.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:805,&quot;width&quot;:1456,&quot;resizeWidth&quot;:471,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FNKE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc28f86d4-01ff-4bce-b152-33d4d9f82683_1958x1082.png 424w, https://substackcdn.com/image/fetch/$s_!FNKE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc28f86d4-01ff-4bce-b152-33d4d9f82683_1958x1082.png 848w, https://substackcdn.com/image/fetch/$s_!FNKE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc28f86d4-01ff-4bce-b152-33d4d9f82683_1958x1082.png 1272w, https://substackcdn.com/image/fetch/$s_!FNKE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc28f86d4-01ff-4bce-b152-33d4d9f82683_1958x1082.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Addressing this code quality challenge, Jain argues that manual code review cannot scale with AI-generated volumes, citing a 91% increase in PR review time for high-adoption teams. He proposes a <strong><a href="https://open.substack.com/pub/swyx/p/reviews-dead">five-layer trust model replacing human review with deterministic guardrails</a></strong>, moving human judgment upstream to defining specifications.</p><p><strong>The opportunity:</strong> If your team is drowning in PR reviews, this framework offers a practical path forward: define success criteria upfront and let automated verification replace opinion-based code inspection.</p><div><hr></div><h3><strong>From Manual Prompting to Autonomous Agent Systems</strong></h3><p>Estimated read time: 16 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uxHm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876568ea-d338-400a-99a4-0da7b923a0d4_1279x753.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uxHm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876568ea-d338-400a-99a4-0da7b923a0d4_1279x753.png 424w, https://substackcdn.com/image/fetch/$s_!uxHm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876568ea-d338-400a-99a4-0da7b923a0d4_1279x753.png 848w, https://substackcdn.com/image/fetch/$s_!uxHm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876568ea-d338-400a-99a4-0da7b923a0d4_1279x753.png 1272w, https://substackcdn.com/image/fetch/$s_!uxHm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876568ea-d338-400a-99a4-0da7b923a0d4_1279x753.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uxHm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876568ea-d338-400a-99a4-0da7b923a0d4_1279x753.png" width="366" height="215.47928068803753" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/876568ea-d338-400a-99a4-0da7b923a0d4_1279x753.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:753,&quot;width&quot;:1279,&quot;resizeWidth&quot;:366,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uxHm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876568ea-d338-400a-99a4-0da7b923a0d4_1279x753.png 424w, https://substackcdn.com/image/fetch/$s_!uxHm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876568ea-d338-400a-99a4-0da7b923a0d4_1279x753.png 848w, https://substackcdn.com/image/fetch/$s_!uxHm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876568ea-d338-400a-99a4-0da7b923a0d4_1279x753.png 1272w, https://substackcdn.com/image/fetch/$s_!uxHm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876568ea-d338-400a-99a4-0da7b923a0d4_1279x753.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Moving from agent oversight to agent construction, Amazon engineer Fran Soto outlines a ten-step progression from reactive chat-based prompting to <strong><a href="https://strategizeyourcareer.com/p/the-10-step-guide-to-building-your-own-ai-agent">building autonomous multi-agent systems</a></strong>. Steps cover integrating MCP servers, creating agent SOPs, automating triggers with cron jobs, and scaling to specialized agent teams.</p><p><strong>Why this matters:</strong> A genuinely actionable guide that takes you from &#8220;I use ChatGPT sometimes&#8221; to running autonomous agents on your codebase, with each step building on the last.</p><div><hr></div><h3><strong>Why XML Tags Define Claude&#8217;s Advantage</strong></h3><p>Estimated read time: 5 min</p><p>On the prompting side, Lethuillier argues that Claude&#8217;s effectiveness stems from making XML tags first-class citizens in its framework. Drawing parallels between <strong><a href="https://glthr.com/XML-fundamental-to-Claude">delimiters in programming languages, bacterial DNA, and Homeric verse</a></strong>, the article presents a universal principle: languages require markers to signal transitions between expression levels.</p><p><strong>Worth noting:</strong> If you&#8217;ve been on the fence about XML-structured prompts with Claude, this linguistic deep dive explains why they consistently improve output quality over plain-text instructions.</p><h2><strong>TOOLS</strong></h2><h3><strong>GPT-5.4 Launches with Native Computer Use</strong></h3><p>Estimated read time: 25 min</p><p>OpenAI&#8217;s most capable frontier model combines reasoning, coding, and agentic workflows with <strong><a href="https://openai.com/index/introducing-gpt-5-4/">native computer-use capabilities and 1M token context</a></strong>. GPT-5.4 achieves 75% on OSWorld (surpassing human performance at 72.4%), introduces tool search for large ecosystems, and uses 47% fewer reasoning tokens than GPT-5.2.</p><p><strong>What this enables:</strong> Native computer use plus 1M token context opens the door to agents that can plan, execute, and verify multi-step workflows across applications without human intervention.</p><div><hr></div><h3><strong>India&#8217;s Open-Source Reasoning Models Go Global</strong></h3><p>Estimated read time: 18 min</p><p>Also in the model release space, Sarvam AI open-sources two Mixture-of-Experts reasoning models trained entirely in India: a <strong><a href="https://www.sarvam.ai/blogs/sarvam-30b-105b">30B for real-time deployment and a 105B for complex reasoning</a></strong>. The 105B scores 98.6 on Math500 and 88.3 on AIME25, competing with frontier models at a fraction of training compute.</p><p><strong>The context:</strong> Open-weight models with frontier-competitive reasoning keep expanding options for teams that need to self-host, fine-tune for specialized domains, or maintain independence from any single vendor.</p><div><hr></div><h3><strong>Cursor Launches Always-On Agent Automations</strong></h3><p>Estimated read time: 13 min</p><p>Putting models like these to work, Cursor introduces Automations: <strong><a href="https://cursor.com/blog/automations">always-on agents triggered by schedules, Slack messages, GitHub PRs, or PagerDuty incidents</a></strong>. Agents spin up in cloud sandboxes, follow custom instructions with configured MCPs, and learn from previous runs. Use cases include security review, PR risk assessment, and incident response.</p><p><strong>Why now:</strong> This bridges the gap between &#8220;AI that helps when you ask&#8221; and &#8220;AI that works while you sleep,&#8221; turning recurring chores like security audits and triage into automated workflows.</p><div><hr></div><h3><strong>OS-Enforced Sandbox for Untrusted AI Agents</strong></h3><p>Estimated read time: 5 min</p><p>With agents running autonomously, security becomes critical. Continuing our look at agent security patterns from Vercel and NanoClaw[1] last week, nono provides <strong><a href="https://nono.sh/">kernel-level capability sandboxing for AI agents</a></strong> on macOS and Linux, built by the team behind Sigstore. It implements deny-by-default security with atomic filesystem snapshots for rollback, cryptographic audit trails, and runtime permission management. SDKs support Python and TypeScript.</p><p>[1] <a href="https://writing.alteredcraft.com/i/189611922/five-security-patterns-for-ai-agent-architectures">Five Security Patterns for AI Agent Architectures</a></p><p><strong>Worth noting:</strong> A proper sandboxing layer for teams experimenting with autonomous agents. The rollback and audit capabilities make it practical to give agents real system access with confidence.</p><div><hr></div><h3><strong>Slash LLM Token Usage with Smart Compression</strong></h3><p>Estimated read time: 9 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dP-O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4757d5af-36c2-4550-8506-24e2c835e09f_1604x288.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dP-O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4757d5af-36c2-4550-8506-24e2c835e09f_1604x288.png 424w, https://substackcdn.com/image/fetch/$s_!dP-O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4757d5af-36c2-4550-8506-24e2c835e09f_1604x288.png 848w, https://substackcdn.com/image/fetch/$s_!dP-O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4757d5af-36c2-4550-8506-24e2c835e09f_1604x288.png 1272w, https://substackcdn.com/image/fetch/$s_!dP-O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4757d5af-36c2-4550-8506-24e2c835e09f_1604x288.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dP-O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4757d5af-36c2-4550-8506-24e2c835e09f_1604x288.png" width="1456" height="261" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4757d5af-36c2-4550-8506-24e2c835e09f_1604x288.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:261,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53906,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/190343515?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4757d5af-36c2-4550-8506-24e2c835e09f_1604x288.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dP-O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4757d5af-36c2-4550-8506-24e2c835e09f_1604x288.png 424w, https://substackcdn.com/image/fetch/$s_!dP-O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4757d5af-36c2-4550-8506-24e2c835e09f_1604x288.png 848w, https://substackcdn.com/image/fetch/$s_!dP-O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4757d5af-36c2-4550-8506-24e2c835e09f_1604x288.png 1272w, https://substackcdn.com/image/fetch/$s_!dP-O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4757d5af-36c2-4550-8506-24e2c835e09f_1604x288.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Shifting to developer workflow efficiency, RTK is a single Rust binary that <strong><a href="https://github.com/rtk-ai/rtk">reduces token consumption by 60-90% during AI-assisted development</a></strong> through smart filtering, grouping, and deduplication of command output. It transparently intercepts shell commands via hooks, compressing results before they reach the LLM context window with sub-10ms overhead.</p><p><strong>The takeaway:</strong> If you&#8217;re hitting context limits or watching API costs climb during long coding sessions, this is a drop-in solution that works with your existing tools and workflows.</p><div><hr></div><h3><strong>Unified CLI for Google Workspace and Agents</strong></h3><p>Estimated read time: 9 min</p><p>Also on the CLI front, Google releases a <strong><a href="https://github.com/googleworkspace/cli">unified command-line tool for all Workspace services</a></strong>, built for humans and AI agents. The CLI dynamically generates commands from Google&#8217;s Discovery Service at runtime, includes 100+ agent skills, and supports structured JSON output with multiple auth workflows.</p><p><strong>Key point:</strong> Dynamic command generation from Google&#8217;s live API definitions means the tool stays current without manual updates, making it especially useful for building agents that interact with Workspace.</p><div><hr></div><h3><strong>Serverless Data Ingestion for Vector Search</strong></h3><p>Estimated read time: 6 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4GlG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc67b248a-1abc-4102-b6c3-f14cb641afc2_628x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4GlG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc67b248a-1abc-4102-b6c3-f14cb641afc2_628x928.png 424w, https://substackcdn.com/image/fetch/$s_!4GlG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc67b248a-1abc-4102-b6c3-f14cb641afc2_628x928.png 848w, https://substackcdn.com/image/fetch/$s_!4GlG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc67b248a-1abc-4102-b6c3-f14cb641afc2_628x928.png 1272w, https://substackcdn.com/image/fetch/$s_!4GlG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc67b248a-1abc-4102-b6c3-f14cb641afc2_628x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4GlG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc67b248a-1abc-4102-b6c3-f14cb641afc2_628x928.png" width="196" height="289.63057324840764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c67b248a-1abc-4102-b6c3-f14cb641afc2_628x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:628,&quot;resizeWidth&quot;:196,&quot;bytes&quot;:82761,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/190343515?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc67b248a-1abc-4102-b6c3-f14cb641afc2_628x928.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4GlG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc67b248a-1abc-4102-b6c3-f14cb641afc2_628x928.png 424w, https://substackcdn.com/image/fetch/$s_!4GlG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc67b248a-1abc-4102-b6c3-f14cb641afc2_628x928.png 848w, https://substackcdn.com/image/fetch/$s_!4GlG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc67b248a-1abc-4102-b6c3-f14cb641afc2_628x928.png 1272w, https://substackcdn.com/image/fetch/$s_!4GlG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc67b248a-1abc-4102-b6c3-f14cb641afc2_628x928.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Turning to data infrastructure, Chroma Sync offers <strong><a href="https://www.trychroma.com/products/sync">serverless data ingestion connecting S3, GitHub, and websites to Chroma Cloud</a></strong>. The platform handles parsing, chunking (using Tree-sitter for code), and embedding automatically. It supports incremental updates and syntax-aware code chunking respecting function boundaries, with pricing starting at $0.04 per GB.</p><p><strong>Why this matters:</strong> RAG pipelines often stall at the ingestion step. This removes the parsing and chunking burden entirely, letting you focus on retrieval quality and application logic.</p><h2><strong>NEWS &amp; EDITORIALS</strong></h2><h3><strong>Architecture Skills Now Outweigh Code Writing</strong></h3><p>Estimated read time: 9 min</p><p>A developer reflects on how AI has shifted the core engineering skill from writing code to <strong><a href="https://yasint.dev/we-might-all-be-ai-engineers-now">understanding architecture and system design</a></strong>. Foundational computer science knowledge has become more critical than ever: experienced engineers find their intuition compounds AI capabilities, while barriers to entry have lowered for newcomers.</p><p><strong>What&#8217;s interesting:</strong> Your deep system knowledge is an accelerant, not a redundancy. The engineers who understand architectural trade-offs are the ones getting the most leverage from AI tools.</p><div><hr></div><h3><strong>AI Eased Code Writing but Strained Engineering</strong></h3><p>Estimated read time: 16 min</p><p>Expanding on this shifting landscape, Turkovic presents a central paradox: while AI accelerated code writing, <strong><a href="https://www.ivanturkovic.com/2026/02/25/ai-made-writing-code-easier-engineering-harder/">the overall experience of being an engineer has become harder</a></strong>. 67% of developers report spending more time debugging AI code, entry-level hiring fell 25%, and expanding role scope without boundaries is driving burnout.</p><p><strong>Worth reading if:</strong> you&#8217;re a team lead navigating the tension between faster output and sustainable engineering culture. The recommendations for leaders and individual engineers are practical and specific.</p><div><hr></div><h3><strong>Anthropic Measures AI&#8217;s Real Labor Market Impact</strong></h3><p>Estimated read time: 16 min</p><p>Backing up these concerns with data, Anthropic researchers introduce &#8220;observed exposure,&#8221; combining theoretical AI capabilities with real-world usage. Key finding: <strong><a href="https://www.anthropic.com/research/labor-market-impacts">actual labor market coverage remains a fraction of what is feasible</a></strong>. No systematic unemployment surge has emerged, though the study flags reduced hiring of younger workers in exposed occupations.</p><p><strong>The context:</strong> The gap between theoretical AI exposure and actual adoption is enormous, which suggests the disruption timeline is longer and more navigable than popular narratives imply.</p><div><hr></div><h3><strong>Cursor Maps Three Eras of AI Coding</strong></h3><p>Estimated read time: 9 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3TIw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ca07f46-0993-42a6-b0e8-9acdeb9efca4_2400x1350.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3TIw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ca07f46-0993-42a6-b0e8-9acdeb9efca4_2400x1350.png 424w, https://substackcdn.com/image/fetch/$s_!3TIw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ca07f46-0993-42a6-b0e8-9acdeb9efca4_2400x1350.png 848w, https://substackcdn.com/image/fetch/$s_!3TIw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ca07f46-0993-42a6-b0e8-9acdeb9efca4_2400x1350.png 1272w, https://substackcdn.com/image/fetch/$s_!3TIw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ca07f46-0993-42a6-b0e8-9acdeb9efca4_2400x1350.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3TIw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ca07f46-0993-42a6-b0e8-9acdeb9efca4_2400x1350.png" width="435" height="244.6875" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ca07f46-0993-42a6-b0e8-9acdeb9efca4_2400x1350.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:435,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Agents become mainstream and then the default&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Agents become mainstream and then the default" title="Agents become mainstream and then the default" srcset="https://substackcdn.com/image/fetch/$s_!3TIw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ca07f46-0993-42a6-b0e8-9acdeb9efca4_2400x1350.png 424w, https://substackcdn.com/image/fetch/$s_!3TIw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ca07f46-0993-42a6-b0e8-9acdeb9efca4_2400x1350.png 848w, https://substackcdn.com/image/fetch/$s_!3TIw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ca07f46-0993-42a6-b0e8-9acdeb9efca4_2400x1350.png 1272w, https://substackcdn.com/image/fetch/$s_!3TIw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ca07f46-0993-42a6-b0e8-9acdeb9efca4_2400x1350.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Shifting from impact analysis to industry direction, Cursor&#8217;s leadership describes the evolution from Tab autocomplete to synchronous agents to <strong><a href="https://cursor.com/blog/third-era">autonomous cloud agents tackling larger tasks over longer timescales</a></strong>. Within their team, 35% of merged PRs originate from cloud agents, and agent adoption has grown 15-fold annually.</p><p><strong>Why now:</strong> 35% of PRs from autonomous agents is a striking signal. The developer role is visibly shifting from writing code to decomposing problems and reviewing agent-generated artifacts.</p><div><hr></div><h3><strong>Microsoft&#8217;s Compact Model Challenges Reasoning Giants</strong></h3><p>Estimated read time: 22 min</p><p>Also charting the technical frontier, Microsoft releases Phi-4-reasoning-vision-15B, a compact open-weight multimodal model that <strong><a href="https://venturebeat.com/technology/microsoft-built-phi-4-reasoning-vision-15b-to-know-when-to-think-and-when">matches systems many times its size using a fraction of training data</a></strong>. Trained on roughly 200B tokens (versus competitors&#8217; 1T+), it selectively applies chain-of-thought reasoning only where beneficial and excels at UI navigation.</p><p><strong>The opportunity:</strong> A 15B model with strong vision and reasoning opens real possibilities for on-premise deployment, edge inference, and cost-effective agentic workflows where frontier models are impractical.</p><div><hr></div><h3><strong>CLIs Beat MCP for AI Tool Integration</strong></h3><p>Estimated read time: 13 min</p><p>Following our coverage of Andrej Karpathy&#8217;s rallying cry to build CLI-first for agents[1] last week, Holmes argues that CLIs outperform the Model Context Protocol for AI tool integration. <strong><a href="https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html">CLIs offer superior debuggability, composability, and authentication</a></strong> since developers can run identical commands to verify agent behavior. MCP adds process management overhead and coarse permission controls without improving security.</p><p>[1] <a href="https://writing.alteredcraft.com/i/189611922/build-for-agents-karpathy-on-cli-first-products">Build for Agents: Karpathy on CLI-First Products</a></p><p><strong>Worth noting:</strong> Whether you agree or not, the core argument resonates: good CLIs serve both humans and agents, while MCP often introduces more friction than it removes.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Portland Built With Claude: Meet the Winners of PDX Hacks' and AI Collective's Inaugural AI Hackathon]]></title><description><![CDATA[On February 28th, 120 hackers walked into a room in Portland with nothing but ideas and three hours on the clock.]]></description><link>https://writing.alteredcraft.com/p/portland-built-with-claude-meet-the</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/portland-built-with-claude-meet-the</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Sun, 08 Mar 2026 17:36:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WgcU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>On February 28th, 120 hackers walked into a room in Portland with nothing but ideas and three hours on the clock. By the end of the day, 52 teams had submitted working prototypes built with Claude. PDX Hacks&#8217; first <a href="https://luma.com/u55aqt1t">Claude Code hackathon</a>, co-organized with AI Collective, asked a simple question: what can you build with frontier AI before the afternoon is over?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WgcU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WgcU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png 424w, https://substackcdn.com/image/fetch/$s_!WgcU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png 848w, https://substackcdn.com/image/fetch/$s_!WgcU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png 1272w, https://substackcdn.com/image/fetch/$s_!WgcU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WgcU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png" width="1456" height="941" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14139176,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/190299917?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WgcU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png 424w, https://substackcdn.com/image/fetch/$s_!WgcU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png 848w, https://substackcdn.com/image/fetch/$s_!WgcU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png 1272w, https://substackcdn.com/image/fetch/$s_!WgcU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b43d02-ffdd-40db-9cfd-7efdda4f853f_4699x3038.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The results were remarkable. Not because they were polished (though several were), but because 52 teams demonstrated the sheer range of what small groups can accomplish with frontier AI when the constraints are tight and the energy is right.</p><p>I was part of the core organizing team for this event, handling planning and day-of coordination. It was an incredible experience watching these projects come together in real time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OJ9S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3b1fe5c-a63f-4510-8938-b3bfa7ba6b36_4968x3309.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OJ9S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3b1fe5c-a63f-4510-8938-b3bfa7ba6b36_4968x3309.png 424w, https://substackcdn.com/image/fetch/$s_!OJ9S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3b1fe5c-a63f-4510-8938-b3bfa7ba6b36_4968x3309.png 848w, https://substackcdn.com/image/fetch/$s_!OJ9S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3b1fe5c-a63f-4510-8938-b3bfa7ba6b36_4968x3309.png 1272w, https://substackcdn.com/image/fetch/$s_!OJ9S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3b1fe5c-a63f-4510-8938-b3bfa7ba6b36_4968x3309.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OJ9S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3b1fe5c-a63f-4510-8938-b3bfa7ba6b36_4968x3309.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3b1fe5c-a63f-4510-8938-b3bfa7ba6b36_4968x3309.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14719145,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/190299917?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3b1fe5c-a63f-4510-8938-b3bfa7ba6b36_4968x3309.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OJ9S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3b1fe5c-a63f-4510-8938-b3bfa7ba6b36_4968x3309.png 424w, https://substackcdn.com/image/fetch/$s_!OJ9S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3b1fe5c-a63f-4510-8938-b3bfa7ba6b36_4968x3309.png 848w, https://substackcdn.com/image/fetch/$s_!OJ9S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3b1fe5c-a63f-4510-8938-b3bfa7ba6b36_4968x3309.png 1272w, https://substackcdn.com/image/fetch/$s_!OJ9S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3b1fe5c-a63f-4510-8938-b3bfa7ba6b36_4968x3309.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Choosing winners from 52 submissions was genuinely difficult. The range of ideas was wide: adaptive game AI, civic tech, local business intelligence, brand generation, and more. Every team that submitted built something real. These four stood out to the judges.</p><h2>First Place: Snoop (SnoopFeed)</h2><p><strong>Rachel Andrews Hardy and Leila Hardy</strong></p><p>SnoopFeed flips the newsletter model on its head. Instead of asking experts to write, it watches what they read. The Chrome extension passively logs browsing activity, then uses Claude to analyze patterns and generate a curated newsletter from that consumption. Creators set their own subscription price. Readers subscribe to the people whose taste they trust.</p><p>The insight is sharp: the most valuable people in many industries aren&#8217;t necessarily the ones producing content. They&#8217;re the ones consuming the right stuff. SnoopFeed turns that curation instinct into a product.</p><p>The site is live at <a href="https://snoopfeed.com/">snoopfeed.com</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p0gw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b5d6c-d659-47ad-afd6-a8e45c55aacd_2982x1620.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p0gw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b5d6c-d659-47ad-afd6-a8e45c55aacd_2982x1620.png 424w, https://substackcdn.com/image/fetch/$s_!p0gw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b5d6c-d659-47ad-afd6-a8e45c55aacd_2982x1620.png 848w, https://substackcdn.com/image/fetch/$s_!p0gw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b5d6c-d659-47ad-afd6-a8e45c55aacd_2982x1620.png 1272w, https://substackcdn.com/image/fetch/$s_!p0gw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b5d6c-d659-47ad-afd6-a8e45c55aacd_2982x1620.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p0gw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b5d6c-d659-47ad-afd6-a8e45c55aacd_2982x1620.png" width="1456" height="791" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab4b5d6c-d659-47ad-afd6-a8e45c55aacd_2982x1620.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:791,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:395406,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/190299917?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b5d6c-d659-47ad-afd6-a8e45c55aacd_2982x1620.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!p0gw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b5d6c-d659-47ad-afd6-a8e45c55aacd_2982x1620.png 424w, https://substackcdn.com/image/fetch/$s_!p0gw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b5d6c-d659-47ad-afd6-a8e45c55aacd_2982x1620.png 848w, https://substackcdn.com/image/fetch/$s_!p0gw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b5d6c-d659-47ad-afd6-a8e45c55aacd_2982x1620.png 1272w, https://substackcdn.com/image/fetch/$s_!p0gw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b5d6c-d659-47ad-afd6-a8e45c55aacd_2982x1620.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Second Place: Signal Intelligence</h2><p><strong>Jack Hott</strong></p><p>Signal Intelligence tackles a real gap: small businesses making decisions without the data that large corporations take for granted. The platform pulls from weather APIs, traffic and road conditions, and large-scale event feeds, then uses Claude Haiku for web searches of local venue events. A Claude Sonnet model reviews the pooled data and generates daily briefings per Portland neighborhood.</p><p>The thesis resonates. Small businesses can now leverage data in ways previously only available to companies with dedicated analytics teams. The architecture is intentionally modular. More data sources slot in without structural changes, and briefings get more granular as coverage expands.</p><p>The app showing an interactive map of Portland neighborhoods with restaurant and retail filters.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D6s9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc36b0eb5-0d85-4234-86e6-43d9fa5f31e9_2982x1620.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D6s9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc36b0eb5-0d85-4234-86e6-43d9fa5f31e9_2982x1620.png 424w, https://substackcdn.com/image/fetch/$s_!D6s9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc36b0eb5-0d85-4234-86e6-43d9fa5f31e9_2982x1620.png 848w, https://substackcdn.com/image/fetch/$s_!D6s9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc36b0eb5-0d85-4234-86e6-43d9fa5f31e9_2982x1620.png 1272w, https://substackcdn.com/image/fetch/$s_!D6s9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc36b0eb5-0d85-4234-86e6-43d9fa5f31e9_2982x1620.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D6s9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc36b0eb5-0d85-4234-86e6-43d9fa5f31e9_2982x1620.png" width="1456" height="791" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c36b0eb5-0d85-4234-86e6-43d9fa5f31e9_2982x1620.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:791,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3221646,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/190299917?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc36b0eb5-0d85-4234-86e6-43d9fa5f31e9_2982x1620.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!D6s9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc36b0eb5-0d85-4234-86e6-43d9fa5f31e9_2982x1620.png 424w, https://substackcdn.com/image/fetch/$s_!D6s9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc36b0eb5-0d85-4234-86e6-43d9fa5f31e9_2982x1620.png 848w, https://substackcdn.com/image/fetch/$s_!D6s9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc36b0eb5-0d85-4234-86e6-43d9fa5f31e9_2982x1620.png 1272w, https://substackcdn.com/image/fetch/$s_!D6s9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc36b0eb5-0d85-4234-86e6-43d9fa5f31e9_2982x1620.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Third Place: TownHall AI</h2><p><strong><a href="https://www.linkedin.com/in/prashanthpeketi">Prashanth Peketi</a> and <a href="https://www.linkedin.com/in/roheetk">Roheet Kakaday</a></strong></p><p>TownHall AI addresses voter engagement at the level where it matters most and happens least: local races. The platform gives every political candidate an always-on AI representative, trained exclusively on their own platform documents and public statements. Voters enter their ZIP code, see who&#8217;s running in their district, and have a real conversation with a grounded, source-citing AI.</p><p>The details matter here. Candidates get an admin panel to upload policies, tune their AI&#8217;s voice, and block topics. Every one of those actions is recorded in a public audit log. They even built an alignment score powered by Claude Opus that cross-checks uploaded platforms against public records, flagging inconsistencies in real time.</p><p>Down-ballot races shape daily life more than national politics but get almost zero voter engagement. TownHall AI is a thoughtful attempt to close that gap.</p><p>The site is live at: <a href="https://townhallai.vercel.app/">https://townhallai.vercel.app/</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GZQb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd31e45-33e2-4d04-89b3-ae81631fc369_2982x1620.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GZQb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd31e45-33e2-4d04-89b3-ae81631fc369_2982x1620.png 424w, https://substackcdn.com/image/fetch/$s_!GZQb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd31e45-33e2-4d04-89b3-ae81631fc369_2982x1620.png 848w, https://substackcdn.com/image/fetch/$s_!GZQb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd31e45-33e2-4d04-89b3-ae81631fc369_2982x1620.png 1272w, https://substackcdn.com/image/fetch/$s_!GZQb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd31e45-33e2-4d04-89b3-ae81631fc369_2982x1620.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GZQb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd31e45-33e2-4d04-89b3-ae81631fc369_2982x1620.png" width="1456" height="791" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/afd31e45-33e2-4d04-89b3-ae81631fc369_2982x1620.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:791,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4123099,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/190299917?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd31e45-33e2-4d04-89b3-ae81631fc369_2982x1620.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GZQb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd31e45-33e2-4d04-89b3-ae81631fc369_2982x1620.png 424w, https://substackcdn.com/image/fetch/$s_!GZQb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd31e45-33e2-4d04-89b3-ae81631fc369_2982x1620.png 848w, https://substackcdn.com/image/fetch/$s_!GZQb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd31e45-33e2-4d04-89b3-ae81631fc369_2982x1620.png 1272w, https://substackcdn.com/image/fetch/$s_!GZQb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd31e45-33e2-4d04-89b3-ae81631fc369_2982x1620.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Fourth Place: Claude Brand Builder</h2><p><strong><a href="https://www.linkedin.com/in/magnus-graham/">Magnus Graham</a></strong></p><p>Claude Brand Builder is an agentic design agency in a single app. Describe a business idea or upload a few &#8220;vibe&#8221; screenshots, and a multi-step workflow kicks off: Claude analyzes visual signals to define brand DNA, streams a cohesive brand kit with color palettes and font pairings, generates a logo via the Ideogram API, and renders a fully responsive Tailwind landing page in a live iframe.</p><p>Magnus built it out of personal frustration. While launching another project, he found himself context-switching between logo generators, marketing tools, and frontend code. The brand&#8217;s identity existed only in his head. Claude Brand Builder keeps everything in one coherent system where the logo, the code, and the colors share the same brain.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nAcZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314913eb-43e9-4b80-876c-1c2b9c247315_2928x1638.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nAcZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314913eb-43e9-4b80-876c-1c2b9c247315_2928x1638.png 424w, https://substackcdn.com/image/fetch/$s_!nAcZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314913eb-43e9-4b80-876c-1c2b9c247315_2928x1638.png 848w, https://substackcdn.com/image/fetch/$s_!nAcZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314913eb-43e9-4b80-876c-1c2b9c247315_2928x1638.png 1272w, https://substackcdn.com/image/fetch/$s_!nAcZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314913eb-43e9-4b80-876c-1c2b9c247315_2928x1638.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nAcZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314913eb-43e9-4b80-876c-1c2b9c247315_2928x1638.png" width="1456" height="815" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/314913eb-43e9-4b80-876c-1c2b9c247315_2928x1638.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:815,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:919146,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/190299917?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314913eb-43e9-4b80-876c-1c2b9c247315_2928x1638.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nAcZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314913eb-43e9-4b80-876c-1c2b9c247315_2928x1638.png 424w, https://substackcdn.com/image/fetch/$s_!nAcZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314913eb-43e9-4b80-876c-1c2b9c247315_2928x1638.png 848w, https://substackcdn.com/image/fetch/$s_!nAcZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314913eb-43e9-4b80-876c-1c2b9c247315_2928x1638.png 1272w, https://substackcdn.com/image/fetch/$s_!nAcZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F314913eb-43e9-4b80-876c-1c2b9c247315_2928x1638.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What a Day Looks Like</h2><p>The format was deliberately compressed. Doors at 9:30, kickoff at 10:00, all project submissions by 1:00 PM. Judges narrowed to a top 10, teams presented for three minutes each, and winners were announced by 2:45. Anthropic provided API credits to all participants. Solo hackers and teams of up to four were welcome.</p><p>That compression is part of what makes a hackathon valuable. There&#8217;s no time to over-architect, no room for scope creep. You build the thing or you don&#8217;t. Every winning project shipped a working prototype within that window.</p><h2>Portland&#8217;s Builder Community</h2><p>What surprised me most wasn&#8217;t any single project. It was watching 120 people from different backgrounds, different companies, and different experience levels find common ground over a shared problem. Teams formed on the spot between strangers. People who came solo left with collaborators. Experienced engineers paired with newcomers, and both sides learned something. The ideas that emerged from those combinations were better than anything a homogeneous group would have produced.</p><p>That&#8217;s the real value of a community hackathon. It&#8217;s not the prizes or the demos. It&#8217;s the friendships formed, the ideas exchanged, and the realization that your city has more builders than you thought. PDX Hacks and AI Collective did the unglamorous work to make this happen: venue, sponsors, judges, logistics, and the community network to fill a room with the right people. That work matters.</p><p>If you&#8217;re a community leader in your own city and you&#8217;ve been thinking about organizing something similar, do it. The tooling has never been more accessible, the interest has never been higher, and the impact on your local builder community is real. 120 people showed up in Portland on a weekday. Your city has that energy too.</p><p>I had an amazing time being part of the organizing team. Watching talented people build something from nothing in a few hours is a kind of joy that&#8217;s hard to describe. I&#8217;m looking forward to the next one.</p><div><hr></div><p>LinkedIn coverage: <a href="https://www.linkedin.com/posts/addie-olson_wow-it-was-so-exciting-to-be-a-judge-at-ugcPost-7435036708536057856-6pK7?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAC2xAAB0SoJ3wz9mt2l4Q0TZ6qUqBHjlpc">Link</a> <a href="https://www.linkedin.com/posts/ajbustamante_nwcsi-aic-pdxhacks-ugcPost-7433592689666768896-zg8_?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAC2xAAB0SoJ3wz9mt2l4Q0TZ6qUqBHjlpc">Link</a> <a href="https://www.linkedin.com/posts/dwarner_heyyyy-claude-code-hackathon-portland-let-share-7433619193306193920-v1lI?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAC2xAAB0SoJ3wz9mt2l4Q0TZ6qUqBHjlpc">Link</a> <a href="https://www.linkedin.com/posts/marketingvoice_portland-coding-hackers-activity-7433765605167562752-iK3j?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAC2xAAB0SoJ3wz9mt2l4Q0TZ6qUqBHjlpc">Link</a> <a href="https://www.linkedin.com/posts/samkeen_here-we-go-pdx-claude-code-hackathon-activity-7433573947104952320-89Tz?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAC2xAAB0SoJ3wz9mt2l4Q0TZ6qUqBHjlpc">Link</a></p>]]></content:encoded></item><item><title><![CDATA[Weekly Review: Agents Grow Up]]></title><description><![CDATA[The week's curated set of AI tutorials, tools, and perspectives on the maturing agent ecosystem]]></description><link>https://writing.alteredcraft.com/p/weekly-review-agents-grow-up</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/weekly-review-agents-grow-up</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Mon, 02 Mar 2026 13:06:19 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7085c93d-9bde-4c69-869a-3c5605cef0bc_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>Welcome to this week&#8217;s Altered Craft weekly AI review for developers. We&#8217;re grateful you keep showing up every Monday. This edition has a clear throughline: coding agents are leaving the experimental phase and entering the era of engineering discipline. You&#8217;ll find new patterns from Simon Willison, security frameworks from Vercel and NanoClaw, and a provocative argument from Amp that the coding agent itself is dead. Karpathy closes us out with a rallying cry that ties it all together: Build. For. Agents.</em></p></blockquote><h2>TUTORIALS &amp; CASE STUDIES</h2><h3>Agentic Engineering Patterns Beyond Vibe Coding</h3><p>Estimated read time: 5 min</p><p>Simon Willison launches <a href="https://simonwillison.net/2026/Feb/23/agentic-engineering-patterns/">an evergreen guide documenting agentic engineering patterns</a> for professionals using coding agents, explicitly distinguishing this discipline from &#8220;vibe coding.&#8221; The first two chapters cover how cheap code generation reshapes workflows and how Red/Green TDD helps agents produce reliable output.</p><p><strong>The context:</strong> As coding agents become standard tooling, having a shared vocabulary and proven patterns prevents teams from reinventing workflows. Willison&#8217;s guide format means it will evolve alongside the rapidly changing landscape.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>OpenAI&#8217;s Codex Prompting Guide for Agentic Coding</h3><p>Estimated read time: 13 min</p><p>Putting those patterns into practice, OpenAI&#8217;s guide details prompting strategies for GPT-5.3 Codex in agentic workflows. Key techniques include parallelizing tool calls, batching file reads, and treating the model as an <a href="https://developers.openai.com/cookbook/examples/gpt-5/codex_prompting_guide">autonomous engineer rather than a conversational assistant</a>.</p><p><strong>The takeaway:</strong> Even if you don&#8217;t use Codex, the prompting philosophy here applies broadly. Bias toward action, batch operations, and minimize status updates to get the most from any coding agent.</p><h3>Which Web Frameworks Save AI Agents Most Tokens</h3><p>Estimated read time: 9 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TIje!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F862469cf-df6a-4710-8427-cd69fb61943e_2340x1560.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TIje!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F862469cf-df6a-4710-8427-cd69fb61943e_2340x1560.png 424w, https://substackcdn.com/image/fetch/$s_!TIje!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F862469cf-df6a-4710-8427-cd69fb61943e_2340x1560.png 848w, https://substackcdn.com/image/fetch/$s_!TIje!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F862469cf-df6a-4710-8427-cd69fb61943e_2340x1560.png 1272w, https://substackcdn.com/image/fetch/$s_!TIje!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F862469cf-df6a-4710-8427-cd69fb61943e_2340x1560.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TIje!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F862469cf-df6a-4710-8427-cd69fb61943e_2340x1560.png" width="424" height="282.7637362637363" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/862469cf-df6a-4710-8427-cd69fb61943e_2340x1560.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:424,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Token usage across 19 web frameworks for initial blog app build&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Token usage across 19 web frameworks for initial blog app build" title="Token usage across 19 web frameworks for initial blog app build" srcset="https://substackcdn.com/image/fetch/$s_!TIje!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F862469cf-df6a-4710-8427-cd69fb61943e_2340x1560.png 424w, https://substackcdn.com/image/fetch/$s_!TIje!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F862469cf-df6a-4710-8427-cd69fb61943e_2340x1560.png 848w, https://substackcdn.com/image/fetch/$s_!TIje!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F862469cf-df6a-4710-8427-cd69fb61943e_2340x1560.png 1272w, https://substackcdn.com/image/fetch/$s_!TIje!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F862469cf-df6a-4710-8427-cd69fb61943e_2340x1560.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>With agents writing more code than ever, framework choice matters. This benchmark of 19 web frameworks found minimal options like ASP.NET and Express consumed roughly 26k tokens per build, while Phoenix required 74k. Notably, <a href="https://martinalderson.com/posts/which-web-frameworks-are-most-token-efficient-for-ai-agents/">feature additions cost similarly across all frameworks</a>, suggesting overhead primarily impacts initial scaffolding.</p><p><strong>Why this matters:</strong> If you&#8217;re running agents at scale, a 2.9x token gap between frameworks translates directly to cost. Choosing a minimal framework for agent-generated scaffolding is a simple optimization.</p><h3>Five Security Patterns for AI Agent Architectures</h3><p>Estimated read time: 9 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z3xI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7a37c1-97b7-43d9-91df-0384807ce7f7_1920x793.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z3xI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7a37c1-97b7-43d9-91df-0384807ce7f7_1920x793.png 424w, https://substackcdn.com/image/fetch/$s_!z3xI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7a37c1-97b7-43d9-91df-0384807ce7f7_1920x793.png 848w, https://substackcdn.com/image/fetch/$s_!z3xI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7a37c1-97b7-43d9-91df-0384807ce7f7_1920x793.png 1272w, https://substackcdn.com/image/fetch/$s_!z3xI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7a37c1-97b7-43d9-91df-0384807ce7f7_1920x793.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z3xI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7a37c1-97b7-43d9-91df-0384807ce7f7_1920x793.png" width="530" height="218.7706043956044" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a7a37c1-97b7-43d9-91df-0384807ce7f7_1920x793.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:601,&quot;width&quot;:1456,&quot;resizeWidth&quot;:530,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Everything lives in one security context&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Everything lives in one security context" title="Everything lives in one security context" srcset="https://substackcdn.com/image/fetch/$s_!z3xI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7a37c1-97b7-43d9-91df-0384807ce7f7_1920x793.png 424w, https://substackcdn.com/image/fetch/$s_!z3xI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7a37c1-97b7-43d9-91df-0384807ce7f7_1920x793.png 848w, https://substackcdn.com/image/fetch/$s_!z3xI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7a37c1-97b7-43d9-91df-0384807ce7f7_1920x793.png 1272w, https://substackcdn.com/image/fetch/$s_!z3xI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7a37c1-97b7-43d9-91df-0384807ce7f7_1920x793.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>As agents gain deeper access to infrastructure, Vercel maps five progressive security patterns, from zero boundaries to fully separated compute with credential injection. The analysis recommends <a href="https://vercel.com/blog/security-boundaries-in-agentic-architectures">isolating agent harness from generated code execution</a> as the minimum viable production architecture for teams deploying autonomous coding agents.</p><p><strong>Worth noting:</strong> Multiple teams are converging on the same conclusion this week: treat agent-generated code as untrusted by default. This piece gives you a concrete maturity model for your own security posture.</p><h3>NanoClaw&#8217;s Distrust-by-Design AI Agent Security Model</h3><p>Estimated read time: 8 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L97z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff33546d2-ece7-4ea3-8d59-d617b35f9d63_1400x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L97z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff33546d2-ece7-4ea3-8d59-d617b35f9d63_1400x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L97z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff33546d2-ece7-4ea3-8d59-d617b35f9d63_1400x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L97z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff33546d2-ece7-4ea3-8d59-d617b35f9d63_1400x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L97z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff33546d2-ece7-4ea3-8d59-d617b35f9d63_1400x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L97z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff33546d2-ece7-4ea3-8d59-d617b35f9d63_1400x900.jpeg" width="441" height="283.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f33546d2-ece7-4ea3-8d59-d617b35f9d63_1400x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1400,&quot;resizeWidth&quot;:441,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Lines of code comparison: OpenClaw at ~400,000 lines vs NanoClaw at ~3,000 lines&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Lines of code comparison: OpenClaw at ~400,000 lines vs NanoClaw at ~3,000 lines" title="Lines of code comparison: OpenClaw at ~400,000 lines vs NanoClaw at ~3,000 lines" srcset="https://substackcdn.com/image/fetch/$s_!L97z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff33546d2-ece7-4ea3-8d59-d617b35f9d63_1400x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L97z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff33546d2-ece7-4ea3-8d59-d617b35f9d63_1400x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L97z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff33546d2-ece7-4ea3-8d59-d617b35f9d63_1400x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L97z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff33546d2-ece7-4ea3-8d59-d617b35f9d63_1400x900.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Taking that containment philosophy further, NanoClaw treats AI agents as inherently untrusted through three layers: per-agent container isolation, mount allowlists, and fresh containers destroyed after each invocation. At 3,000 lines versus OpenClaw&#8217;s 400,000+, the <a href="https://nanoclaw.dev/blog/nanoclaw-security-model/">architecture prioritizes simplicity to minimize attack surface</a>.</p><p><strong>Key point:</strong> The 3,000 vs. 400,000 line comparison is striking. In agent security, a smaller codebase you can actually audit may be more secure than a comprehensive one you can&#8217;t.</p><h2>TOOLS</h2><h3>Helm: Two Tools Replace Dozens for AI Agents</h3><p>Estimated read time: 8 min</p><p>Helm is a typed TypeScript framework that collapses agent tool sprawl into two operations: search and execute. Agents discover capabilities on demand, sandboxed via SES with granular permissions. Inspired by Cloudflare&#8217;s <a href="https://www.bengubler.com/posts/2026-02-25-introducing-helm">99.9% token reduction through search-plus-execute architecture</a>, it ships with filesystem, git, and shell skills.</p><p><strong>What this enables:</strong> Instead of registering dozens of tools that bloat context windows, you give agents two generic tools and let them discover what they need. A compelling pattern for any agent framework.</p><h3>Amp Abandons Editor Agents for CLI-First Approach</h3><p>Estimated read time: 6 min</p><p>Also rethinking how agents interact with codebases, Amp discontinues their VS Code and Cursor extensions to go all-in on CLI. Their argument: with GPT-5.3-class models, the agent wrapper is no longer the bottleneck. The real constraints are now <a href="https://ampcode.com/news/the-coding-agent-is-dead">how organizations structure codebases and workflows for agents</a>.</p><p><strong>Why now:</strong> This signals a broader industry shift. As model capabilities outpace tooling, the competitive advantage moves from clever agent wrappers to how you organize your codebase for AI consumption.</p><h3>Garry Tan&#8217;s Structured Plan Review Framework</h3><p>Estimated read time: 5 min</p><p>Y Combinator&#8217;s Garry Tan shares a plan-exit-review skill that structures code evaluation into four phases: Architecture, Code Quality, Tests, and Performance. It begins with a scope challenge, then walks through <a href="https://gist.github.com/garrytan/001f9074cab1a8f545ebecbc73a813df">opinionated recommendations with concrete tradeoffs</a> rather than neutral option menus.</p><p><strong>The opportunity:</strong> Drop this directly into your Claude Code or Codex workflow as a reusable skill. The scope challenge step alone can save hours by preventing over-engineering before a single line is written.</p><h3>Free Claude Max for Open Source Maintainers</h3><p>Estimated read time: 3 min</p><p>On the Anthropic side, Claude for OSS offers six months of free Claude Max to open source maintainers. Eligibility targets repos with 5,000+ stars or 1M+ monthly NPM downloads, though maintainers of <a href="https://claude.com/contact-sales/claude-for-oss">quietly essential ecosystem dependencies</a> can also apply.</p><p><strong>What&#8217;s interesting:</strong> Anthropic is explicitly welcoming maintainers who don&#8217;t hit the star count but keep critical infrastructure running. If that describes your work, the application is worth five minutes.</p><h3>Continue Local Claude Code Sessions from Any Device</h3><p>Estimated read time: 9 min</p><p>Also from Anthropic, Remote Control lets you continue local Claude Code sessions from phones, tablets, or any browser. Your session stays on your machine with full filesystem and MCP access. <a href="https://code.claude.com/docs/en/remote-control">Web and mobile interfaces serve as windows into the local session</a>, with automatic reconnection.</p><p><strong>What this solves:</strong> Start a long-running agent task at your desk, walk away, and check progress from your phone. Eliminates the &#8220;is it done yet?&#8221; loop that interrupts deep work.</p><h3>Vercel Chat SDK Unifies Cross-Platform Bot Development</h3><p>Estimated read time: 4 min</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!juDk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefde2134-3306-4962-8cc3-43639d3f50ca_974x638.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!juDk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefde2134-3306-4962-8cc3-43639d3f50ca_974x638.png 424w, https://substackcdn.com/image/fetch/$s_!juDk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefde2134-3306-4962-8cc3-43639d3f50ca_974x638.png 848w, https://substackcdn.com/image/fetch/$s_!juDk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefde2134-3306-4962-8cc3-43639d3f50ca_974x638.png 1272w, https://substackcdn.com/image/fetch/$s_!juDk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefde2134-3306-4962-8cc3-43639d3f50ca_974x638.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!juDk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefde2134-3306-4962-8cc3-43639d3f50ca_974x638.png" width="348" height="227.95071868583162" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/efde2134-3306-4962-8cc3-43639d3f50ca_974x638.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:638,&quot;width&quot;:974,&quot;resizeWidth&quot;:348,&quot;bytes&quot;:120294,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/189611922?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefde2134-3306-4962-8cc3-43639d3f50ca_974x638.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!juDk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefde2134-3306-4962-8cc3-43639d3f50ca_974x638.png 424w, https://substackcdn.com/image/fetch/$s_!juDk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefde2134-3306-4962-8cc3-43639d3f50ca_974x638.png 848w, https://substackcdn.com/image/fetch/$s_!juDk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefde2134-3306-4962-8cc3-43639d3f50ca_974x638.png 1272w, https://substackcdn.com/image/fetch/$s_!juDk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefde2134-3306-4962-8cc3-43639d3f50ca_974x638.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Vercel releases Chat SDK, a TypeScript library for writing bot logic once and deploying across Slack, Teams, Discord, GitHub, and Linear. Features include type-safe event handlers, JSX cards that render natively per platform, and <a href="https://vercel.com/changelog/chat-sdk">built-in AI SDK streaming for real-time responses</a>.</p><p><strong>The practical win:</strong> If you&#8217;ve built separate Slack and Discord integrations for an AI assistant, you know the pain. Write your bot once with native UI on every platform.</p><h3>Nano Banana 2 Brings Flash Speed Image Generation</h3><p>Estimated read time: 4 min</p><p>Shifting from code to pixels, Google introduces Nano Banana 2, combining professional-grade image generation with rapid processing. The model features advanced world knowledge, consistent subject representation, and <a href="https://blog.google/innovation-and-ai/technology/ai/nano-banana-2/">production-ready specifications at flash speed</a> for applications that need quality without sacrificing latency.</p><p><strong>Why it&#8217;s relevant:</strong> Speed is the bottleneck for image generation in production apps. Flash-speed processing with pro quality opens up use cases that were previously too slow for real-time user experiences.</p><h2>NEWS &amp; EDITORIALS</h2><h3>Hiring Engineers When AI Writes the Code</h3><p>Estimated read time: 6 min</p><p>Tolan shares their redesigned engineering interview where candidates build solutions using AI assistants like Claude and Cursor. The key insight: AI has not changed what distinguishes great engineers. What matters is <a href="https://www.tolans.com/relay/how-we-hire-engineers-when-ai-writes-our-code">architectural judgment over implementation speed</a>, recognizing trade-offs, and understanding every line you ship.</p><p><strong>The career signal:</strong> Whether you&#8217;re hiring or interviewing, this reframes the conversation. AI makes judgment and communication more valuable, not less. A reassuring data point for senior engineers navigating the shifting landscape.</p><h3>OpenClaw Creator: Be More Playful Building AI</h3><p>Estimated read time: 5 min</p><p>On the builder side, Peter Steinberger, creator of the viral AI agent OpenClaw, advocates for a less rigid approach to development. His core advice: <a href="https://techcrunch.com/2026/02/25/openclaw-creators-advice-to-ai-builders-is-to-be-more-playful-and-allow-yourself-time-to-improve/">be more playful and allow yourself time to improve</a>, letting experimentation and iterative refinement drive better outcomes.</p><p><strong>What&#8217;s refreshing:</strong> In a space dominated by optimization talk, this is a reminder that the best agent builders are treating this moment as a creative frontier, not an engineering sprint.</p><h3>Intelligence Yield Reframes How We Benchmark Models</h3><p>Estimated read time: 5 min</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vrZh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6614b66a-bba4-42dc-9ab9-64e3cca6a074_1876x1102.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vrZh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6614b66a-bba4-42dc-9ab9-64e3cca6a074_1876x1102.png 424w, https://substackcdn.com/image/fetch/$s_!vrZh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6614b66a-bba4-42dc-9ab9-64e3cca6a074_1876x1102.png 848w, https://substackcdn.com/image/fetch/$s_!vrZh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6614b66a-bba4-42dc-9ab9-64e3cca6a074_1876x1102.png 1272w, https://substackcdn.com/image/fetch/$s_!vrZh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6614b66a-bba4-42dc-9ab9-64e3cca6a074_1876x1102.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vrZh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6614b66a-bba4-42dc-9ab9-64e3cca6a074_1876x1102.png" width="488" height="286.5659340659341" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6614b66a-bba4-42dc-9ab9-64e3cca6a074_1876x1102.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:855,&quot;width&quot;:1456,&quot;resizeWidth&quot;:488,&quot;bytes&quot;:160367,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/189611922?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6614b66a-bba4-42dc-9ab9-64e3cca6a074_1876x1102.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vrZh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6614b66a-bba4-42dc-9ab9-64e3cca6a074_1876x1102.png 424w, https://substackcdn.com/image/fetch/$s_!vrZh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6614b66a-bba4-42dc-9ab9-64e3cca6a074_1876x1102.png 848w, https://substackcdn.com/image/fetch/$s_!vrZh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6614b66a-bba4-42dc-9ab9-64e3cca6a074_1876x1102.png 1272w, https://substackcdn.com/image/fetch/$s_!vrZh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6614b66a-bba4-42dc-9ab9-64e3cca6a074_1876x1102.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Shifting from people to models, Intelligence Yield (IY) measures how efficiently AI models convert compute into useful work. Using METR benchmark data, the framework tracks <a href="https://bmdragos.github.io/intelligence-yield/">which frontier models solve harder tasks more reliably with less compute</a>, with IY=1.0 marking parity with human work rate.</p><p><strong>The shift:</strong> As you choose between models for agent workflows, raw capability benchmarks tell only half the story. IY gives you a cost-efficiency lens for comparing what you actually get per dollar of compute.</p><h3>Build for Agents: Karpathy on CLI-First Products</h3><p>Estimated read time: 3 min</p><p>Andrej Karpathy argues CLIs are ideal for AI agents because they are &#8220;legacy&#8221; technology agents can natively use. He demos Claude building a Polymarket dashboard in three minutes, then challenges: does your product offer markdown docs, Skills, <a href="https://x.com/karpathy/status/2026360908398862478">CLI access, or MCP integration</a>?</p><p><strong>The rallying cry:</strong> &#8220;Build. For. Agents.&#8221; Karpathy&#8217;s checklist of markdown docs, Skills, CLI, and MCP gives you a concrete framework for making any product or service agent-accessible today.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://writing.alteredcraft.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Altered Craft is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Conductor and the Agent Orchestration Environment]]></title><description><![CDATA[Managing five AI agents from one interface]]></description><link>https://writing.alteredcraft.com/p/conductor-and-the-agent-orchestration</link><guid isPermaLink="false">https://writing.alteredcraft.com/p/conductor-and-the-agent-orchestration</guid><dc:creator><![CDATA[Sam Keen]]></dc:creator><pubDate>Wed, 25 Feb 2026 13:11:20 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/75d4cbd5-706e-4fbc-8196-81413830364f_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I have five Claude Code instances running right now. Two are implementing features across different services. One is writing tests. One is doing deep research for an upcoming article. The fifth is investigating a bug report. None of them know about each other, and none of them are stepping on each other&#8217;s work.</p><p>A few months ago, for me, this would have been five terminal windows, five mental threads to track, and a constant low-grade anxiety about which session was doing what. The terminal-per-agent workflow works right up until the cognitive load of managing it doesn&#8217;t. What changed wasn&#8217;t discipline. It was tooling.</p><p>The tool making this possible is <a href="https://conductor.build/">Conductor</a>. I&#8217;ve been using it daily for about a month, and while the tool itself is worth examining, what it represents might matter more. Conductor is one of the first purpose-built applications for a workflow that didn&#8217;t exist two years ago: managing multiple AI coding agents simultaneously, reviewing their output, and merging results into your codebase.</p><p>It&#8217;s not an IDE. It&#8217;s not trying to be. It literally has a button to send you out to your preferred editor when you need to do IDE work. That distinction hints at a new kind of tool entirely, one built not for writing code but for managing the things that write code.</p><p>I want to be clear about my position here. I&#8217;m not being paid by Conductor. I don&#8217;t have a stake in their success. I&#8217;m a developer who&#8217;s been exploring AI coding tools full-time, and Conductor is the tool that stuck in my daily workflow. What follows is an honest assessment of what it does, what it doesn&#8217;t, and why I think it signals something bigger than itself.</p><h2>What Conductor Actually Does</h2><p>Conductor is a macOS desktop application that wraps Claude Code in a GUI designed for parallel AI-assisted development. At its core, it solves a specific problem: running multiple Claude Code instances in parallel without them colliding. It does this through workspaces, isolated copies of your Git repository, each on its own branch. You spin up a new workspace, give the agent a task, and it operates on its own copy of the codebase. Changes from one agent never interfere with another while they&#8217;re working.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1y6E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e11b7cd-270f-4469-a4b9-8ec6034c1241_2988x1876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1y6E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e11b7cd-270f-4469-a4b9-8ec6034c1241_2988x1876.png 424w, https://substackcdn.com/image/fetch/$s_!1y6E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e11b7cd-270f-4469-a4b9-8ec6034c1241_2988x1876.png 848w, https://substackcdn.com/image/fetch/$s_!1y6E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e11b7cd-270f-4469-a4b9-8ec6034c1241_2988x1876.png 1272w, https://substackcdn.com/image/fetch/$s_!1y6E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e11b7cd-270f-4469-a4b9-8ec6034c1241_2988x1876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1y6E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e11b7cd-270f-4469-a4b9-8ec6034c1241_2988x1876.png" width="1456" height="914" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e11b7cd-270f-4469-a4b9-8ec6034c1241_2988x1876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:914,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:709609,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://writing.alteredcraft.com/i/189057113?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e11b7cd-270f-4469-a4b9-8ec6034c1241_2988x1876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1y6E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e11b7cd-270f-4469-a4b9-8ec6034c1241_2988x1876.png 424w, https://substackcdn.com/image/fetch/$s_!1y6E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e11b7cd-270f-4469-a4b9-8ec6034c1241_2988x1876.png 848w, https://substackcdn.com/image/fetch/$s_!1y6E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e11b7cd-270f-4469-a4b9-8ec6034c1241_2988x1876.png 1272w, https://substackcdn.com/image/fetch/$s_!1y6E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e11b7cd-270f-4469-a4b9-8ec6034c1241_2988x1876.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Workspace showing multiple parallel agents</figcaption></figure></div><p><a href="https://docs.conductor.build/">Conductor uses the official Claude Code SDK</a>, not a custom harness. As one of the team members confirmed publicly: it&#8217;s the same quality as native Claude Code, with an orchestration layer on top. Recently they added OpenAI Codex as a selectable model alongside Claude, which the team describes as useful for precise, surgical edits that complement Claude&#8217;s broader reasoning.</p><p>The application is currently free, funded by seed capital from Y Combinator, with future monetization planned around team collaboration features.</p><h2>The Workflow in Practice</h2>
      <p>
          <a href="https://writing.alteredcraft.com/p/conductor-and-the-agent-orchestration">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>