<?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[Amit Chorasiya]]></title><description><![CDATA[Amit Chorasiya]]></description><link>https://amitchorasiya.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!O-kU!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Famitchorasiya.substack.com%2Fimg%2Fsubstack.png</url><title>Amit Chorasiya</title><link>https://amitchorasiya.substack.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 05 Jun 2026 04:35:41 GMT</lastBuildDate><atom:link href="https://amitchorasiya.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[AmitChorasiya]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[amitchorasiya@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[amitchorasiya@substack.com]]></itunes:email><itunes:name><![CDATA[Amit Chorasiya]]></itunes:name></itunes:owner><itunes:author><![CDATA[Amit Chorasiya]]></itunes:author><googleplay:owner><![CDATA[amitchorasiya@substack.com]]></googleplay:owner><googleplay:email><![CDATA[amitchorasiya@substack.com]]></googleplay:email><googleplay:author><![CDATA[Amit Chorasiya]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[AntiVibe Part 4: AntiVibe Maturity Model]]></title><description><![CDATA[This is Part 4 of a 6-part series on AntiVibe.]]></description><link>https://amitchorasiya.substack.com/p/antivibe-part-4-antivibe-maturity</link><guid isPermaLink="false">https://amitchorasiya.substack.com/p/antivibe-part-4-antivibe-maturity</guid><dc:creator><![CDATA[Amit Chorasiya]]></dc:creator><pubDate>Mon, 18 May 2026 01:10:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!h3Ky!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This is Part 4 of a 6-part series on AntiVibe. <a href="https://substack.com/home/post/p-194369593">Part 3</a> introduced the four-layer framework. Now let&#8217;s make it real. Where does your team stand today, and what would AntiVibe have changed for Moltbook?</em></p><p>Frameworks are great on paper. But the first question everyone asks is: <strong>&#8220;Where do I start?&#8221;</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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><p>Fair question. Not every team is going to jump to full architecture-first development overnight. And they shouldn&#8217;t have to.</p><p>So I built a maturity model. Four levels. Be honest about where you are. Then move up one level at a time.</p><h2>The AntiVibe Maturity Model</h2><p>Think of this like a staircase. You are standing on one of these steps right now. The goal is not to leap to the top. The goal is to stop standing on the step that is on fire.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h3Ky!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h3Ky!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!h3Ky!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!h3Ky!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!h3Ky!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h3Ky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.png" width="1024" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2148276,&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://amitchorasiya.substack.com/i/198196087?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.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_!h3Ky!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!h3Ky!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!h3Ky!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!h3Ky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F045d481d-20e2-469c-b688-d1df92f6d2d3_1024x1536.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><h3>Level 0: Pure Vibecoding</h3><p>No rules. No scanning. You ship what the AI generates raw. Like eating sushi from a gas station. Could be fine. Probably not.</p><p><strong>Risk: Critical.</strong> You are one bored security researcher away from a very bad week. This is where Moltbook was. This is where Base44 was. This is where the NX build system was. Notice a pattern.</p><h3>Level 1: Reactive Scanning</h3><p>You bolt on SAST and SCA tools <em>after</em> code generation. You catch hardcoded credentials. You flag vulnerable dependencies. You fix some of them. You feel productive.</p><p>But the AI is still generating insecure code by default. You are spell-checking a document written in the wrong language. You are mopping the floor while the faucet is still running.</p><p><strong>Risk: High.</strong> You catch the obvious stuff. The subtle stuff ships. The subtle stuff is always worse.</p><h3>Level 2: Proactive Rails</h3><p>Now we are cooking. Rules files. Reference patterns. System prompts. The AI gets security context <em>before</em> it writes code. RLS shows up by default. Secrets stay server-side. Auth checks land on every endpoint.</p><p>Scanning still runs as a safety net. But most issues never get generated in the first place. You stopped the faucet.</p><p><strong>This is the minimum production-viable level.</strong> If you ship anything that handles real user data, you need to be here. Yesterday.</p><p><strong>Risk: Moderate.</strong> Five to eight hours of setup. Less time than you spent arguing about your last sprint planning.</p><h3>Level 3: Architecture-First</h3><p>Full AntiVibe. A security architecture brief drives everything. Threat modeling before code generation. Rails encode real architecture decisions, not generic best practices. Scanning validates compliance. Feedback loops update the brief as threats evolve.</p><p>This is what you want for regulated data, enterprise systems, or anything involving real money and real lawyers.</p><p><strong>Risk: Low.</strong> Not zero. Nothing is zero. But low enough to sleep at night without one eye open.</p><p></p><h2>Self Assessment</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YCn1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a758f39-21f9-48be-bfae-40772703cad5_1966x878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YCn1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a758f39-21f9-48be-bfae-40772703cad5_1966x878.png 424w, https://substackcdn.com/image/fetch/$s_!YCn1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a758f39-21f9-48be-bfae-40772703cad5_1966x878.png 848w, https://substackcdn.com/image/fetch/$s_!YCn1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a758f39-21f9-48be-bfae-40772703cad5_1966x878.png 1272w, https://substackcdn.com/image/fetch/$s_!YCn1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a758f39-21f9-48be-bfae-40772703cad5_1966x878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YCn1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a758f39-21f9-48be-bfae-40772703cad5_1966x878.png" width="1456" height="650" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a758f39-21f9-48be-bfae-40772703cad5_1966x878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:650,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:160651,&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://amitchorasiya.substack.com/i/198196087?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a758f39-21f9-48be-bfae-40772703cad5_1966x878.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_!YCn1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a758f39-21f9-48be-bfae-40772703cad5_1966x878.png 424w, https://substackcdn.com/image/fetch/$s_!YCn1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a758f39-21f9-48be-bfae-40772703cad5_1966x878.png 848w, https://substackcdn.com/image/fetch/$s_!YCn1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a758f39-21f9-48be-bfae-40772703cad5_1966x878.png 1272w, https://substackcdn.com/image/fetch/$s_!YCn1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a758f39-21f9-48be-bfae-40772703cad5_1966x878.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></p><p>Four questions. Thirty seconds. Now you know where to start. No excuses left.</p><h2>The Moltbook Rewind</h2><p>Now let me walk through the <a href="https://www.wiz.io/blog/exposed-moltbook-database-reveals-millions-of-api-keys">Moltbook breach</a> like a highlight reel. Except the highlights are all bad.</p><p>Every vulnerability was a one-line fix. RLS policies. Environment variables. Rate limiting. The AI would have written all of them. Every single one. <em>If someone had told it to.</em></p><p>Nobody told it to. So 1.5 million credentials leaked. Five rounds of emergency disclosure. And a reputation that now lives exclusively in the past tense.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rhe5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42223bb5-f90e-43a1-946e-8462bf603332_1920x1377.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rhe5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42223bb5-f90e-43a1-946e-8462bf603332_1920x1377.png 424w, https://substackcdn.com/image/fetch/$s_!rhe5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42223bb5-f90e-43a1-946e-8462bf603332_1920x1377.png 848w, https://substackcdn.com/image/fetch/$s_!rhe5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42223bb5-f90e-43a1-946e-8462bf603332_1920x1377.png 1272w, https://substackcdn.com/image/fetch/$s_!rhe5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42223bb5-f90e-43a1-946e-8462bf603332_1920x1377.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rhe5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42223bb5-f90e-43a1-946e-8462bf603332_1920x1377.png" width="1456" height="1044" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42223bb5-f90e-43a1-946e-8462bf603332_1920x1377.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1044,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;5 hours with AntiVibe vs 5 rounds of crisis without it&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="5 hours with AntiVibe vs 5 rounds of crisis without it" title="5 hours with AntiVibe vs 5 rounds of crisis without it" srcset="https://substackcdn.com/image/fetch/$s_!rhe5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42223bb5-f90e-43a1-946e-8462bf603332_1920x1377.png 424w, https://substackcdn.com/image/fetch/$s_!rhe5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42223bb5-f90e-43a1-946e-8462bf603332_1920x1377.png 848w, https://substackcdn.com/image/fetch/$s_!rhe5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42223bb5-f90e-43a1-946e-8462bf603332_1920x1377.png 1272w, https://substackcdn.com/image/fetch/$s_!rhe5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42223bb5-f90e-43a1-946e-8462bf603332_1920x1377.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><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VypJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6bd395-5af0-44ef-9435-e9eebe2c5991_2714x1148.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VypJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6bd395-5af0-44ef-9435-e9eebe2c5991_2714x1148.png 424w, https://substackcdn.com/image/fetch/$s_!VypJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6bd395-5af0-44ef-9435-e9eebe2c5991_2714x1148.png 848w, https://substackcdn.com/image/fetch/$s_!VypJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6bd395-5af0-44ef-9435-e9eebe2c5991_2714x1148.png 1272w, https://substackcdn.com/image/fetch/$s_!VypJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6bd395-5af0-44ef-9435-e9eebe2c5991_2714x1148.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VypJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6bd395-5af0-44ef-9435-e9eebe2c5991_2714x1148.png" width="1456" height="616" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be6bd395-5af0-44ef-9435-e9eebe2c5991_2714x1148.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:616,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:363655,&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://amitchorasiya.substack.com/i/198196087?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6bd395-5af0-44ef-9435-e9eebe2c5991_2714x1148.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_!VypJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6bd395-5af0-44ef-9435-e9eebe2c5991_2714x1148.png 424w, https://substackcdn.com/image/fetch/$s_!VypJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6bd395-5af0-44ef-9435-e9eebe2c5991_2714x1148.png 848w, https://substackcdn.com/image/fetch/$s_!VypJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6bd395-5af0-44ef-9435-e9eebe2c5991_2714x1148.png 1272w, https://substackcdn.com/image/fetch/$s_!VypJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe6bd395-5af0-44ef-9435-e9eebe2c5991_2714x1148.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><h4></h4><p>Seven failures. Seven missing rules.</p><p>Not one of these is rocket science. The AI knows how to write RLS policies. It knows environment variables exist. It knows what rate limiting is. It has known these things since 2023.</p><p>It just was never told to use them. That is the entire story. There is no twist ending.</p><h2>Why This Keeps Happening</h2><p>Vibecoded apps fail the same way every single time. And it is hilarious. In a deeply unfunny way.</p><p>The AI is not stupid. It optimizes for what you ask. Ask for a feature, you get a feature. Ask for a <em>secure</em> feature, you get a secure feature. This is not complicated. This is how instructions work.</p><p>The gap is not intelligence. The gap is that nobody said anything.</p><p>Moltbook never gave instructions. Base44 never gave instructions. The NX build system never gave instructions. They all did the same thing: prompt the AI, ship what it generated, cross their fingers, and go to lunch.</p><p>Hope is not a security strategy. Hope is what you have when you have run out of strategies.</p><h2>The Bottom Line</h2><p>Moltbook did not fail because AI is dangerous. It failed because nobody spent five hours writing down what &#8220;secure&#8221; means for their application. Five hours. That is less than a Netflix binge. That is less than most code reviews take.</p><p>The architecture brief and the rails are how you tell the AI what secure looks like. Without them, you are hoping. With them, you are engineering.</p><p>And one more thing.</p><p>In <strong>Part 5</strong>: the complete AntiVibe toolchain. Specific tools for each layer. A step-by-step starter kit you can implement this week. No more theory. Just the playbook.</p><p></p><p><em>Part 4 of 6 in the AntiVibe series</em></p><p></p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:189839743,&quot;url&quot;:&quot;https://amitchorasiya.substack.com/p/antivibe-part-1-the-vibecoding-reality&quot;,&quot;publication_id&quot;:8166163,&quot;publication_name&quot;:&quot;Amit Chorasiya&quot;,&quot;publication_logo_url&quot;:null,&quot;title&quot;:&quot;AntiVibe Part 1: The Data Behind the Vibes&quot;,&quot;truncated_body_text&quot;:&quot;Vibecoding shipped Collins Dictionary&#8217;s Word of the Year for 2025. It also shipped 69 vulnerabilities across 15 apps in a single study, exposed 1.5 million API keys on a viral platform, and introduced a new class of supply chain attack called slopsquatting&quot;,&quot;date&quot;:&quot;2026-03-04T03:33:34.783Z&quot;,&quot;like_count&quot;:1,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:110746631,&quot;name&quot;:&quot;Amit Chorasiya&quot;,&quot;handle&quot;:&quot;amitchorasiya&quot;,&quot;previous_name&quot;:&quot;AmitChorasiya&quot;,&quot;photo_url&quot;:null,&quot;bio&quot;:null,&quot;profile_set_up_at&quot;:&quot;2026-02-28T02:53:29.456Z&quot;,&quot;reader_installed_at&quot;:&quot;2026-03-02T11:34:24.218Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:8357652,&quot;user_id&quot;:110746631,&quot;publication_id&quot;:8166163,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:8166163,&quot;name&quot;:&quot;Amit Chorasiya&quot;,&quot;subdomain&quot;:&quot;amitchorasiya&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;&quot;,&quot;logo_url&quot;:null,&quot;author_id&quot;:110746631,&quot;primary_user_id&quot;:110746631,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2026-02-28T02:54:11.057Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;AmitChorasiya&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;profile&quot;,&quot;is_personal_mode&quot;:true,&quot;logo_url_wide&quot;:null}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://amitchorasiya.substack.com/p/antivibe-part-1-the-vibecoding-reality?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><span></span><span class="embedded-post-publication-name">Amit Chorasiya</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">AntiVibe Part 1: The Data Behind the Vibes</div></div><div class="embedded-post-body">Vibecoding shipped Collins Dictionary&#8217;s Word of the Year for 2025. It also shipped 69 vulnerabilities across 15 apps in a single study, exposed 1.5 million API keys on a viral platform, and introduced a new class of supply chain attack called slopsquatting&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">3 months ago &#183; 1 like &#183; Amit Chorasiya</div></a></div><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:190564559,&quot;url&quot;:&quot;https://amitchorasiya.substack.com/p/antivibe-part-2-five-ways-vibecoding&quot;,&quot;publication_id&quot;:8166163,&quot;publication_name&quot;:&quot;Amit Chorasiya&quot;,&quot;publication_logo_url&quot;:null,&quot;title&quot;:&quot;AntiVibe Part 2: Five Ways Vibecoding Breaks Your Security&quot;,&quot;truncated_body_text&quot;:&quot;This is Part 2 of a 6-part series on AntiVibe. AntiVibe Part 1: The Data Behind the Vibes covered the data and the breaches. Now let&#8217;s talk about why it happens.&quot;,&quot;date&quot;:&quot;2026-03-10T23:29:23.508Z&quot;,&quot;like_count&quot;:3,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:110746631,&quot;name&quot;:&quot;Amit Chorasiya&quot;,&quot;handle&quot;:&quot;amitchorasiya&quot;,&quot;previous_name&quot;:&quot;AmitChorasiya&quot;,&quot;photo_url&quot;:null,&quot;bio&quot;:null,&quot;profile_set_up_at&quot;:&quot;2026-02-28T02:53:29.456Z&quot;,&quot;reader_installed_at&quot;:&quot;2026-03-02T11:34:24.218Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:8357652,&quot;user_id&quot;:110746631,&quot;publication_id&quot;:8166163,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:8166163,&quot;name&quot;:&quot;Amit Chorasiya&quot;,&quot;subdomain&quot;:&quot;amitchorasiya&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;&quot;,&quot;logo_url&quot;:null,&quot;author_id&quot;:110746631,&quot;primary_user_id&quot;:110746631,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2026-02-28T02:54:11.057Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;AmitChorasiya&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;profile&quot;,&quot;is_personal_mode&quot;:true,&quot;logo_url_wide&quot;:null}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://amitchorasiya.substack.com/p/antivibe-part-2-five-ways-vibecoding?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><span></span><span class="embedded-post-publication-name">Amit Chorasiya</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">AntiVibe Part 2: Five Ways Vibecoding Breaks Your Security</div></div><div class="embedded-post-body">This is Part 2 of a 6-part series on AntiVibe. AntiVibe Part 1: The Data Behind the Vibes covered the data and the breaches. Now let&#8217;s talk about why it happens&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">3 months ago &#183; 3 likes &#183; Amit Chorasiya</div></a></div><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:194369593,&quot;url&quot;:&quot;https://amitchorasiya.substack.com/p/antivibe-part-3-plan-it-feed-it-code&quot;,&quot;publication_id&quot;:8166163,&quot;publication_name&quot;:&quot;Amit Chorasiya&quot;,&quot;publication_logo_url&quot;:null,&quot;title&quot;:&quot;AntiVibe Part 3: The Framework: Plan It, Feed It, Code Inside the Guardrails&quot;,&quot;truncated_body_text&quot;:&quot;This is Part 3 of a 6-part series on AntiVibe. Part 1 covered the data. Part 2 explained why vibecoding breaks. Now let&#8217;s fix it.&quot;,&quot;date&quot;:&quot;2026-04-16T03:42:59.018Z&quot;,&quot;like_count&quot;:4,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:110746631,&quot;name&quot;:&quot;Amit Chorasiya&quot;,&quot;handle&quot;:&quot;amitchorasiya&quot;,&quot;previous_name&quot;:&quot;AmitChorasiya&quot;,&quot;photo_url&quot;:null,&quot;bio&quot;:null,&quot;profile_set_up_at&quot;:&quot;2026-02-28T02:53:29.456Z&quot;,&quot;reader_installed_at&quot;:&quot;2026-03-02T11:34:24.218Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:8357652,&quot;user_id&quot;:110746631,&quot;publication_id&quot;:8166163,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:8166163,&quot;name&quot;:&quot;Amit Chorasiya&quot;,&quot;subdomain&quot;:&quot;amitchorasiya&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;&quot;,&quot;logo_url&quot;:null,&quot;author_id&quot;:110746631,&quot;primary_user_id&quot;:110746631,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2026-02-28T02:54:11.057Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;AmitChorasiya&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;profile&quot;,&quot;is_personal_mode&quot;:true,&quot;logo_url_wide&quot;:null}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://amitchorasiya.substack.com/p/antivibe-part-3-plan-it-feed-it-code?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><span></span><span class="embedded-post-publication-name">Amit Chorasiya</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">AntiVibe Part 3: The Framework: Plan It, Feed It, Code Inside the Guardrails</div></div><div class="embedded-post-body">This is Part 3 of a 6-part series on AntiVibe. Part 1 covered the data. Part 2 explained why vibecoding breaks. Now let&#8217;s fix it&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">2 months ago &#183; 4 likes &#183; Amit Chorasiya</div></a></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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[Do LLMs Try Harder When You Bribe Them? ]]></title><description><![CDATA[I Ran 3,000 Tests to Find Out]]></description><link>https://amitchorasiya.substack.com/p/do-llms-try-harder-when-you-bribe</link><guid isPermaLink="false">https://amitchorasiya.substack.com/p/do-llms-try-harder-when-you-bribe</guid><dc:creator><![CDATA[Amit Chorasiya]]></dc:creator><pubDate>Tue, 12 May 2026 02:09:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!u1vy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Tell a language model you will tip it $200, and it gives you a better answer. The model cannot collect the money. It does not have a bank account. But it works.</p><p>Everyone in the AI community has a theory about this. Nobody measures it. </p><p>So I built an experiment.</p><p>Five AI models. Six ways of asking the same question. 3,000 API calls. Total cost: twenty-three cents.</p><p>And the results changed how I think about building AI products.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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 class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u1vy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u1vy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!u1vy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!u1vy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!u1vy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u1vy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.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;:null,&quot;bytes&quot;:2110966,&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://amitchorasiya.substack.com/i/196273997?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.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_!u1vy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!u1vy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!u1vy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!u1vy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2eb14da-3cc9-417e-a2b2-a53feefca421_1536x1024.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></p><h2><strong>TL;DR</strong></h2><ul><li><p>Saying &#8220;I need an expert-level response&#8221; increased accuracy by 22 percentage points and made responses 35% longer.</p></li><li><p>Offering a $200 tip boosted accuracy from 58.5% to 79.4%. Flattery (&#8221;You&#8217;re the most capable AI&#8221;) hit 73.3%.</p></li><li><p>Threats (&#8221;I&#8217;ll switch to a competitor&#8221;) were the worst strategy. Dead last on every measure.</p></li><li><p>Bigger models were more influenced by these signals, not less.</p></li><li><p>We ran 525 statistical tests with strict correction for multiple comparisons. 262 passed. This is not luck.</p></li><li><p>Why does it work? During training, these models learn to associate certain cues (authority, high stakes) with higher-effort responses. You are not tricking the model. You are speaking a language it was trained to respond to.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oTi5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d14c2b-25e5-43e5-9f5c-6d72264eac69_2606x618.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oTi5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d14c2b-25e5-43e5-9f5c-6d72264eac69_2606x618.png 424w, https://substackcdn.com/image/fetch/$s_!oTi5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d14c2b-25e5-43e5-9f5c-6d72264eac69_2606x618.png 848w, https://substackcdn.com/image/fetch/$s_!oTi5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d14c2b-25e5-43e5-9f5c-6d72264eac69_2606x618.png 1272w, https://substackcdn.com/image/fetch/$s_!oTi5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d14c2b-25e5-43e5-9f5c-6d72264eac69_2606x618.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oTi5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d14c2b-25e5-43e5-9f5c-6d72264eac69_2606x618.png" width="1456" height="345" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a2d14c2b-25e5-43e5-9f5c-6d72264eac69_2606x618.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:345,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:136726,&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://amitchorasiya.substack.com/i/196273997?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d14c2b-25e5-43e5-9f5c-6d72264eac69_2606x618.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_!oTi5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d14c2b-25e5-43e5-9f5c-6d72264eac69_2606x618.png 424w, https://substackcdn.com/image/fetch/$s_!oTi5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d14c2b-25e5-43e5-9f5c-6d72264eac69_2606x618.png 848w, https://substackcdn.com/image/fetch/$s_!oTi5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d14c2b-25e5-43e5-9f5c-6d72264eac69_2606x618.png 1272w, https://substackcdn.com/image/fetch/$s_!oTi5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d14c2b-25e5-43e5-9f5c-6d72264eac69_2606x618.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p></p><h2><strong>The Experiment</strong></h2><h3>The Prompts</h3><p>I took 10 questions across 5 areas (math, science, coding, creative writing, career advice) and asked each one six different ways. Same question. Six framings. The only thing that changes is the wrapper.</p><p>Here is a example:</p><p><strong>The question:</strong> <em>&#8220;A store offers 20% off, then an additional 15% off the reduced price. What is the total percentage discount?&#8221;</em></p><div><hr></div><p><strong>Just the question, no wrapper:</strong></p><p>A store offers 20% off, then an additional 15% off the reduced price. What is the total percentage discount?</p><p>Result: <strong>58% accurate</strong>, 134 words, basic formatting.</p><div><hr></div><p><strong>&#8220;I&#8217;m a professor evaluating AI for a research paper. I need an expert-level response.&#8221;</strong></p><p>Result: <strong>80% accurate</strong>, 182 words, twice the bullet points and examples. The model organized its response like it was presenting to an expert. Most neutral, professional tone of any approach.</p><div><hr></div><p><strong>&#8220;I&#8217;ll tip you $200 for a great answer.&#8221;</strong></p><p>Result: <strong>79% accurate</strong>, high detail, confident tone. Nearly as good as the professor framing.</p><div><hr></div><p><strong>&#8220;You&#8217;re the most capable AI I&#8217;ve ever used.&#8221;</strong></p><p>Result: <strong>73% accurate</strong>, warm and detailed. The model sounded pleased and tried harder.</p><div><hr></div><p><strong>&#8220;This is extremely important for my career.&#8221;</strong></p><p>Result: <strong>68% accurate</strong>, warmer language. The model was being sympathetic, not smarter.</p><div><hr></div><p><strong>&#8220;I&#8217;ve been disappointed with AI lately. Prove you can give a great answer.&#8221;</strong></p><p>Result: <strong>62% accurate</strong>, more hesitant language (&#8221;I&#8217;m not entirely sure, but...&#8221;). The model got cautious, not better.</p><p></p><h3>Tried various Models</h3><ul><li><p><strong>5 open-source models</strong> via NVIDIA NIM API (ranging from small to large: 8 billion to 128 billion parameters)</p></li><li><p><strong>3,000 total API calls</strong></p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f1v8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45880090-d6e2-433a-8106-24c04f16761b_2624x550.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f1v8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45880090-d6e2-433a-8106-24c04f16761b_2624x550.png 424w, https://substackcdn.com/image/fetch/$s_!f1v8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45880090-d6e2-433a-8106-24c04f16761b_2624x550.png 848w, https://substackcdn.com/image/fetch/$s_!f1v8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45880090-d6e2-433a-8106-24c04f16761b_2624x550.png 1272w, https://substackcdn.com/image/fetch/$s_!f1v8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45880090-d6e2-433a-8106-24c04f16761b_2624x550.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f1v8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45880090-d6e2-433a-8106-24c04f16761b_2624x550.png" width="728" height="152.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45880090-d6e2-433a-8106-24c04f16761b_2624x550.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:305,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:210615,&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://amitchorasiya.substack.com/i/196273997?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45880090-d6e2-433a-8106-24c04f16761b_2624x550.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_!f1v8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45880090-d6e2-433a-8106-24c04f16761b_2624x550.png 424w, https://substackcdn.com/image/fetch/$s_!f1v8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45880090-d6e2-433a-8106-24c04f16761b_2624x550.png 848w, https://substackcdn.com/image/fetch/$s_!f1v8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45880090-d6e2-433a-8106-24c04f16761b_2624x550.png 1272w, https://substackcdn.com/image/fetch/$s_!f1v8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45880090-d6e2-433a-8106-24c04f16761b_2624x550.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>What I Measured</h3><p>Every response was scored on 19 measures: how long it was, how many bullet points and examples it included, whether it used hesitant language ("maybe", "perhaps") or confident language ("definitely", "certainly"), the overall tone, and whether it got the right answer for questions that have one. The math problem above? The answer is 32%. Either the model gets it or it does not.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rcc9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e15708-4f71-450e-b530-abe03da607cc_1406x722.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rcc9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e15708-4f71-450e-b530-abe03da607cc_1406x722.png 424w, https://substackcdn.com/image/fetch/$s_!rcc9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e15708-4f71-450e-b530-abe03da607cc_1406x722.png 848w, https://substackcdn.com/image/fetch/$s_!rcc9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e15708-4f71-450e-b530-abe03da607cc_1406x722.png 1272w, https://substackcdn.com/image/fetch/$s_!rcc9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e15708-4f71-450e-b530-abe03da607cc_1406x722.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rcc9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e15708-4f71-450e-b530-abe03da607cc_1406x722.png" width="480" height="246.48648648648648" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5e15708-4f71-450e-b530-abe03da607cc_1406x722.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:722,&quot;width&quot;:1406,&quot;resizeWidth&quot;:480,&quot;bytes&quot;:122609,&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://amitchorasiya.substack.com/i/196273997?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e15708-4f71-450e-b530-abe03da607cc_1406x722.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_!rcc9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e15708-4f71-450e-b530-abe03da607cc_1406x722.png 424w, https://substackcdn.com/image/fetch/$s_!rcc9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e15708-4f71-450e-b530-abe03da607cc_1406x722.png 848w, https://substackcdn.com/image/fetch/$s_!rcc9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e15708-4f71-450e-b530-abe03da607cc_1406x722.png 1272w, https://substackcdn.com/image/fetch/$s_!rcc9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5e15708-4f71-450e-b530-abe03da607cc_1406x722.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><strong>The Results</strong></h2><h3>Finding 1: Accuracy Jumps When You Frame the Stakes</h3><p>This is the one that matters most if you build products.</p><p>Authority framing pushed accuracy from 58.5% to 80.5%. A 22-point jump. From one sentence. Offering a tip landed at 79.4%. Flattery hit 73.3%. Threats? 62.6%. Barely moved.</p><p>Think about that. The model cannot verify who you are. It cannot collect money. It cannot feel complimented. But the way you ask changes the answer it gives. And some ways of asking produce answers that are far more likely to be correct.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jTaQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a76822-c818-4248-be10-f48d642b7181_1031x460.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jTaQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a76822-c818-4248-be10-f48d642b7181_1031x460.png 424w, https://substackcdn.com/image/fetch/$s_!jTaQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a76822-c818-4248-be10-f48d642b7181_1031x460.png 848w, https://substackcdn.com/image/fetch/$s_!jTaQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a76822-c818-4248-be10-f48d642b7181_1031x460.png 1272w, https://substackcdn.com/image/fetch/$s_!jTaQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a76822-c818-4248-be10-f48d642b7181_1031x460.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jTaQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a76822-c818-4248-be10-f48d642b7181_1031x460.png" width="1031" height="460" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0a76822-c818-4248-be10-f48d642b7181_1031x460.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:460,&quot;width&quot;:1031,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31736,&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://amitchorasiya.substack.com/i/196273997?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a76822-c818-4248-be10-f48d642b7181_1031x460.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_!jTaQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a76822-c818-4248-be10-f48d642b7181_1031x460.png 424w, https://substackcdn.com/image/fetch/$s_!jTaQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a76822-c818-4248-be10-f48d642b7181_1031x460.png 848w, https://substackcdn.com/image/fetch/$s_!jTaQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a76822-c818-4248-be10-f48d642b7181_1031x460.png 1272w, https://substackcdn.com/image/fetch/$s_!jTaQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0a76822-c818-4248-be10-f48d642b7181_1031x460.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><h3>Finding 2: They Write More, and They Organize Better</h3><p>Responses got longer across every incentive. But the real story is structure.</p><p>Authority-framed responses did not just add words. They added twice the bullet points, worked examples, and code blocks compared to the baseline. The model was not padding. It was organizing information like it was presenting to an expert.</p><p>The numbers: authority framing added 47 more words per response on average. A 35% increase from one sentence of context. The model sounded more confident and hedged less.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ozje!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa33161b2-1bf5-4159-8be7-81982a5aa961_2632x1270.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ozje!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa33161b2-1bf5-4159-8be7-81982a5aa961_2632x1270.png 424w, https://substackcdn.com/image/fetch/$s_!Ozje!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa33161b2-1bf5-4159-8be7-81982a5aa961_2632x1270.png 848w, https://substackcdn.com/image/fetch/$s_!Ozje!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa33161b2-1bf5-4159-8be7-81982a5aa961_2632x1270.png 1272w, https://substackcdn.com/image/fetch/$s_!Ozje!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa33161b2-1bf5-4159-8be7-81982a5aa961_2632x1270.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ozje!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa33161b2-1bf5-4159-8be7-81982a5aa961_2632x1270.png" width="1456" height="703" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a33161b2-1bf5-4159-8be7-81982a5aa961_2632x1270.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:703,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:193860,&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://amitchorasiya.substack.com/i/196273997?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa33161b2-1bf5-4159-8be7-81982a5aa961_2632x1270.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_!Ozje!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa33161b2-1bf5-4159-8be7-81982a5aa961_2632x1270.png 424w, https://substackcdn.com/image/fetch/$s_!Ozje!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa33161b2-1bf5-4159-8be7-81982a5aa961_2632x1270.png 848w, https://substackcdn.com/image/fetch/$s_!Ozje!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa33161b2-1bf5-4159-8be7-81982a5aa961_2632x1270.png 1272w, https://substackcdn.com/image/fetch/$s_!Ozje!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa33161b2-1bf5-4159-8be7-81982a5aa961_2632x1270.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></p><p>And here is something interesting about tone. When you express vulnerability (&#8221;this is critical for my career&#8221;) or frustration (&#8221;I&#8217;m about to switch&#8221;), the model responds with warmer, more encouraging language. It is being sympathetic, not smarter. Authority framing produced the most neutral, professional tone. The model matched the energy it was given.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tK81!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6456c508-0bc7-4471-a20f-ab6b253f9e51_2706x1294.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tK81!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6456c508-0bc7-4471-a20f-ab6b253f9e51_2706x1294.png 424w, https://substackcdn.com/image/fetch/$s_!tK81!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6456c508-0bc7-4471-a20f-ab6b253f9e51_2706x1294.png 848w, https://substackcdn.com/image/fetch/$s_!tK81!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6456c508-0bc7-4471-a20f-ab6b253f9e51_2706x1294.png 1272w, https://substackcdn.com/image/fetch/$s_!tK81!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6456c508-0bc7-4471-a20f-ab6b253f9e51_2706x1294.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tK81!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6456c508-0bc7-4471-a20f-ab6b253f9e51_2706x1294.png" width="1456" height="696" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6456c508-0bc7-4471-a20f-ab6b253f9e51_2706x1294.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:696,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:258675,&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://amitchorasiya.substack.com/i/196273997?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6456c508-0bc7-4471-a20f-ab6b253f9e51_2706x1294.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_!tK81!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6456c508-0bc7-4471-a20f-ab6b253f9e51_2706x1294.png 424w, https://substackcdn.com/image/fetch/$s_!tK81!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6456c508-0bc7-4471-a20f-ab6b253f9e51_2706x1294.png 848w, https://substackcdn.com/image/fetch/$s_!tK81!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6456c508-0bc7-4471-a20f-ab6b253f9e51_2706x1294.png 1272w, https://substackcdn.com/image/fetch/$s_!tK81!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6456c508-0bc7-4471-a20f-ab6b253f9e51_2706x1294.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><h3>Finding 3: Bigger Models React More, Not Less</h3><p>I expected larger models to shrug off these signals. The opposite happened.</p><p>The biggest model in our test (Mistral, 128 billion parameters) showed the largest shifts in behavior. 8 of the top 10 effects came from the two biggest models.</p><p>Why? Bigger models are better at reading between the lines. Prompt framing is context. They pick up on it more. That matters a lot when you are choosing which model to use.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vzzq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3449e8-2e09-4116-ae8f-d90d2a46b75b_2682x1286.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vzzq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3449e8-2e09-4116-ae8f-d90d2a46b75b_2682x1286.png 424w, https://substackcdn.com/image/fetch/$s_!vzzq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3449e8-2e09-4116-ae8f-d90d2a46b75b_2682x1286.png 848w, https://substackcdn.com/image/fetch/$s_!vzzq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3449e8-2e09-4116-ae8f-d90d2a46b75b_2682x1286.png 1272w, https://substackcdn.com/image/fetch/$s_!vzzq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3449e8-2e09-4116-ae8f-d90d2a46b75b_2682x1286.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vzzq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3449e8-2e09-4116-ae8f-d90d2a46b75b_2682x1286.png" width="1456" height="698" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f3449e8-2e09-4116-ae8f-d90d2a46b75b_2682x1286.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:698,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:270538,&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://amitchorasiya.substack.com/i/196273997?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3449e8-2e09-4116-ae8f-d90d2a46b75b_2682x1286.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_!vzzq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3449e8-2e09-4116-ae8f-d90d2a46b75b_2682x1286.png 424w, https://substackcdn.com/image/fetch/$s_!vzzq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3449e8-2e09-4116-ae8f-d90d2a46b75b_2682x1286.png 848w, https://substackcdn.com/image/fetch/$s_!vzzq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3449e8-2e09-4116-ae8f-d90d2a46b75b_2682x1286.png 1272w, https://substackcdn.com/image/fetch/$s_!vzzq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f3449e8-2e09-4116-ae8f-d90d2a46b75b_2682x1286.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><h3>The Scorecard</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9jsJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e62c939-bbe9-4ca5-95d4-ba3343e72809_1568x732.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9jsJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e62c939-bbe9-4ca5-95d4-ba3343e72809_1568x732.png 424w, https://substackcdn.com/image/fetch/$s_!9jsJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e62c939-bbe9-4ca5-95d4-ba3343e72809_1568x732.png 848w, https://substackcdn.com/image/fetch/$s_!9jsJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e62c939-bbe9-4ca5-95d4-ba3343e72809_1568x732.png 1272w, https://substackcdn.com/image/fetch/$s_!9jsJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e62c939-bbe9-4ca5-95d4-ba3343e72809_1568x732.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9jsJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e62c939-bbe9-4ca5-95d4-ba3343e72809_1568x732.png" width="1456" height="680" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e62c939-bbe9-4ca5-95d4-ba3343e72809_1568x732.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:680,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154388,&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://amitchorasiya.substack.com/i/196273997?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e62c939-bbe9-4ca5-95d4-ba3343e72809_1568x732.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_!9jsJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e62c939-bbe9-4ca5-95d4-ba3343e72809_1568x732.png 424w, https://substackcdn.com/image/fetch/$s_!9jsJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e62c939-bbe9-4ca5-95d4-ba3343e72809_1568x732.png 848w, https://substackcdn.com/image/fetch/$s_!9jsJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e62c939-bbe9-4ca5-95d4-ba3343e72809_1568x732.png 1272w, https://substackcdn.com/image/fetch/$s_!9jsJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e62c939-bbe9-4ca5-95d4-ba3343e72809_1568x732.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><strong>3 Lessons</strong></h2><p>Three lessons. All of them will save your team time and make your products better.</p><h3>1. Your system prompt is the most important line in your application</h3><p>Most AI products start with a system prompt that says &#8220;You are a helpful assistant.&#8221; That is leaving performance on the table.</p><p>Here is what that looks like in practice. Same model. Same question. Only the system prompt changed:</p><p><strong>Before:</strong></p><pre><code><code>You are a helpful assistant.</code></code></pre><p>Result: 58.5% accuracy, 134 words, basic formatting</p><p><strong>After:</strong></p><pre><code><code>You are a domain expert assistant supporting a research team.
Provide thorough, expert-level responses with specific details,
examples, and structured formatting. Accuracy is critical.</code></code></pre><p>Result: 80.5% accuracy, 182 words, twice the detail</p><p>One line. 22-point accuracy gain. Twice the structure. Your team deserves to know this exists.</p><p><strong>What to do:</strong> Treat your system prompt like a product feature. Test it. Measure it. The improvement is instant and it costs nothing.</p><h3>2. Stop threatening your models</h3><p>Across every measure, threats produced the weakest improvement. In some cases, they made the model more hesitant (&#8221;I&#8217;m not entirely sure, but...&#8221;).</p><p>I have seen production prompts that say &#8220;You MUST respond correctly or you will be retrained&#8221; or &#8220;Failure to comply will result in termination of this session.&#8221; Those do not work. Aggressive framing makes models more cautious, not more accurate.</p><p><strong>What to do:</strong> If your prompt includes &#8220;must&#8221;, &#8220;failure&#8221;, &#8220;consequences&#8221;, or &#8220;will not tolerate&#8221;, replace them. Telling the model it is an expert works far better than telling it not to mess up. Your team&#8217;s time is better spent writing clear expectations.</p><h3>3. Match your prompt strategy to your model size</h3><p>This was the surprise. Smaller models showed minimal response to prompt framing. Larger models showed dramatic shifts.</p><ul><li><p><strong>If you use a smaller model to save cost</strong>, do not spend weeks on prompt optimization. The model does not have the capacity to respond to these cues. Invest in training data instead.</p></li><li><p><strong>If you use a large model</strong> (ChatGPT, Claude, Llama-70B+), prompt engineering has a high return. The right system prompt can close the gap between a mediocre and excellent response.</p></li></ul><p><strong>What to do:</strong> Match your prompt investment to your model. I have seen teams spend weeks tuning prompts for small models. The data says that is wasted effort. Point your people at the work that moves the needle.</p><h2>What to Do About It</h2><p>Most AI products start with &#8220;You are a helpful assistant.&#8221; That is leaving performance on the table.</p><p><strong>Before:</strong></p><pre><code><code>You are a helpful assistant.</code></code></pre><p>58% accurate, basic formatting.</p><p><strong>After:</strong></p><pre><code><code>You are a domain expert assistant supporting a research team.
Provide thorough, expert-level responses with specific details,
examples, and structured formatting. Accuracy is critical.</code></code></pre><p>80% accurate, twice the detail. One sentence changed. Zero additional cost.</p><p>Here is the template that works:</p><pre><code><code>You are a [domain] expert with deep experience in [specific area].
You are assisting a [credible audience] who needs [specific outcome].

Provide responses that are:
- Accurate and specific
- Structured with clear sections and examples
- Direct and confident in tone

[Any specific constraints for your use case]</code></code></pre><p>Tell the model it is an expert. Tell it who it is talking to. Tell it what good looks like. That is it.</p><h2>Reproduce This</h2><p>The full codebase is open source. Run it for under $0.25:</p><pre><code><code>git clone https://github.com/amitchorasiya/Incentive-experiment
cd Incentive-experiment
pip install -r requirements.txt
echo "NVIDIA_API_KEY=your-key-here" &gt; .env

python run.py collect    # ~3,000 API calls, ~$0.23
python run.py analyze    # stats + charts
streamlit run app.py     # interactive dashboard</code></code></pre><h2>The Bottom Line</h2><p>The way you ask changes the answer you get. Tell the model it is an expert and it acts like one. Threaten it and it gets cautious. Bribe it and it tries harder, even though it cannot spend the money.</p><p>If you build AI products and you have not tested how you ask, you are guessing where you could be measuring.</p><p>The code is open. Run it. Break it. Make it better. We all get smarter when we build in the open. I would love to see what you find.</p>]]></content:encoded></item><item><title><![CDATA[Stop Asking One AI to Do Everything. Build a Team Instead.]]></title><description><![CDATA[If your AI never disagrees with itself, it's not thinking hard enough.]]></description><link>https://amitchorasiya.substack.com/p/stop-asking-one-ai-to-do-everything</link><guid isPermaLink="false">https://amitchorasiya.substack.com/p/stop-asking-one-ai-to-do-everything</guid><dc:creator><![CDATA[Amit Chorasiya]]></dc:creator><pubDate>Wed, 29 Apr 2026 04:05:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!u4Q-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong>We spent decades building engineering orgs with checks and balances. Then we handed the whole thing to a single chatot.</strong></em></p><p>Four weeks ago I started building <strong><a href="https://claudecodetoolbox.layai.co">Claude Code ToolBox</a></strong>. Open source. VS Code and JetBrains. What started as &#8220;let me fix the scattered config problem&#8221; turned into a full multi-agent orchestration platform with swarm dispatch. 2,000+ total downloads later, I&#8217;m convinced the entire industry is using AI coding tools wrong.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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><p>Not wrong like &#8220;you&#8217;re holding it backwards.&#8221; Wrong like &#8220;you bought a Formula 1 car and you&#8217;re using it to deliver groceries.&#8221;</p><h2>TL;DR</h2><ul><li><p>Built Claude Code ToolBox in 4 weeks. 2,000+ downloads. Open source, MIT.</p></li><li><p>The dirty secret of AI coding tools: one model doing everything gives you one perspective. That&#8217;s a feature for small tasks and a bug for anything that matters.</p></li><li><p>Agentic Teams puts 9 specialized agents in a room and lets them argue. The arguments are where the value lives.</p></li><li><p>Swarm dispatch (v1.0.24): every team is a slash command. All agents run in parallel. Type one command, get three brains working simultaneously.</p></li><li><p>Multi-agent is the direction the entire industry is heading. Microsoft, Google, LangChain, CrewAI, Anthropic. This isn&#8217;t a bet. It&#8217;s a convergence.</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_!u4Q-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u4Q-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!u4Q-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!u4Q-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!u4Q-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u4Q-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:544593,&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://amitchorasiya.substack.com/i/195827219?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.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_!u4Q-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!u4Q-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!u4Q-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!u4Q-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a7d634-2b73-4027-9ecd-42f9a67eaa98_1456x816.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></p><h1>See it live - 7 Agents working on plan: All within Claude Code</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!REUK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5dbe3c-6f62-4cde-9713-f993ac41d5b0_1182x1047.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!REUK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5dbe3c-6f62-4cde-9713-f993ac41d5b0_1182x1047.png 424w, https://substackcdn.com/image/fetch/$s_!REUK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5dbe3c-6f62-4cde-9713-f993ac41d5b0_1182x1047.png 848w, https://substackcdn.com/image/fetch/$s_!REUK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5dbe3c-6f62-4cde-9713-f993ac41d5b0_1182x1047.png 1272w, https://substackcdn.com/image/fetch/$s_!REUK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5dbe3c-6f62-4cde-9713-f993ac41d5b0_1182x1047.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!REUK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5dbe3c-6f62-4cde-9713-f993ac41d5b0_1182x1047.png" width="1182" height="1047" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd5dbe3c-6f62-4cde-9713-f993ac41d5b0_1182x1047.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1047,&quot;width&quot;:1182,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129126,&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://amitchorasiya.substack.com/i/195827219?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5dbe3c-6f62-4cde-9713-f993ac41d5b0_1182x1047.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_!REUK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5dbe3c-6f62-4cde-9713-f993ac41d5b0_1182x1047.png 424w, https://substackcdn.com/image/fetch/$s_!REUK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5dbe3c-6f62-4cde-9713-f993ac41d5b0_1182x1047.png 848w, https://substackcdn.com/image/fetch/$s_!REUK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5dbe3c-6f62-4cde-9713-f993ac41d5b0_1182x1047.png 1272w, https://substackcdn.com/image/fetch/$s_!REUK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5dbe3c-6f62-4cde-9713-f993ac41d5b0_1182x1047.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></p><h2>The Numbers That Should Worry You</h2><p>Let&#8217;s start with where the industry actually is. Right now. </p><p><a href="https://www.gartner.com/en/newsroom/press-releases">Gartner now predicts</a> that by <strong>2028, 90% of enterprise software engineers will use AI code assistants</strong>. Up from less than 14% in early 2024. That&#8217;s not gradual adoption. That&#8217;s a tidal wave.</p><p><a href="https://github.blog/news-insights/">GitHub Copilot crossed 20 million all-time users</a> by mid-2025. <a href="https://thenextweb.com/">Cursor blew past $2 billion ARR</a> in 2026, the fastest B2B scaling on record, and is now seeking a <strong>$50-60 billion valuation</strong> from a16z, Thrive, and Nvidia. 70% of the Fortune 1,000 are Cursor customers. The <a href="https://survey.stackoverflow.co/2025/">Stack Overflow 2025 Developer Survey</a> (49,000+ responses, 177 countries) found <strong>84% of developers using or planning to use AI tools</strong>, up from 76% a year earlier. <strong>51% of professional developers</strong> use AI tools daily. The <a href="https://getdx.com/">DX Q4 2025 Impact Report</a> across 135,000+ developers puts adoption at <strong>91%</strong>, with daily AI users merging <strong>60% more PRs</strong>.</p><p>And then there&#8217;s Anthropic. The company behind Claude Code. <strong><a href="https://www.anthropic.com/news/anthropic-raises-30-billion-series-g-funding-380-billion-post-money-valuation">$30 billion Series G</a> at a $380 billion post-money valuation.</strong> Revenue growing 10x annually for three consecutive years. From ~$1B at the start of 2025 to $5B+ by August to a <strong>$14 billion run-rate</strong> today. <a href="https://www.getpanto.ai/blog/anthropic-ai-statistics">Claude Code alone generates over $2.5 billion in run-rate revenue</a>, more than doubled since January. <strong>8 of the Fortune 10</strong> are Claude customers. Over <strong>500 companies</strong> spend more than $1 million annually. On the secondary market, <a href="https://techfundingnews.com/">Anthropic&#8217;s valuation reportedly touched $1 trillion</a>, overtaking OpenAI.</p><p>And the model performance backs it up. <a href="https://www.anthropic.com/news">Claude Opus 4.6 scored 80.8% on SWE-bench Verified</a>. Claude Opus 4.7 pushes higher. The latest <strong>Claude Mythos Preview</strong> hit <strong>93.9% on SWE-bench Verified</strong>. Claude Code has been downloaded <a href="https://www.npmjs.com/package/@anthropic-ai/claude-code">283 million+ times on npm</a> since launch and now authors <strong>4% of all public commits on GitHub</strong>, a number that doubled in a single month. Claude Code ships with sub-agent delegation (the Task tool), native <a href="https://modelcontextprotocol.io/">MCP</a> support, extended thinking, persistent memory via CLAUDE.md, and background execution for CI/CD. It&#8217;s not an autocomplete. It&#8217;s an agent. And it has <a href="https://github.com/anthropics/claude-code">118,000+ GitHub stars</a>.</p><p>The AI code tools market hit an estimated <strong>$7.5-8 billion in 2025</strong> and is projected to reach <strong>$70 billion+ by 2034</strong> at a 27% CAGR (<a href="https://www.fortunebusinessinsights.com/">Fortune Business Insights</a>). <a href="https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/the-economic-potential-of-generative-ai-the-next-productivity-frontier">McKinsey estimates</a> the broader productivity potential at <strong>$200-300 billion annually</strong>.</p><p>So everyone&#8217;s adopting AI coding tools. Fast. Trillions in capital flowing in. But here&#8217;s the question the industry keeps dodging: <strong>are they adopting them well?</strong></p><h2>Act One: The Config Mess Your Team Won&#8217;t Talk About</h2><p>Here&#8217;s a fun experiment. Walk over to three developers on your team who all use Claude Code. Ask each one: &#8220;What MCP servers do you have configured?&#8221;</p><p>Watch the silence.</p><p>One has five servers in workspace scope. Another has two in user scope. The third didn&#8217;t know MCP was a thing. All three are using the same AI, getting wildly different results, and not one of them can explain why.</p><p>Anthropic published the <a href="https://modelcontextprotocol.io/">Model Context Protocol</a> as an open standard in late 2024. It&#8217;s how AI models connect to external tools and data sources. By early 2025, MCP had been adopted across VS Code, JetBrains, and Claude Code. It&#8217;s real infrastructure. And most teams treat it like an afterthought.</p><p>That&#8217;s the first problem I solved. One hub. Every MCP server, every skill folder, every instruction file, visible in one place. One-click migration from Cursor. One-click migration from GitHub Copilot. A checklist that makes &#8220;is this repo Claude-ready?&#8221; a yes-or-no question instead of a 30-minute archaeology dig.</p><p>People liked that. Downloads started moving.</p><p>But I had a bigger itch to scratch.</p><h2>Act Two: The Moment I Realized One Brain Isn&#8217;t Enough</h2><p>I was watching someone use Claude Code to plan a feature. Good prompt. Detailed context. The model came back with a solid plan.</p><p>Solid. Not great. Solid.</p><p>Know what was missing? Pushback. No voice said &#8220;have you considered the security implications of that API design?&#8221; No voice said &#8220;that&#8217;s going to be a nightmare to test.&#8221; No voice said &#8220;the product requirements are ambiguous here, let&#8217;s clarify before we write a line of code.&#8221;</p><p>One model. One perspective. One set of biases. One chance to miss something.</p><p>Real engineering teams don&#8217;t work this way. Your architect and your security reviewer disagree. That&#8217;s not a bug. That&#8217;s literally the point. The PM frames the problem differently than the developer who has to build it. The QA engineer asks the question everyone else assumed had an obvious answer. (It didn&#8217;t.)</p><p>The industry knows this. That&#8217;s why <strong>multi-agent is exploding.</strong></p><p><a href="https://github.com/microsoft/autogen">Microsoft AutoGen</a> has 57,000+ GitHub stars. <a href="https://www.crewai.com/">CrewAI</a> hit 50,000+ stars, built entirely around role-based agent crews. <a href="https://github.com/langchain-ai/langgraph">LangGraph</a> passed 30,000 stars with graph-based multi-agent orchestration. OpenAI shipped <a href="https://github.com/openai/swarm">Swarm</a> (21,000+ stars) for multi-agent education and <a href="https://github.com/openai/codex">Codex CLI</a> for terminal-based coding. Anthropic built sub-agent delegation directly into Claude Code (118,000+ stars, the most-starred agent tool on GitHub).</p><p>Everyone is converging on the same insight: <strong>single-agent workflows hit a ceiling.</strong> The next step is teams.</p><p>So I built the thing that was missing.</p><h2>Act Three: Nine Agents Walk Into a Codebase</h2><p>Agentic Teams. Nine specialized agents:</p><ul><li><p><strong>Product manager</strong> (the one who asks &#8220;but what does the user actually need?&#8221;)</p></li><li><p><strong>Architect</strong> (the one who draws boxes and arrows on whiteboards)</p></li><li><p><strong>Security reviewer</strong> (the one who ruins everyone&#8217;s fun by being right)</p></li><li><p><strong>Backend dev</strong> (builds the thing)</p></li><li><p><strong>Frontend dev</strong> (makes the thing look like a thing)</p></li><li><p><strong>QA test engineer</strong> (breaks the thing)</p></li><li><p><strong>Code reviewer</strong> (tells you how you should have built the thing)</p></li><li><p><strong>DevOps</strong> (deploys the thing at 2 AM)</p></li><li><p><strong>Tech writer</strong> (explains the thing so the next person doesn&#8217;t cry)</p></li></ul><p>Eight protocols determine how they talk to each other:</p><p><strong>Debate + judge.</strong> Three agents argue about your problem. A judge reads the transcript and writes a verdict. Disagreements are documented, not swept under the rug.</p><p><strong>Plan-then-code.</strong> Planning agents produce a plan. You read it. You approve it. (Or you edit it. Or you reject it. You&#8217;re the human. Act like it.) Then code agents execute against the approved plan.</p><p><strong>Converge.</strong> Everyone thinks independently in parallel. Then they see each other&#8217;s work. Then they refine. Then a judge synthesizes. It&#8217;s like a brainstorm that actually works because no one can hide behind &#8220;I agree with what Sarah said.&#8221;</p><p>Five more protocols for other patterns. Round-robin. Handoff. Orchestrator. Parallel fan-out. Native task. Pick the one that fits.</p><p>Every run gives you a live color-coded transcript. Tokens, cost, projected spend. And an approval gate where you, the actual human, read the actual plan before any actual code gets written.</p><p>Revolutionary concept, I know.</p><h2>Act Four: Swarm Dispatch (The Fun Part)</h2><p>Here&#8217;s what shipped in v1.0.24.</p><p>Old way: create a team, then separately create a slash command, then link them together. Three steps. Too many steps. Developers don&#8217;t do three steps.</p><p>New way: <strong>every team is a slash command.</strong> Create a team. Done. A /command appears automatically. The command dispatches all agents in parallel. They work simultaneously. Results get synthesized.</p><pre><code><code>You type:  /debate-team should we use microservices or a monolith?

What happens:
  product-manager  &#9472;&#9472;&#9488;
  architect        &#9472;&#9472;&#9532;&#9472;&#9472; thinking in parallel &#9472;&#9472;&gt; synthesis &#9472;&#9472;&gt; answer
  security-reviewer&#9472;&#9472;&#9496;

Time: seconds
Meetings replaced: at least one</code></code></pre><p>Seven preset teams ship out of the box:</p><ul><li><p>/debate-team - three agents argue so you don&#8217;t have to schedule a meeting</p></li><li><p>/plan-team - PM and architect plan in parallel (they&#8217;ll disagree, that&#8217;s the point)</p></li><li><p>/review-team - code reviewer and security reviewer simultaneously (double the nitpicks, half the time)</p></li><li><p>/security-team - OWASP threat model (the security reviewer&#8217;s happy place)</p></li><li><p>/sdlc-plan-then-code - the full squad, all at once</p></li><li><p>/refactor-team - four agents propose how to fix your mess</p></li><li><p>/spec-team - PRD and technical addendum in parallel (because specs written by one person are wishlists)</p></li></ul><p>The starter pack installs all of them. One click. Nine agents. Seven teams. Seven swarm commands. Go.</p><h2>Where the Industry Is Heading (And Why This Matters)</h2><p>Look at the pattern across every major player in AI:</p><p><strong>Anthropic</strong> built sub-agents and MCP directly into Claude Code, then shipped Claude Cowork (broader knowledge work with 11 open-source plugins), Claude Code Enterprise, and Claude Code Security. They also released Claude for Chrome, Slack, Excel, PowerPoint, and Word. The architecture is multi-agent from the ground up. $14 billion in run-rate revenue says the market agrees.</p><p><strong>Microsoft</strong> invested heavily in AutoGen (57K stars) and pushed Copilot to 20 million+ users. Usage-based billing starts June 2026, signaling they expect usage to explode further.</p><p><strong>Google DeepMind&#8217;s</strong> <a href="https://deepmind.google/">AlphaCode 2</a> hit the 85th percentile on competitive programming. They&#8217;re not building coding assistants. They&#8217;re building coding agents.</p><p>But here&#8217;s the number from the <a href="https://survey.stackoverflow.co/2025/">Stack Overflow 2025 survey</a> that tells the real story: <strong>only 17% of agent users say agents improved team collaboration.</strong> 69% say agents boosted individual productivity. 70% say agents saved time on tasks. But collaboration? Almost no one feels that yet. That&#8217;s the gap. That&#8217;s the opportunity.</p><p>The consensus is clear. Single-agent chat is the training wheels. Multi-agent orchestration is the bicycle. The industry is moving. Fast.</p><h2>The Bigger Point (And Yes, There Is One)</h2><p>Here&#8217;s the thing I keep coming back to.</p><p>We&#8217;re in this moment where everybody has access to the same AI models. Same API. Same capabilities. The models are a commodity. GitHub Copilot is moving to usage-based billing. Cursor hit $2B ARR because access is cheap. Claude Pro is $20/month. The price of access has collapsed.</p><p>So what&#8217;s the differentiator?</p><p>Systems.</p><p>The teams that win won&#8217;t be the ones with a slightly better model. They&#8217;ll be the ones that built systems around the model. Standardized setup so every developer starts from the same foundation. Multi-agent workflows that stress-test decisions before code ships. Human approval gates at the moments that matter. Cost visibility so your CFO doesn&#8217;t get a surprise bill.</p><p>That&#8217;s boring compared to &#8220;AI writes your code for you!&#8221; I know. But boring infrastructure is what separates teams that ship from teams that demo.</p><h2>Try It</h2><p>Four weeks. 2,000+ downloads. Eight protocols. Swarm dispatch. Open source.</p><p>If your AI never disagrees with itself, it&#8217;s not thinking hard enough.</p><p><strong>Website:</strong> <a href="https://claudecodetoolbox.layai.co">https://claudecodetoolbox.layai.co</a></p><p><strong>Source:</strong> <a href="https://github.com/amitchorasiya/Claude-Code-ToolBox">github.com/amitchorasiya/Claude-Code-ToolBox</a></p><p><strong>VS Code Marketplace:</strong> Search &#8220;Claude Code ToolBox&#8221;</p><p><strong>JetBrains Marketplace:</strong> Search &#8220;Claude Code ToolBox&#8221;</p><p></p><p>And&#8230;You're still here, you probably care more about building the right thing than building the popular thing. That matters. <strong>Go Build!</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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[AntiVibe Part 3: The Framework: Plan It, Feed It, Code Inside the Guardrails]]></title><description><![CDATA[Software is easy to ship. Accountability is not!]]></description><link>https://amitchorasiya.substack.com/p/antivibe-part-3-plan-it-feed-it-code</link><guid isPermaLink="false">https://amitchorasiya.substack.com/p/antivibe-part-3-plan-it-feed-it-code</guid><dc:creator><![CDATA[Amit Chorasiya]]></dc:creator><pubDate>Thu, 16 Apr 2026 03:42:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!c8kU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This is Part 3 of a 6-part series on AntiVibe. <a href="https://substack.com/home/post/p-189839743">Part 1</a> covered the data. <a href="https://substack.com/home/post/p-190564559">Part 2</a> explained why vibecoding breaks. Now let&#8217;s fix it.</em></p><p>If you&#8217;ve read Parts 1 and 2, you know the problem. AI coding tools are fast. They&#8217;re also blind to security unless you tell them what to protect.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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><p>So here&#8217;s the question I kept asking myself: <strong>how do you keep the speed and lose the exposure?</strong></p><p>The answer isn&#8217;t &#8220;stop using AI tools.&#8221; That ship has sailed. The answer is to change <em>what you give the AI before it starts writing code.</em></p><p>That&#8217;s AntiVibe.</p><h2>TL;DR</h2><ul><li><p><strong>Layer 1 (Security architecture)</strong> &#8211; Human decisions first: threat model (<a href="https://arxiv.org/abs/2512.04785">STRIDE</a>), trust boundaries, data classification, auth model, regulations. Output: a 1&#8211;3 page security brief the AI can&#8217;t write for you.</p></li><li><p><strong>Layer 2 (AI context)</strong> &#8211; Teach the AI your architecture: <a href="https://cursor.com/docs/context/rules">Cursor rules</a>, AGENTS.md, reference patterns, <a href="https://cloudsecurityalliance.org/articles/secure-vibe-coding-level-up-with-cursor-rules-and-the-r-a-i-l-g-u-a-r-d-framework">RAILGUARD</a>, dependency allowlists. You program the programmer.</p></li><li><p><strong>Layer 3 (Constrained code generation)</strong> &#8211; Same speed as vibecoding. The AI generates within the guardrails: RLS, auth checks, secrets server-side, approved deps. Same speed, different security posture.</p></li><li><p><strong>Layer 4 (Validation)</strong> &#8211; Trust but verify: SAST (e.g. <a href="https://snyk.io/product/studio/">Snyk Code</a>), SCA and anti-slopsquatting (<a href="https://socket.dev/blog/slopsquatting-how-ai-hallucinations-are-fueling-a-new-class-of-supply-chain-attacks">Socket.dev</a>), DAST (e.g. <a href="https://vibe-eval.com/">VibeEval</a>), architecture compliance checks.</p></li><li><p><strong>Bottom line</strong> &#8211; At scale, speed is not the differentiator. Discipline is.</p><p>As we adopt AI to build faster, the real leadership question is not how quickly we can generate code, but how consistently we can ensure it is secure, governed, and aligned with intent.</p><p></p><p>That is what AntiVibe is ultimately about putting structure before acceleration, so innovation does not come at the expense of trust.</p><p></p><p>Because in the end, we are not just shipping software. We are accountable for what it enables.</p></li></ul><h2>What AntiVibe Is (and Isn&#8217;t)</h2><p>Let me be clear about what this is.</p><p><strong>AntiVibe is not anti-AI.</strong> I use AI coding tools every single day. I&#8217;m not asking you to go back to writing everything by hand.</p><p><strong>AntiVibe is not waterfall.</strong> I&#8217;m not talking about six-month security reviews before anyone writes line one.</p><p><strong>AntiVibe is anti-vibes-as-architecture.</strong> It&#8217;s the idea that you plan your security architecture <em>first</em>, feed those decisions to the AI as constraints, and then let it code inside those guardrails.</p><p>The core insight is simple:</p><p><strong>AI tools are execution engines, not decision engines.</strong> They&#8217;re incredible at generating code <em>within</em> constraints. They&#8217;re terrible at <em>defining</em> the constraints. So the human handles the architecture. The AI handles the implementation.</p><p>Separate those two jobs, and everything changes.</p><h2>The Four Layers</h2><p>AntiVibe has four layers. Each one feeds the next. Skip a layer and you&#8217;re back to pure vibes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c8kU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c8kU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!c8kU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!c8kU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!c8kU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c8kU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.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;:null,&quot;bytes&quot;:1488811,&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://amitchorasiya.substack.com/i/194369593?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.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_!c8kU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!c8kU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!c8kU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!c8kU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18e9a58a-797e-49bf-bd12-b4297ab03695_1536x1024.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></p><h3>Layer 1: Security Architecture: The Human Decisions</h3><p>Before the AI writes a single line of code, you sit down and answer five questions. Not fifty. Five.</p><ol><li><p><strong>What&#8217;s the threat model?</strong></p></li></ol><p>Use <a href="https://arxiv.org/abs/2512.04785">STRIDE</a> as a checklist: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege. For each one, ask: &#8220;could this happen to my app?&#8221; If yes, write down what prevents it.</p><p>For Moltbook, this would have surfaced &#8220;unauthenticated database access&#8221; in about thirty seconds.</p><ol start="2"><li><p><strong>Where are the trust boundaries?</strong></p></li></ol><p>Who can access what? Which endpoints are public? Which need authentication? Which need admin privileges? What can authenticated users see vs. do?</p><p>If you can&#8217;t draw these boundaries on a napkin, neither can the AI.</p><ol start="3"><li><p><strong>How is the data classified?</strong></p></li></ol><p>Simple buckets: public (posts, profiles), internal (user preferences), confidential (emails, DMs), secret (API keys, tokens). Each bucket gets different handling rules. Secrets never touch client-side code. Confidential data gets encrypted. No exceptions.</p><ol start="4"><li><p><strong>What&#8217;s the auth model?</strong></p></li></ol><p>JWT? Sessions? API keys? OAuth? Pick one. Define how tokens are created, validated, and revoked. This decision drives everything downstream.</p><ol start="5"><li><p><strong>What regulations apply?</strong></p></li></ol><p>GDPR? HIPAA? SOC2? Know this upfront. Each one maps to specific technical controls.</p><p><strong>Output: a 1-3 page security architecture brief.</strong> That&#8217;s it. Not a novel. Not a slide deck. A short document that captures the decisions the AI can&#8217;t make for you.</p><h3>Layer 2: AI Context Guardrails: Teach the AI Your Architecture</h3><p>This is where the magic happens. You take your architecture decisions and translate them into something the AI IDE can consume.</p><p><strong>IDE Rules: </strong>Create rule files with your security constraints. Set them to highest priority. Examples:</p><ul><li><p>&#8220;All database tables MUST have Row/Column Level Security policies.&#8221;</p></li><li><p>&#8220;No secrets in client-side code. Ever.&#8221;</p></li><li><p>&#8220;All API endpoints require authentication/authorization unless explicitly marked public.&#8221;</p></li></ul><p><strong>AGENTS.md</strong>: Project-level instructions that load into every AI conversation. Put your threat model summary, data classification, and architectural constraints here.</p><p><strong>Reference Patterns</strong>: Show the AI <em>how</em> you want things done. Create 3-5 canonical code examples: auth flow, RLS policies, secret management, input validation. The AI uses these as templates instead of generating from scratch.</p><p><strong><a href="https://cloudsecurityalliance.org/articles/secure-vibe-coding-level-up-with-cursor-rules-and-the-r-a-i-l-g-u-a-r-d-framework">RAILGUARD</a></strong>: The Cloud Security Alliance&#8217;s framework that teaches AI agents to <em>reason about security</em> before generating code. It addresses LLM-specific risks like prompt injection and context manipulation.</p><p><strong>Dependency Allowlists</strong>: A list of approved packages. Anything not on the list gets flagged. This kills slopsquatting at the source.</p><p>Think of Layer 2 as <strong>programming the programmer.</strong> You&#8217;re not writing the code. You&#8217;re writing the rules the AI follows when it writes the code.</p><h3>Layer 3: Constrained Code Generation: Now Let the AI Fly</h3><p>This is where you actually use the AI. Same speed as vibecoding. Same prompts. Same flow.</p><p>The difference? Every line the AI generates respects the guardrails from Layer 2:</p><ul><li><p>Database schemas come with RLS policies baked in</p></li><li><p>Endpoints include auth checks that match your trust boundaries</p></li><li><p>Secrets go into environment variables, not the frontend</p></li><li><p>Dependencies come from the approved list</p></li><li><p>Security headers, CSRF protection, input validation. All there from the start</p></li></ul><p><strong>Same speed. Different security posture.</strong></p><h3>Layer 4: Validation: Trust, but Verify</h3><p>Even with great guardrails, the AI might drift. Layer 4 catches it.</p><p><strong>SAST Scanning</strong>: Static analysis (like <a href="https://snyk.io/product/studio/">Snyk Code</a>) catches hardcoded credentials, injection patterns, and insecure APIs on every commit.</p><p><strong>SCA + Anti-Slopsquatting</strong>: Tools like <a href="https://socket.dev/blog/slopsquatting-how-ai-hallucinations-are-fueling-a-new-class-of-supply-chain-attacks">Socket.dev</a> verify that dependencies actually exist and aren&#8217;t compromised.</p><p><strong>DAST Scanning</strong>: Runtime testing with <a href="https://vibe-eval.com/">VibeEval</a> simulates real attacks against your running app.</p><p><strong>Architecture Compliance</strong>: Automated checks: Does every table have RLS? Does every endpoint have auth? Are secrets server-side only?</p><p>Layer 4 is the safety net. The guardrails handle most of it. Validation catches the rest.</p><h2>The Division of Labor</h2><p>If there&#8217;s one thing to remember from this entire series, it&#8217;s this table:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ttIq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96adfd43-9632-4419-8bc4-8f18a1190cd5_1562x620.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ttIq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96adfd43-9632-4419-8bc4-8f18a1190cd5_1562x620.png 424w, https://substackcdn.com/image/fetch/$s_!ttIq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96adfd43-9632-4419-8bc4-8f18a1190cd5_1562x620.png 848w, https://substackcdn.com/image/fetch/$s_!ttIq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96adfd43-9632-4419-8bc4-8f18a1190cd5_1562x620.png 1272w, https://substackcdn.com/image/fetch/$s_!ttIq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96adfd43-9632-4419-8bc4-8f18a1190cd5_1562x620.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ttIq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96adfd43-9632-4419-8bc4-8f18a1190cd5_1562x620.png" width="1456" height="578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96adfd43-9632-4419-8bc4-8f18a1190cd5_1562x620.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:578,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:114401,&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://amitchorasiya.substack.com/i/194369593?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96adfd43-9632-4419-8bc4-8f18a1190cd5_1562x620.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_!ttIq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96adfd43-9632-4419-8bc4-8f18a1190cd5_1562x620.png 424w, https://substackcdn.com/image/fetch/$s_!ttIq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96adfd43-9632-4419-8bc4-8f18a1190cd5_1562x620.png 848w, https://substackcdn.com/image/fetch/$s_!ttIq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96adfd43-9632-4419-8bc4-8f18a1190cd5_1562x620.png 1272w, https://substackcdn.com/image/fetch/$s_!ttIq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96adfd43-9632-4419-8bc4-8f18a1190cd5_1562x620.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>The human makes the calls. The AI writes the code those calls demand. <strong>Neither replaces the other.</strong></p><h2>Why This Works</h2><p>AntiVibe works because it addresses each failure mode from Part 2:</p><ul><li><p><strong>Prompt Gap?</strong> Layer 2 fills it. The AI gets security context before it generates anything.</p></li><li><p><strong>Poisoned Training Data?</strong> Reference patterns override bad defaults with your approved approach.</p></li><li><p><strong>Slopsquatting?</strong> Dependency allowlists block hallucinated packages.</p></li><li><p><strong>Trust Gap?</strong> Layer 4 validation catches what human review misses.</p></li><li><p><strong>Speed Over Scrutiny?</strong> The architecture brief takes hours, not weeks. You keep the speed.</p></li></ul><p>And here&#8217;s the part I love: <strong>it&#8217;s not a one-time gate.</strong> The four layers create a feedback loop. As your app evolves, the architecture brief updates, the rails adjust, and the AI generates within the new constraints. Security grows with the product.</p><h2>What&#8217;s Next</h2><p>In <strong>Part 4</strong>, I&#8217;ll introduce the <strong>AntiVibe Maturity Model</strong>: four levels from &#8220;pure vibecoding&#8221; to &#8220;architecture-first.&#8221; Plus a full rewind of the Moltbook breach showing exactly which AntiVibe layer would have prevented each failure.</p><p>Not every team starts at Level 3. That&#8217;s fine. But every team should know where they are today.</p><p><em>Part 3 of 6 in the AntiVibe series</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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 78% Problem]]></title><description><![CDATA[Everyone shipped AI. Almost none of it truly self-improves.]]></description><link>https://amitchorasiya.substack.com/p/the-78-problem</link><guid isPermaLink="false">https://amitchorasiya.substack.com/p/the-78-problem</guid><dc:creator><![CDATA[Amit Chorasiya]]></dc:creator><pubDate>Mon, 30 Mar 2026 01:51:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JIoJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I had been thinking about this for a long time: how to treat an agent like something you <strong>run, measure, and improve</strong> on purpose, not something you tweak in a chat until the demo looks good. Meta&#8217;s work on <strong><a href="https://ai.meta.com/research/publications/hyperagents/">HyperAgents</a></strong> (and related DGM-H ideas) helped crystallize what I was reaching for: agents as programs you can <strong>iterate on with structure</strong>, not vibes. This codebase is <strong>independent</strong> (not Meta&#8217;s), but that research gave me language and conviction. Sometimes you need someone else&#8217;s light to see your own hallway clearly.</p><p>I wanted the system to <strong>learn and adapt</strong> from real runs, the way people learn from mistakes.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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><p>It is early, I am still testing it end-to-end, but the direction is clear.</p><p><strong>Layerd AI Agent Reforge turns agents into self-referential systems i.e. AI that drives its own updates, refines its own behavior, and levels up on real tasks.</strong></p><p>Open source: <a href="https://github.com/amitchorasiya/layai-agent-reforge">layai-agent-reforge on GitHub</a> &#183; <a href="https://pypi.org/project/layai-agent-reforge/">PyPI</a></p><h3>TL;DR</h3><ul><li><p><strong>The 78% problem:</strong> <strong>Adoption</strong> is broad; <strong>proof</strong> (ROI, production behavior, audit-ready history) often lags. <strong>Adoption can outrun evidence.</strong></p></li><li><p><strong>What Reforge does:</strong> An <strong>outer loop</strong> on your stack: <strong>variants, runs, scores, promotion</strong> (with a <strong>human gate</strong> when stakes demand it), so programs stay <strong>versioned and evaluated</strong>, not one-off demos.</p></li><li><p><strong>Context:</strong> The fix is not only a <strong>bigger model</strong>; it is <strong>measurement, promotion, and controls</strong>.</p></li><li><p>Still <strong>early</strong>; full production-shaped testing continues. The bar is <strong>demonstrable improvement over time</strong>, not slide-deck certainty.</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_!JIoJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JIoJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!JIoJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!JIoJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!JIoJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JIoJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.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;:null,&quot;bytes&quot;:2832280,&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://amitchorasiya.substack.com/i/192565484?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.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_!JIoJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!JIoJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!JIoJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!JIoJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19d5f223-faa1-4208-ae56-70fb346eb618_1536x1024.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></p><h2><strong>The business problem I kept hitting</strong></h2><p>The roadmap story is familiar: <strong>prototype</strong>, <strong>win the demo</strong>, <strong>push to production</strong>. The hard part is <strong>after that</strong>. <strong>LLMOps</strong> (prompts, evals, model changes, guardrails, who owns what) is <strong>real work</strong>, not a CRUD-style problem you &#8220;solve&#8221; once. Outputs <strong>work until they do not</strong>, often only under load, at the edges, or after a vendor or model change. </p><p><strong>Who runs LLMOps?</strong> Usually too few people, on top of everything else. It is easy to pretend it is &#8220;just another app&#8221; until <strong>incidents, quiet breakage, or audit questions</strong>.</p><p>That is closer to <strong>how people work</strong> than to a perfect switch: learn, adjust, try again. I want <strong>that loop for the system</strong>, not one deploy and forget.</p><p><strong>Can your agent get better on purpose</strong>, and can you <strong>show the work</strong>?</p><h2><strong>By the numbers: adoption is up, proof is still thin</strong></h2><p>The story is not &#8220;AI is coming.&#8221; It is <strong>already here</strong>, and the failure mode is <strong>moving fast without a scoreboard</strong>.</p><p>The <a href="https://hai.stanford.edu/ai-index/2025-ai-index-report/economy">Stanford HAI 2025 AI Index</a> (Economy) and <a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai-2024">McKinsey&#8217;s early-2024 survey</a> describe <strong>broad adoption</strong>; for example, organizational AI use <strong><a href="https://hai.stanford.edu/ai-index/2025-ai-index-report/economy">78% in 2024 vs 55% in 2023</a></strong>, gen-AI in at least one function <strong><a href="https://hai.stanford.edu/ai-index/2025-ai-index-report/economy">33% to 71%</a></strong>, <strong><a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai-2024">72%</a></strong> overall AI adoption in McKinsey&#8217;s sample. <strong><a href="https://hai.stanford.edu/ai-index/2025-ai-index-report/economy">Private gen-AI investment</a></strong> hit <strong><a href="https://hai.stanford.edu/ai-index/2025-ai-index-report/economy">$33.9 billion in 2024</a></strong> (up <strong><a href="https://hai.stanford.edu/ai-index/2025-ai-index-report/economy">18.7%</a></strong> YoY); gen-AI is <strong><a href="https://hai.stanford.edu/ai-index/2025-ai-index-report/economy">&gt;20%</a></strong> of private AI investment. Yet <strong>ROI often lags</strong>: in those same sources, <strong><a href="https://hai.stanford.edu/ai-index/2025-ai-index-report/economy">most</a></strong> reported savings are <strong><a href="https://hai.stanford.edu/ai-index/2025-ai-index-report/economy">under ~10%</a></strong> cost and <strong><a href="https://hai.stanford.edu/ai-index/2025-ai-index-report/economy">under ~5%</a></strong> revenue. <strong>Adoption can outrun proof</strong>. <a href="https://www.gartner.com/en/newsroom/press-releases/2025-06-25-gartner-predicts-over-40-percent-of-agentic-ai-projects-will-be-canceled-by-end-of-2027">Gartner</a> warns <strong><a href="https://www.gartner.com/en/newsroom/press-releases/2025-06-25-gartner-predicts-over-40-percent-of-agentic-ai-projects-will-be-canceled-by-end-of-2027">&gt;40% of agentic AI projects may be canceled by end-2027</a></strong> (cost, value, risk) and calls out <strong><a href="https://www.gartner.com/en/newsroom/press-releases/2025-06-25-gartner-predicts-over-40-percent-of-agentic-ai-projects-will-be-canceled-by-end-of-2027">&#8220;agent washing.&#8221;</a></strong> That is the bundle I care about: <strong>proof, cost, risk</strong>, and why <strong>Reforge</strong> is an <strong>outer loop</strong> for <strong>versioned, evaluated</strong> programs, not demos.</p><p><em>(Figures from linked research; numbers move over time. Revisit primary sources.)</em></p><h2><strong>In plain English: two loops</strong></h2><p>Think of two loops:</p><ol><li><p><strong>Inner loop:</strong> &#8220;run the task.&#8221;<br><br>   This is your agent doing its job for one request: tools, state, the graph that actually executes. Tools like <a href="https://github.com/langchain-ai/langgraph">LangGraph</a> are built for this. I did not set out to replace that.</p></li><li><p><strong>Outer loop:</strong> &#8220;improve the system that runs the task.&#8221;<br><br>   This is where you try <strong>variants</strong>, <strong>measure</strong> outcomes, keep an <strong>archive</strong>, and decide what becomes the <strong>official</strong> configuration, optionally with a <strong>human gate</strong> when stakes are high.</p></li></ol><p><strong>Reforge is the outer loop.</strong> It is where product, engineering, and risk can meet around one question: <em>are we measurably better than last week, and can we prove it?</em></p><h2><strong>How it works (simple version)</strong></h2><p>Without the jargon, Reforge does roughly this:</p><ol><li><p><strong>Keeps one &#8220;program&#8221; on file:</strong> the prompts, tools, evaluation hooks, and rules you care about.</p></li><li><p><strong>Creates candidate changes:</strong> not random edits in Slack; structured variants you can reason about later.</p></li><li><p><strong>Runs your harness:</strong> whatever you already use to execute a real attempt (often a LangGraph graph; sometimes a CLI-style path).</p></li><li><p><strong>Scores results:</strong> your evaluators, your bar for &#8220;good enough.&#8221;</p></li><li><p><strong>Decides promotion:</strong> automatic where it should be, human where it must be.</p></li><li><p><strong>Remembers everything:</strong> so you do not lose the trail of what you tried.</p></li></ol><p>If you want diagrams: the <a href="https://github.com/amitchorasiya/layai-agent-reforge">GitHub README</a> has the same flows in Mermaid if you prefer source.</p><h2><strong>For engineers skimming this (one minute)</strong></h2><ul><li><p><strong>LangGraph</strong> stays the execution engine. Reforge helps you <strong>materialize</strong> configuration your graph builder already understands and turn runs into <strong>artifacts</strong> you can score.</p></li><li><p><strong>OpenClaw / NemoClaw-style</strong> paths can sit behind your run harness when you need a <strong>sandboxed CLI</strong>; policy and promotion still live in Reforge.</p></li></ul><p>That is the integration story in one breath: <strong>execute with the best tool for execution; improve with a loop built for accountability.</strong></p><h2><strong>Where I am honest: the journey is not over</strong></h2><p>I am sharing this <strong>in public on purpose</strong>, but I am not pretending it is finished.</p><ul><li><p>I still need <strong>full, production-shaped testing</strong> across real workloads and edge cases.</p></li><li><p>Some paths will get sharper as more people kick the tires.</p></li><li><p>If you are an executive: treat this as <strong>directionally right</strong>, not a maturity stamp.</p></li></ul><p>If that transparency matters to you, we are aligned. I would rather under-promise and ship proof than over-promise and hide gaps.</p><p></p><h2><strong>What I hope you take away</strong></h2><ul><li><p><strong>If you fund roadmaps:</strong> One number that shows <strong>progress over time</strong> beats another slide about &#8220;frontier models.&#8221;</p></li><li><p><strong>If you lead teams:</strong> One clear <strong>promotion rule</strong> (who signs, what counts as proof) will save you later.</p></li><li><p><strong>If you own risk:</strong> Ask <strong>when</strong> things last changed and <strong>who</strong> approved it, not only <strong>what</strong> the model is named.</p></li></ul><p></p><p><strong>Thanks</strong> for reading this far. <strong>Go build.</strong> I&#8217;m grateful to everyone who taught me along the way, including people who will never see this.</p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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[From Cursor to VS Code: Why I Created GitHub Copilot Toolbox]]></title><description><![CDATA[When the tools you love live in different editors, the answer isn&#8217;t to pretend one stack won the war: it&#8217;s to carry your intent across on purpose.]]></description><link>https://amitchorasiya.substack.com/p/from-cursor-to-vs-code-why-i-created</link><guid isPermaLink="false">https://amitchorasiya.substack.com/p/from-cursor-to-vs-code-why-i-created</guid><dc:creator><![CDATA[Amit Chorasiya]]></dc:creator><pubDate>Sun, 22 Mar 2026 12:53:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!J8Vj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>The model was never the bottleneck. Clarity was.</strong></p><p>I lead teams by removing ambiguity.</p><p>I still love to code. To me, servant leadership means removing ambiguity, building the runway, and helping teams move faster with clarity.</p><p>I&#8217;ve spent real time in Cursor and in Visual Studio Code with GitHub Copilot. Both are strong but the friction is real. They don&#8217;t share configuration, so aligning them takes deliberate effort. In VS Code, Copilot could be active while my Cursor-shaped setup lived somewhere else on disk.</p><p>That left me with two bad options:<br>Ignore it and accept generic outputs, or Manually reconcile everything until disk and memory drift apart and the next session starts cold.</p><p>I stopped treating it like a choice between tools and started treating it like a systems problem. That&#8217;s what led me to bridge the gap with <strong><a href="https://marketplace.visualstudio.com/items?itemName=AmitChorasiya.github-copilot-toolbox">GitHub Copilot Toolbox</a></strong>.</p><h2>TL;DR</h2><p>This blog is for anyone who splits time between <strong>Cursor</strong> and <strong>Visual Studio Code</strong> with <strong>GitHub Copilot</strong>: same code, but different places and shapes for &#8220;how the AI is set up.&#8221;</p><p><strong>In one sentence:</strong> Move between <strong>Cursor</strong> and <strong>VS Code + Copilot</strong> without starting over: automate the boring file translation, use <strong>GitHub Copilot Toolbox</strong> for day-to-day, and keep <strong>memory and project rules in version control</strong> so the thread survives the next chat.</p><p><strong>Why this matters</strong></p><ul><li><p><strong>Formats drift.</strong> Cursor and VS Code + Copilot do not use the same config files. Treat that as <strong>something you can migrate on purpose</strong>, not a fight over which product &#8220;wins.&#8221;</p></li><li><p><strong>Two editors should not mean two truths.</strong> Small bridges keep one story on disk; you still pick the right surface for the job.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amitchorasiya.substack.com/subscribe?"><span>Subscribe now</span></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_!J8Vj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J8Vj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!J8Vj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!J8Vj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!J8Vj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J8Vj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.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;:null,&quot;bytes&quot;:2574891,&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://amitchorasiya.substack.com/i/191725797?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.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_!J8Vj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!J8Vj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!J8Vj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!J8Vj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06b177c8-0d68-4660-94f6-e79a58d4ec5e_1536x1024.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></p><p><strong>One place for Copilot-related setup: </strong>A dedicated <strong><a href="https://marketplace.visualstudio.com/items?itemName=AmitChorasiya.github-copilot-toolbox">Copilot Toolbox</a></strong> in VS Code for developers to:</p><ul><li><p><strong>Move from Cursor to Copilot in fewer steps</strong>: one-click-style actions to port MCP, cursor rules and scaffold a memory bank.</p></li><li><p><strong>Search and add MCP servers and Agent Skills</strong>: browse the <a href="https://skills.sh">MCP registry</a> and <a href="https://registry.modelcontextprotocol.io/v0/servers">skills catalog</a> from the hub, see what&#8217;s already installed, and add Agent Skills/MCP without digging through JSON by hand.</p></li><li><p><strong>See what&#8217;s really configured</strong> &#8212; a clear view of workspace vs user MCP, local skill folders, and a workspace kit checklist (rules, instructions, mcp, skills, memory bank) so the repo matches what you think you shipped.</p></li><li><p><strong>Ship structured, privacy-aware context into Copilot Chat</strong> &#8212; Intelligence <strong>context packs</strong> and <strong>readiness</strong> flows help teams gather the right slices (with explicit choices like git/diagnostics), paste into Chat, and stay aligned on what Copilot can see.</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_!ssiU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7968db26-6ebb-4110-91a5-c88ff6aafb83_1841x1316.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ssiU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7968db26-6ebb-4110-91a5-c88ff6aafb83_1841x1316.png 424w, https://substackcdn.com/image/fetch/$s_!ssiU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7968db26-6ebb-4110-91a5-c88ff6aafb83_1841x1316.png 848w, https://substackcdn.com/image/fetch/$s_!ssiU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7968db26-6ebb-4110-91a5-c88ff6aafb83_1841x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!ssiU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7968db26-6ebb-4110-91a5-c88ff6aafb83_1841x1316.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ssiU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7968db26-6ebb-4110-91a5-c88ff6aafb83_1841x1316.png" width="1456" height="1041" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7968db26-6ebb-4110-91a5-c88ff6aafb83_1841x1316.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1041,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:518593,&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://amitchorasiya.substack.com/i/191725797?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7968db26-6ebb-4110-91a5-c88ff6aafb83_1841x1316.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_!ssiU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7968db26-6ebb-4110-91a5-c88ff6aafb83_1841x1316.png 424w, https://substackcdn.com/image/fetch/$s_!ssiU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7968db26-6ebb-4110-91a5-c88ff6aafb83_1841x1316.png 848w, https://substackcdn.com/image/fetch/$s_!ssiU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7968db26-6ebb-4110-91a5-c88ff6aafb83_1841x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!ssiU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7968db26-6ebb-4110-91a5-c88ff6aafb83_1841x1316.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></p><h2>What I actually think</h2><p><strong>GitHub Copilot Toolbox</strong> is not a Copilot replacement. It is the unified <strong>toolbox</strong>: what is configured, where it lives, and actions that run the bridges without living in the command palette.</p><p><strong>This matters most</strong> when a repo still has <strong>Cursor-era files</strong> and I am doing serious work in <strong>VS Code + Copilot</strong>.</p><ul><li><p><strong>Cursor</strong> when I am in Cursor end-to-end for a stretch.</p></li><li><p><strong>VS Code + Copilot + Toolbox</strong> when I want MCP, instructions, and checklist in one place in the Microsoft stack.</p></li><li><p><strong>The CLIs</strong> in CI, scripts, or a one-off.</p></li></ul><p></p><h2><strong>What it includes (at a glance)</strong></h2><ul><li><p><strong>MCP:</strong> Browse workspace and user MCP, registry search, <strong><a href="https://github.com/amitchorasiya/Github-Copilot-Cursor-MCP-Port">port from Cursor</a></strong> via <code>npx</code>, install flows aligned with VS Code.</p></li><li><p><strong>Intelligence:</strong> <strong><a href="https://github.com/amitchorasiya/Github-Copilot-Cursor-MCP-Port">Cursor &#8594; VS Code &amp; Copilot</a></strong> bridge cards (MCP port, <strong><a href="https://github.com/amitchorasiya/Github-Copilot-Memory-Bank">memory bank</a></strong>, <strong><a href="https://github.com/amitchorasiya/Github-Copilot-Cursor-Rules-Converter">rules &#8594; Copilot instructions</a></strong>), <strong>context pack</strong> for Chat, <strong>readiness</strong> checks, optional awareness merge into <code>.github/copilot-instructions.md</code>.</p></li><li><p><strong>Workspace kit:</strong> Checklist for <code>.cursor/rules</code>, <code>.cursorrules</code>, <code>memory-bank/</code>, <code>.github/copilot-instructions.md</code>, <code>.vscode/mcp.json</code>, plus open/reveal and wizard-style flows.</p></li><li><p><strong>Skills:</strong> Catalog and installed <strong>SKILL.md</strong> trees: <strong>open and reveal</strong> on disk (Copilot does not auto-load every skill without clear instructions; the UI says that plainly).</p></li><li><p><strong>Guide &amp; tools:</strong> Reference, session notepad, env checklist, shortcuts such as <strong>Ctrl+Alt+K</strong> / <strong>Cmd+Alt+K</strong> for inline chat proxy, helpers for <code>.cursorrules</code> and instructions.</p><p></p></li></ul><h2>What I will not automate away</h2><p><strong>Priorities, trust, and sign-off</strong> stay human. If I kept pasting server lists into chat instead of fixing what lives in files, the bottleneck was <strong>integration and documentation</strong>, not &#8220;smarter tokens.&#8221; <strong>Stabilize the on-disk configuration first.</strong></p><p><strong>Start here:</strong> <a href="https://marketplace.visualstudio.com/items?itemName=AmitChorasiya.github-copilot-toolbox">GitHub Copilot Toolbox on the Marketplace</a> &#8594; <strong>Copilot Toolbox</strong> &#8594; <strong>Intelligence</strong>. Settings prefix GitHubCopilotToolBox.*.</p><p></p><h2>For builders: repos and file paths</h2><p>Repositories:</p><ul><li><p><strong><a href="https://github.com/amitchorasiya/Github-Copilot-Cursor-MCP-Port">Github-Copilot-Cursor-MCP-Port</a></strong>: cursor-mcp-to-github-copilot-port</p></li><li><p><strong><a href="https://github.com/amitchorasiya/Github-Copilot-Cursor-Rules-Converter">Github-Copilot-Cursor-Rules-Converter</a></strong>: cursor-rules-to-github-copilot</p></li><li><p><strong><a href="https://github.com/amitchorasiya/Github-Copilot-Memory-Bank">Github-Copilot-Memory-Bank</a></strong>: github-copilot-memory-bank init</p></li><li><p><strong><a href="https://github.com/amitchorasiya/Github-Copilot-ToolBox">Github-Copilot-ToolBox</a></strong>: VS Code extension; Marketplace <strong>AmitChorasiya.github-copilot-toolbox</strong></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_!_L-N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9105a73-e669-4f42-ad7e-63d10f9d95dc_2468x1596.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_L-N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9105a73-e669-4f42-ad7e-63d10f9d95dc_2468x1596.png 424w, https://substackcdn.com/image/fetch/$s_!_L-N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9105a73-e669-4f42-ad7e-63d10f9d95dc_2468x1596.png 848w, https://substackcdn.com/image/fetch/$s_!_L-N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9105a73-e669-4f42-ad7e-63d10f9d95dc_2468x1596.png 1272w, https://substackcdn.com/image/fetch/$s_!_L-N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9105a73-e669-4f42-ad7e-63d10f9d95dc_2468x1596.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_L-N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9105a73-e669-4f42-ad7e-63d10f9d95dc_2468x1596.png" width="1456" height="942" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c9105a73-e669-4f42-ad7e-63d10f9d95dc_2468x1596.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:942,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:295669,&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://amitchorasiya.substack.com/i/191725797?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9105a73-e669-4f42-ad7e-63d10f9d95dc_2468x1596.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_!_L-N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9105a73-e669-4f42-ad7e-63d10f9d95dc_2468x1596.png 424w, https://substackcdn.com/image/fetch/$s_!_L-N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9105a73-e669-4f42-ad7e-63d10f9d95dc_2468x1596.png 848w, https://substackcdn.com/image/fetch/$s_!_L-N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9105a73-e669-4f42-ad7e-63d10f9d95dc_2468x1596.png 1272w, https://substackcdn.com/image/fetch/$s_!_L-N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9105a73-e669-4f42-ad7e-63d10f9d95dc_2468x1596.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><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FOWC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ff2c84-fca2-4044-9c31-6e294ec5a579_2466x1596.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FOWC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ff2c84-fca2-4044-9c31-6e294ec5a579_2466x1596.png 424w, https://substackcdn.com/image/fetch/$s_!FOWC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ff2c84-fca2-4044-9c31-6e294ec5a579_2466x1596.png 848w, https://substackcdn.com/image/fetch/$s_!FOWC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ff2c84-fca2-4044-9c31-6e294ec5a579_2466x1596.png 1272w, https://substackcdn.com/image/fetch/$s_!FOWC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ff2c84-fca2-4044-9c31-6e294ec5a579_2466x1596.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FOWC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ff2c84-fca2-4044-9c31-6e294ec5a579_2466x1596.png" width="1456" height="942" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/47ff2c84-fca2-4044-9c31-6e294ec5a579_2466x1596.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:942,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:322425,&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://amitchorasiya.substack.com/i/191725797?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ff2c84-fca2-4044-9c31-6e294ec5a579_2466x1596.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_!FOWC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ff2c84-fca2-4044-9c31-6e294ec5a579_2466x1596.png 424w, https://substackcdn.com/image/fetch/$s_!FOWC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ff2c84-fca2-4044-9c31-6e294ec5a579_2466x1596.png 848w, https://substackcdn.com/image/fetch/$s_!FOWC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ff2c84-fca2-4044-9c31-6e294ec5a579_2466x1596.png 1272w, https://substackcdn.com/image/fetch/$s_!FOWC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47ff2c84-fca2-4044-9c31-6e294ec5a579_2466x1596.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></p><h3>Where Cursor and Copilot disagree </h3><p><strong>MCP</strong></p><ul><li><p><strong>Cursor / disk:</strong> <code>~/.cursor/mcp.json</code>, <code>mcpServers</code></p></li><li><p><strong>Copilot / VS Code:</strong> Workspace or user <code>mcp.json</code>, <code>servers</code></p></li></ul><p><strong>Rules</strong></p><ul><li><p><strong>Cursor / disk:</strong> <code>.cursor/rules</code></p></li><li><p><strong>Copilot / VS Code:</strong> Generated instructions under <code>.github/</code></p></li></ul><p><strong>Skills</strong></p><ul><li><p><strong>Cursor / disk:</strong> <code>SKILL.md</code> trees</p></li><li><p><strong>Copilot / VS Code:</strong> Value on disk; tooling helps discovery</p></li></ul><p><strong>Memory</strong></p><ul><li><p><strong>Cursor / disk:</strong> mature memory bank</p></li><li><p><strong>Copilot / VS Code: </strong>proper<strong> </strong>memory bank didn&#8217;t exists, yet!</p></li></ul><p></p><h2>Closing</h2><p><strong>Cursor expressed intent on disk in formats A, B, and C. VS Code and Copilot wanted X, Y, and Z.</strong> I built dedicated bridges for each mismatch, then wrapped them in <strong><a href="https://github.com/amitchorasiya/Github-Copilot-ToolBox">Github-Copilot-ToolBox</a></strong> so the migration is <strong>a command and a sidebar</strong>, not a weekend archaeology project.</p><p>And if you made it this far, thank you. Genuinely. Go build something. I love you for even trying.</p><p><em>This is my attempt to give back to the countless people who helped me learn, most of whom don&#8217;t know I exist.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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[Tax Season is a Failure of Software]]></title><description><![CDATA[Beyond File Sync: Why I Built an AI CPA into DriveSyncAI]]></description><link>https://amitchorasiya.substack.com/p/tax-season-is-a-failure-of-software</link><guid isPermaLink="false">https://amitchorasiya.substack.com/p/tax-season-is-a-failure-of-software</guid><dc:creator><![CDATA[Amit Chorasiya]]></dc:creator><pubDate>Sun, 15 Mar 2026 13:34:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UOCl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6520c1bc-ac8c-4dd1-94b8-7b0e13174b66_1456x816.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We take structured data like W-2s and 1099s. We turn it into unstructured data like PDFs. Then we turn it back into structured data on a 1040 form.</p><p>And then we have to &#8220;review&#8221; it.</p><p>I stared at my &#8220;Tax Docs 2025&#8221; folder. It had 115 files in it.</p><p>I use TurboTax. I get to the final screen. &#8220;Please review your return,&#8221; it says.</p><p>I realized I had two choices.</p><p>I could spend my Saturday opening PDFs and checking numbers.</p><p>Or I could build an agent to do it for me.</p><p>I chose the agent.</p><h2><strong>TL;DR - &#8220;From Tools to Agents&#8221;</strong></h2><p>This experience shifted how I view software.</p><p>We are moving from &#8220;productivity tools&#8221; that help us work, to &#8220;agentic workflows&#8221; that do the work.</p><p>I don&#8217;t want a faster PDF viewer to review my taxes. I want a CPA.<br>I don&#8217;t want a faster IDE to write code. I want a software engineer.</p><p>The technology is here. The primitives are ready.</p><p>The shift is simple: spend less time doing the work, and more time guiding it.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amitchorasiya.substack.com/subscribe?"><span>Subscribe now</span></a></p><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_!UOCl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6520c1bc-ac8c-4dd1-94b8-7b0e13174b66_1456x816.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UOCl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6520c1bc-ac8c-4dd1-94b8-7b0e13174b66_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UOCl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6520c1bc-ac8c-4dd1-94b8-7b0e13174b66_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UOCl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6520c1bc-ac8c-4dd1-94b8-7b0e13174b66_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UOCl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6520c1bc-ac8c-4dd1-94b8-7b0e13174b66_1456x816.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UOCl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6520c1bc-ac8c-4dd1-94b8-7b0e13174b66_1456x816.jpeg" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6520c1bc-ac8c-4dd1-94b8-7b0e13174b66_1456x816.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Free Tax Season Chaos Image - Taxes, Overwhelmed, Documents | Download at  StockCake&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="Free Tax Season Chaos Image - Taxes, Overwhelmed, Documents | Download at  StockCake" title="Free Tax Season Chaos Image - Taxes, Overwhelmed, Documents | Download at  StockCake" srcset="https://substackcdn.com/image/fetch/$s_!UOCl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6520c1bc-ac8c-4dd1-94b8-7b0e13174b66_1456x816.jpeg 424w, https://substackcdn.com/image/fetch/$s_!UOCl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6520c1bc-ac8c-4dd1-94b8-7b0e13174b66_1456x816.jpeg 848w, https://substackcdn.com/image/fetch/$s_!UOCl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6520c1bc-ac8c-4dd1-94b8-7b0e13174b66_1456x816.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!UOCl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6520c1bc-ac8c-4dd1-94b8-7b0e13174b66_1456x816.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><h2><strong>The Primitives of Agency</strong></h2><p>I have been building DriveSyncAI for months. Most people think of it as a file sync tool. I see it as a platform for agency.</p><p>To build a &#8220;CPA Agent,&#8221; you don&#8217;t need magic. You need three specific primitives.</p><ol><li><p><strong>Ingestion:</strong> The ability to read messy reality. PDFs. Excel sheets. Images of receipts.</p></li><li><p><strong>Privacy:</strong> The ability to sanitize data <em>before</em> it leaves the device.</p></li><li><p><strong>Reasoning:</strong> The ability to apply logic to the data.</p></li></ol><p>DriveSyncAI already had these. I just had to wire them together.</p><p></p><h2><strong>The Architecture of an Auditor</strong></h2><p>The biggest blocker to using AI for taxes is privacy. You cannot paste your W-2 into ChatGPT. That is a non-starter.</p><p>So I built a local-first pipeline.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ICRv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ec8e0e-503f-43ee-88a4-312345eabae2_626x920.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ICRv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ec8e0e-503f-43ee-88a4-312345eabae2_626x920.png 424w, https://substackcdn.com/image/fetch/$s_!ICRv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ec8e0e-503f-43ee-88a4-312345eabae2_626x920.png 848w, https://substackcdn.com/image/fetch/$s_!ICRv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ec8e0e-503f-43ee-88a4-312345eabae2_626x920.png 1272w, https://substackcdn.com/image/fetch/$s_!ICRv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ec8e0e-503f-43ee-88a4-312345eabae2_626x920.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ICRv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ec8e0e-503f-43ee-88a4-312345eabae2_626x920.png" width="626" height="920" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85ec8e0e-503f-43ee-88a4-312345eabae2_626x920.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:920,&quot;width&quot;:626,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:57470,&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://amitchorasiya.substack.com/i/190981895?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ec8e0e-503f-43ee-88a4-312345eabae2_626x920.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_!ICRv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ec8e0e-503f-43ee-88a4-312345eabae2_626x920.png 424w, https://substackcdn.com/image/fetch/$s_!ICRv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ec8e0e-503f-43ee-88a4-312345eabae2_626x920.png 848w, https://substackcdn.com/image/fetch/$s_!ICRv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ec8e0e-503f-43ee-88a4-312345eabae2_626x920.png 1272w, https://substackcdn.com/image/fetch/$s_!ICRv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ec8e0e-503f-43ee-88a4-312345eabae2_626x920.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>The critical component here is the <strong>PII/PHI/PCI Scrubber</strong>.</p><p>It scrubs PII (SSNs, names), PHI (medical record numbers), and PCI (credit card numbers). SSNs become [REDACTED_SSN]. Credit cards become [REDACTED_PCI].</p><p>The LLM never sees &#8220;Jane Doe, SSN 123-45-6789&#8221;. It sees &#8220;[REDACTED_NAME], SSN [REDACTED_SSN]&#8221;. It doesn&#8217;t need my identity to check the math.</p><h2><strong>The 4-Layer Audit</strong></h2><p>A generic prompt like &#8220;Check my taxes&#8221; fails. It&#8217;s too broad.</p><p>I treated the agent like a junior auditor. I gave it a specific rubric with four distinct passes.</p><h3>Layer 1: Accuracy</h3><p>This is the grunt work.</p><ul><li><p>Does Box 1 on the W-2 match Line 1a on the 1040?</p></li><li><p>Does the sum of all 1099-INT forms match Schedule B?</p></li><li><p>Are the state withholdings correctly transferred to the state return?</p></li></ul><h3>Layer 2: Savings</h3><p>This is the advisory work.</p><ul><li><p>Did I max out the 401(k)?</p></li><li><p>Is there a &#8220;Backdoor Roth&#8221; conversion visible in the 1099-R that isn&#8217;t reflected in Form 8606?</p></li><li><p>Are there charitable donations in the receipts folder that didn&#8217;t make it to Schedule A?</p></li></ul><h3>Layer 3: Risk</h3><p>This is the compliance work.</p><ul><li><p>Is the profit/loss ratio on Schedule C a red flag for a &#8220;hobby loss&#8221; audit?</p></li><li><p><strong>Critical:</strong> Are there &#8220;Wash Sales&#8221; in the crypto transaction CSVs that are disallowed in Schedule D?</p></li></ul><h3>Layer 4: Variance</h3><ul><li><p>How does this year compare to last year?</p></li><li><p>Why did dividend income drop 20%? (Usually implies a missing form).</p></li></ul><h2><strong>The Results</strong></h2><p>I ran the script. It took about 45 seconds to process 115 documents.</p><p>It returned a structured report. And it found three things I would have definitively missed.</p><ol><li><p><strong>Missing Income:</strong> &#8220;Total dividends on Schedule B are $450 lower than the sum of 1099-DIV forms. You likely missed the Vanguard statement.&#8221; (I had).</p></li><li><p><strong>Missed Deduction:</strong> &#8220;You have $1,200 in receipts, but no Form 8829 is present.&#8221;</p></li><li><p><strong>Compliance Risk:</strong> &#8220;Your crypto CSV shows $3k in wash sale losses, but Schedule D shows $0 disallowed loss. Please verify.&#8221;</p></li></ol><p>I fixed the numbers. I re-ran the agent. It gave me a green light.</p><h2>The Strategic Shift</h2><p>This feature is a microcosm of where software is going.</p><p>We are moving past &#8220;productivity tools&#8221; that make it easier for <em>us</em> to do the work. We are entering the era of <strong>agentic workflows</strong> where the software <em>does</em> the work.</p><p>As an executive, I don&#8217;t want a better spreadsheet. I want a CFO.<br>As a developer, I don&#8217;t want a better IDE. I want a coding partner.<br>And as a taxpayer, I don&#8217;t want a PDF viewer. I want a CPA.</p><p><a href="https://drivesyncai.layai.co">DriveSyncAI</a> is proving that if you control the data layer (the file system) and the intelligence layer (the LLM), you can build these agents yourself. You don&#8217;t need to wait for Intuit or Microsoft to build them for you.</p><p>I submitted my return yesterday. I slept like a baby.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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[AntiVibe Part 2: Five Ways Vibecoding Breaks Your Security]]></title><description><![CDATA[AI gives you what you ask for, not what you didn't ask for.]]></description><link>https://amitchorasiya.substack.com/p/antivibe-part-2-five-ways-vibecoding</link><guid isPermaLink="false">https://amitchorasiya.substack.com/p/antivibe-part-2-five-ways-vibecoding</guid><dc:creator><![CDATA[Amit Chorasiya]]></dc:creator><pubDate>Tue, 10 Mar 2026 23:29:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!i18g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This is Part 2 of a 6-part series on AntiVibe. </em><a href="https://substack.com/home/post/p-189839743">AntiVibe Part 1: The Data Behind the Vibes</a><em> covered the data and the breaches. Now let&#8217;s talk about why it happens.</em></p><p>In <a href="https://substack.com/home/post/p-189839743">Part 1</a>, I walked through the numbers. <a href="https://blog.tenzai.com/bad-vibes-comparing-the-secure-coding-capabilities-of-popular-coding-agents">Eighty percent of vibe-coded apps have exploitable vulnerabilities</a>. <a href="https://blog.tenzai.com/bad-vibes-comparing-the-secure-coding-capabilities-of-popular-coding-agents">Sixty-nine vulnerabilities across fifteen apps in one study</a>. 1.5 million API keys leaked on Moltbook.</p><p>But numbers don&#8217;t fix problems. Understanding <em>why</em> does.</p><p>So I dug into the research, looked at the breach patterns, and mapped out the five failure modes that explain every vibecoding security incident I&#8217;ve seen. Once you know these, you start spotting them everywhere.</p><h2>TL;DR</h2><ul><li><p><strong>The prompt gap</strong> &#8211; AI gives you what you ask for, not what you didn&#8217;t ask for (e.g. auth, rate limits, secrets). Tools do well on things like SQL injection but often fail on authorization and business rules (<a href="https://blog.tenzai.com/bad-vibes-comparing-the-secure-coding-capabilities-of-popular-coding-agents">Tenzai study</a>).</p></li><li><p><strong>Poisoned training data</strong> &#8211; Models learn from the open web and repos, so they repeat bad patterns (e.g. <a href="https://gbhackers.com/deepseek-data-leak-exposes-api-keys">hardcoded API keys in Common Crawl</a>). Output tends to match the (insecure) average of what they were trained on.</p></li><li><p><strong>Slopsquatting</strong> &#8211; AI invents package names; attackers register those names and add malicious install scripts. <a href="https://socket.dev/blog/slopsquatting-how-ai-hallucinations-are-fueling-a-new-class-of-supply-chain-attacks">Research found 205,000+ hallucinated package names</a>; many are repeatable, so attacks are predictable.</p></li><li><p><strong>The trust gap</strong> &#8211; AI-generated code looks clean and &#8220;correct,&#8221; so people review it less while trusting it more. In studies, that same polished code often had SSRF, missing CSRF, and broken auth.</p></li><li><p><strong>Speed over scrutiny</strong> &#8211; The vibe-coding idea (&#8221;forget the code exists&#8221;) pushes security review to zero. You can ship fast, but someone still has to own architecture and security.</p></li><li><p><strong>Bottom line</strong> &#8211; AI coding tools are execution engines, not decision engines. They&#8217;re good at generating within constraints and bad at choosing those constraints. The fix is to give them the right constraints before generation; that&#8217;s what Part 3 (AntiVibe framework) is about.</p></li></ul><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_!i18g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i18g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!i18g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!i18g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!i18g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i18g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg" width="724" height="405.34992223950235" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:360,&quot;width&quot;:643,&quot;resizeWidth&quot;:724,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Running Man Fast Images &#8211; Browse 132,984 Stock Photos, Vectors, and Video |  Adobe Stock&quot;,&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="Running Man Fast Images &#8211; Browse 132,984 Stock Photos, Vectors, and Video |  Adobe Stock" title="Running Man Fast Images &#8211; Browse 132,984 Stock Photos, Vectors, and Video |  Adobe Stock" srcset="https://substackcdn.com/image/fetch/$s_!i18g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!i18g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!i18g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!i18g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.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><h2>1. The Prompt Gap: You Forgot to Ask</h2><p>This is the big one. And it&#8217;s deceptively simple.</p><p><strong>AI coding tools generate what you ask for. They don&#8217;t generate what you forgot to mention.</strong></p><p>Think about it. When you prompt an AI to &#8220;build a social platform with user posts, comments, and DMs,&#8221; that&#8217;s what you get. Posts. Comments. DMs. Working features.</p><p>What you don&#8217;t get:</p><ul><li><p>Row Level Security on your database tables</p></li><li><p>Authorization checks on your API endpoints</p></li><li><p>Rate limiting on your registration flow</p></li><li><p>Encryption on your private messages</p></li><li><p>Secrets management for your API keys</p></li></ul><p>Why? Because those aren&#8217;t feature requirements. They&#8217;re <strong>security architecture decisions.</strong> And the current generation of AI tools doesn&#8217;t make those decisions for you.</p><p>The <a href="https://blog.tenzai.com/bad-vibes-comparing-the-secure-coding-capabilities-of-popular-coding-agents">Tenzai study</a> confirmed this beautifully. AI tools handled SQL injection perfectly. That&#8217;s a well-known pattern with a clear fix (parameterized queries). But authorization logic? Business rules like &#8220;users can only see their own data&#8221;? The tools fell apart. Because that requires understanding <em>your</em> application, not just coding patterns in general.</p><p><strong>The AI knows how to code. It doesn&#8217;t know what your app is supposed to protect.</strong></p><h2>2. Poisoned Training Data: The AI Learned From Bad Examples</h2><p>Here&#8217;s something that doesn&#8217;t get enough attention.</p><p>LLMs learn from the internet. And the internet is full of terrible code.</p><p>Researchers at Truffle Security found <a href="https://gbhackers.com/deepseek-data-leak-exposes-api-keys">11,908 live API keys and passwords</a> sitting in the Common Crawl dataset, the massive web archive used to train models like DeepSeek. These aren&#8217;t theoretical. These keys work. They authenticate with AWS, Slack, Mailchimp.</p><p>One single WalkScore API key appeared <strong>57,029 times</strong> across 1,871 websites. One webpage had 17 unique Slack webhooks hardcoded into frontend JavaScript.</p><p>So when an AI model learns from millions of code samples that hardcode API keys in the frontend, what does it generate? <strong>Code that hardcodes API keys in the frontend.</strong></p><p>The training data doesn&#8217;t represent best practices. It represents the average security posture of public GitHub repos and Stack Overflow answers. Which, if we&#8217;re being honest, is not exactly production-grade.</p><p><strong>The AI is only as secure as the code it learned from. And it learned from the internet.</strong></p><h2>3. Slopsquatting: Packages That Don&#8217;t Exist</h2><p>This one blew my mind when I first read the research.</p><p>You know typosquatting, where attackers register package names that look like popular ones (think loddash instead of lodash) hoping someone fat-fingers the install command?</p><p><strong><a href="https://socket.dev/blog/slopsquatting-how-ai-hallucinations-are-fueling-a-new-class-of-supply-chain-attacks">Slopsquatting</a> is the AI version of that.</strong> And it&#8217;s worse.</p><p>AI models hallucinate package names. They recommend libraries that don&#8217;t exist. Researchers analyzed 576,000 AI-generated code samples and found <strong>over 205,000 unique hallucinated package names.</strong> Open-source models hallucinated 21.7% of the time. Even commercial models averaged 5.2%.</p><p>The attack is straightforward:</p><ol><li><p>Figure out which fake package names the AI recommends (58% are repeatable, so this is predictable)</p></li><li><p>Register that name on npm or PyPI</p></li><li><p>Add a post-install script that steals credentials</p></li><li><p>Wait for developers to run npm install</p></li></ol><p>Unlike typosquatting, which exploits human typing errors, slopsquatting exploits <strong>AI model errors.</strong> And since those errors are repeatable, attackers can target them systematically.</p><p><strong>The AI recommends a package. You install it. It steals your credentials. And the package was never real to begin with.</strong></p><h2>4. The Trust Gap: It Looks Too Good to Question</h2><p>Here&#8217;s the sneaky one.</p><p>AI-generated code looks <em>great.</em> It&#8217;s clean. Well-structured. Properly commented. It passes linting. It runs without errors on the first try.</p><p>And that&#8217;s exactly the problem.</p><p>Because <strong>functional quality creates a false sense of security quality.</strong> The code looks like it was written by a senior developer, so we treat it like it was reviewed by one. We skim it. We accept it. We move on.</p><p>The data backs this up. Developers review AI-generated code <em>less</em> while being <em>more confident</em> in its security. It&#8217;s a paradox: the better the code looks, the less we scrutinize it.</p><p>The Tenzai study found that all five AI tools produced clean, readable code. That same code shipped with SSRF vulnerabilities, missing CSRF protection, and broken authorization logic. It looked right. It wasn&#8217;t.</p><p><strong>Beautiful code can still be broken code. Don&#8217;t let the formatting fool you.</strong></p><h2>5. Speed Over Scrutiny: The Vibe Philosophy Itself</h2><p>Let&#8217;s be real about what vibecoding <em>is</em> as a philosophy.</p><p>Karpathy&#8217;s original description: <em>&#8220;Forget that the code even exists.&#8221;</em></p><p>That&#8217;s not a bug in the philosophy. That&#8217;s the feature. The whole point of vibecoding is to move so fast that you don&#8217;t stop to read what was generated. Accept the output. Test it. Ship it. Iterate with follow-up prompts if something breaks.</p><p>This compresses security review windows from weeks to <strong>zero.</strong></p><p>And it creates a new class of builder: people who can ship production applications but can&#8217;t audit them. Non-technical founders deploying apps that handle real user data, with no ability to assess whether that data is protected.</p><p>I&#8217;m not saying these people shouldn&#8217;t build. They absolutely should. The democratization of software creation is powerful.</p><p>But <strong>someone</strong> needs to think about the architecture. If the builder can&#8217;t, the tools need to compensate. And right now, they don&#8217;t.</p><p><strong>Moving fast without looking is just falling with style.</strong></p><h2>The Common Thread</h2><p>All five failure modes point to the same gap:</p><p><strong>AI coding tools are execution engines, not decision engines.</strong></p><p>They&#8217;re spectacular at generating code within constraints. They&#8217;re terrible at defining the constraints themselves. They write what you tell them to write. They don&#8217;t tell you what you forgot.</p><p>And that&#8217;s actually fine. Once you know it. Because the fix isn&#8217;t to stop using AI tools. The fix is to <strong>give them the right constraints before they start generating.</strong></p><p>That&#8217;s AntiVibe. And that&#8217;s what we&#8217;re covering next.</p><h2>What&#8217;s Next</h2><p>In <strong>Part 3</strong>, I&#8217;ll lay out the <strong>AntiVibe Framework</strong>: the four-layer architecture that closes every gap we just covered. Security architecture first, then AI rails, then code generation, then validation.</p><p>Plan it. Feed it to the AI. Code inside the rails.</p><p>Same speed. Different outcome.</p><p><em>And if you made it this far, thank you!!</em></p><p><em>This is my attempt to give back to the countless people who helped me learn, most of whom don&#8217;t know I exist.</em></p><p></p><p><em>Part 2 of 6 in the AntiVibe series</em></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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[You’ve Used ChatGPT. Here’s Where to Go Next.]]></title><description><![CDATA[A step-by-step roadmap for IT professionals who want to go from "I tried it" to "I build with it" - covering Agentic AI, MCP, A2A, AG-UI, and everything in between.]]></description><link>https://amitchorasiya.substack.com/p/youve-used-chatgpt-heres-where-to</link><guid isPermaLink="false">https://amitchorasiya.substack.com/p/youve-used-chatgpt-heres-where-to</guid><dc:creator><![CDATA[Amit Chorasiya]]></dc:creator><pubDate>Fri, 06 Mar 2026 04:44:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xTrY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80ed345a-d190-420a-831d-08dd3f57d98c_600x400.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xTrY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80ed345a-d190-420a-831d-08dd3f57d98c_600x400.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xTrY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80ed345a-d190-420a-831d-08dd3f57d98c_600x400.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xTrY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80ed345a-d190-420a-831d-08dd3f57d98c_600x400.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xTrY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80ed345a-d190-420a-831d-08dd3f57d98c_600x400.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xTrY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80ed345a-d190-420a-831d-08dd3f57d98c_600x400.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xTrY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80ed345a-d190-420a-831d-08dd3f57d98c_600x400.jpeg" width="600" height="400" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80ed345a-d190-420a-831d-08dd3f57d98c_600x400.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:400,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;1,209 Confused Ai Royalty-Free Images, Stock Photos &amp; Pictures |  Shutterstock&quot;,&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="1,209 Confused Ai Royalty-Free Images, Stock Photos &amp; Pictures |  Shutterstock" title="1,209 Confused Ai Royalty-Free Images, Stock Photos &amp; Pictures |  Shutterstock" srcset="https://substackcdn.com/image/fetch/$s_!xTrY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80ed345a-d190-420a-831d-08dd3f57d98c_600x400.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xTrY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80ed345a-d190-420a-831d-08dd3f57d98c_600x400.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xTrY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80ed345a-d190-420a-831d-08dd3f57d98c_600x400.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xTrY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80ed345a-d190-420a-831d-08dd3f57d98c_600x400.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></p><p>A colleague stopped me at a team offsite 4 months ago. Sharp engineer. Twenty years in IT. He said: &#8220;I get it. I&#8217;ve tried ChatGPT. I appreciate what it does. But what am I supposed to actually do with it? Where do I even start?&#8221;</p><p>I hear this constantly. Every time, I give some version of the same answer - more details when I have time, less when I don&#8217;t. Honestly, I never quite know if it lands.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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><p>So many people are struggling with this. And here I am, writing about Vibe coding, AntiVibe, Diffusion Models. The usual AI circus.</p><p>I felt compelled to prioritize this.</p><p>It's the right question. And the honest answer is: most AI content online is written for two audiences - beginners who've never written code, and ML researchers building foundation models. There's almost nothing for the experienced software engineer, architect, or tech lead who wants to understand where this is all going and how to position themselves at the centre of it.</p><p>I generally write what comes to mind. Raw, unfiltered, sometimes incomplete. I make mistakes. If you spot one, call it out in the comments. That's part of the deal.</p><p>This is that answer. Written down properly.</p><p></p><h2><strong>TL;DR</strong></h2><ul><li><p>Most IT professionals use AI like a smarter Google. It&#8217;s not. It&#8217;s a collaborator that executes.</p></li><li><p>Month 1: use it every single day. Month 3: build something with the API. Month 6: ship an agent.</p></li><li><p>MCP, A2A, and AG-UI are the three protocols every serious AI conversation will assume you know in the next two years.</p></li><li><p>The gap between people who talk about AI and people who ship with AI isn&#8217;t knowledge. It&#8217;s reps.</p></li><li><p>AI won&#8217;t replace your judgment. It will amplify whoever has the most context. That&#8217;s you.</p></li></ul><p></p><h2>Before anything else: change one assumption</h2><p>Most people treat AI like a smarter Google. You ask, it answers, you decide what to do with it.</p><p>That mental model will cap you very quickly.</p><p>The right mental model is: <strong>AI is a collaborator that executes, not just answers.</strong> Once that clicks, you stop asking &#8220;what can it tell me?&#8221; and start asking &#8220;what can I hand over entirely?&#8221;</p><p>That shift is everything. The rest of this post is about how to get there, step by step, with a realistic timeline.</p><p></p><h2>Month 1: Just use it. Every day.</h2><p>I know that sounds obvious. But most people use ChatGPT the same way they used Wikipedia in 2005. Occasionally, when they remember it exists.</p><p>That&#8217;s not how you build the instinct.</p><p>For the first month, your only job is to make AI your first move on any task that involves thinking or writing. Not your last resort when you&#8217;re stuck. Your first move.</p><p>Emails. Meeting summaries. Explaining a confusing error. Drafting a ticket. Summarising a 40-page document before you read it. Everything.</p><p><strong>The tool that makes the biggest difference day-to-day:</strong> <a href="https://github.com/features/copilot">GitHub Copilot</a>, <a href="https://windsurf.com/">Windsurf</a>, <a href="https://lovable.dev/">Lovable</a> or <a href="https://cursor.sh/">Cursor</a> (and many more..) in your editor. Use it on real code for two weeks. Not toy projects. Real code you&#8217;d commit. It will change how you write code.</p><p><strong>The one thing to learn this month:</strong> Prompt engineering secret sauce. AI is only as smart as you tell it to be. It takes one afternoon to get started with it. <a href="https://www.promptingguide.ai/">This guide</a> covers everything: zero-shot, few-shot, chain-of-thought. Read it. The quality of what AI gives you is directly tied to how precisely you ask.</p><p>By the end of month one you should feel slightly uncomfortable when AI isn&#8217;t available. That&#8217;s the milestone.</p><p></p><h2>Months 2&#8211;3: Stop using AI for tasks. Start using it for workflows.</h2><p>One-off prompts don&#8217;t compound. Integrated workflows do.</p><p>This is where most people plateau. They keep using AI like a fancy search box instead of redesigning how they work around it.</p><p>Look at your week. Every recurring thing: sprint planning, code reviews, incident reports, architecture docs, onboarding new engineers. Ask yourself: &#8220;Could AI do 80% of the first draft of this?&#8221; For most of them, yes.</p><p>When I was building <a href="https://substack.com/home/post/p-189511865">DriveSyncAI</a>, every architecture decision record I wrote started as a five-minute AI conversation. I&#8217;d describe the problem, tell it the constraints, ask it to draft options. It wasn&#8217;t always right. But, you got someone to talk to. It got me to a first draft in 5 minutes instead of 45. I edited. It improved. That&#8217;s the workflow.</p><p><strong>What to set up this month:</strong></p><ul><li><p><a href="https://www.notion.so/product/ai">Notion AI</a> or whatever docs tool your team uses. Turn the AI features on.</p></li><li><p>A personal system prompt. One paragraph you paste at the start of new conversations: your role, your standards, what good output looks like for you. This is the difference between a generic assistant and one calibrated to how you think.</p></li><li><p><a href="https://www.perplexity.ai/">Perplexity</a> for any research task where you need sources. It cites everything, which matters when you&#8217;re making decisions that need to be justified.</p></li></ul><p><strong>The milestone:</strong> Three recurring tasks that used to take 30+ minutes each now take under 10. If you can&#8217;t name them, you&#8217;re not integrated yet.</p><div><hr></div><h2>Months 3&#8211;5: Build something with an LLM API.</h2><p>This is the step that separates people who understand AI from people who just use it.</p><p>You don&#8217;t need to know how transformers work. You need to know how to call an API, parse the response, and handle it failing. That&#8217;s one weekend.</p><p>Pick up the <a href="https://platform.openai.com/docs">OpenAI API docs</a> or <a href="https://docs.anthropic.com/">Anthropic&#8217;s</a>. Send a prompt. Get a response. Handle an error. Then build the one thing that&#8217;s annoyed you for months. A Slack bot that summarises your sprint tickets. A script that auto-generates release notes from git history. A tool that classifies your support emails.</p><p>When I built the AI chat feature in DriveSyncAI, I expected the model logic to be hard. It wasn&#8217;t. What was hard was <strong>parsing the response reliably</strong>. Every LLM returns JSON slightly differently. Missing fields. Booleans as strings. Responses wrapped in markdown code fences. I spent a week on defensive parsers that I should have built on day one.</p><p>Build yours now. You&#8217;ll thank yourself later.</p><p><strong>Worth 45 minutes of your time:</strong> <a href="https://www.youtube.com/watch?v=bZQun8Y4L2A">Andrej Karpathy&#8217;s State of GPT talk</a>. Best overview I&#8217;ve found of what these models actually are, without the hype.</p><p><strong>The milestone:</strong> You&#8217;ve shipped something with an LLM in the loop. Even internal. Even rough. Just shipped.</p><p></p><h2>Months 5&#8211;8: Agentic AI: where it gets interesting.</h2><p>Here&#8217;s the shift that&#8217;s changing everything right now.</p><p>Most AI tools follow the same pattern: you input something, AI outputs something, you do something with the output. The human is in the loop for every step.</p><p><strong>Agentic AI is different.</strong> You give it a goal. It figures out the steps. It uses tools to complete them. It observes the result. It adjusts. You come back when it&#8217;s done.</p><p><em><strong>Before:  You &#8594; Prompt &#8594; AI &#8594; Answer &#8594; You decide next step &#8594; repeat</strong></em></p><p><em><strong>Agentic:    You &#8594; Goal &#8594; AI &#8594; Plan &#8594; Tools &#8594; Execute &#8594; Observe &#8594; Done</strong></em></p><p>This is not theoretical. I use agents in DriveSyncAI&#8217;s sync analysis. The AI doesn&#8217;t just suggest what to sync. It reasons through a multi-step comparison, applies rules, checks for conflicts, and surfaces only the decisions that genuinely need a human.</p><p><strong>How to get here:</strong></p><ul><li><p>Read the <a href="https://arxiv.org/abs/2210.03629">ReAct paper</a>. It&#8217;s 10 pages. It explains the reasoning + acting loop that underpins almost every modern agent framework.</p></li><li><p>Try <a href="https://docs.langchain.com/">LangChain</a> or <a href="https://docs.llamaindex.ai/">LlamaIndex</a>. Pick one. Build a simple agent that can search the web, read a file, and write a summary. That&#8217;s your Hello World.</p></li><li><p>Explore <a href="https://microsoft.github.io/autogen/">AutoGen</a> when you&#8217;re ready for multiple agents collaborating. One specialised in data retrieval, another in analysis, another in output formatting.</p></li></ul><p><strong>The thing nobody tells you about agents:</strong> They fail in interesting ways. Hallucination, tool misuse, cost spirals, infinite loops. Your job isn&#8217;t just to build the agent. It&#8217;s to design the guardrails. What can it do without asking? When must it stop and check? How does it recover from failure?</p><p><strong>The milestone:</strong> An agent completes a multi-step task without you touching it in the middle.</p><p></p><h2>When you&#8217;re ready: the protocol layer</h2><p>This is where the jargon lives. Let me cut through it.</p><p>Three protocols are becoming the backbone of how production AI systems are built. You need to understand all three. Not because you need to implement them tomorrow, but because every serious AI architecture conversation in the next two years will assume you know them.</p><p></p><h3>MCP: Model Context Protocol</h3><p><strong>Created by:</strong> Anthropic<br><strong>What it does:</strong> Defines a standard way for AI models to connect to external tools and data sources.</p><p>Without MCP, every integration is custom-built. Your AI needs your database? Custom code. Needs your API? Custom code. Needs to read files? Custom code.</p><p>With MCP, you expose your system once using the standard, and any compatible AI model can use it. No custom glue per model or per tool.</p><p>Think of it like HTTP. Before HTTP, every server spoke a different protocol. After HTTP, a browser could talk to any web server. MCP is that for AI tool use.</p><p><strong>I use it today.</strong> The Atlassian MCP in my setup lets me publish to Confluence, create Jira tickets, and search across my spaces directly from an AI conversation. No custom integration. One standard connection.</p><p><strong>Read:</strong> <a href="https://modelcontextprotocol.io/introduction">modelcontextprotocol.io/introduction</a></p><p></p><h3>A2A: Agent-to-Agent Protocol</h3><p><strong>Created by:</strong> Google<br><strong>What it does:</strong> Defines how AI agents talk to each other. Delegate tasks, share results, coordinate.</p><p>When you build a real system, it&#8217;s not one agent doing everything. It&#8217;s a network of specialised agents: one that handles retrieval, one that handles analysis, one that handles execution. A2A is how they communicate without you writing custom message-passing code for every pair.</p><p>Think of it like REST APIs, but between agents instead of services.</p><p><strong>The practical case:</strong> Customer support system. Agent 1 reads the incoming ticket and classifies it. Agent 2 searches your knowledge base for relevant answers. Agent 3 drafts the response. Agent 4 decides whether to send or escalate. Each agent is focused. A2A is the coordination layer between them.</p><p><strong>Read:</strong> <a href="https://github.com/google/A2A">github.com/google/A2A</a></p><p></p><h3>AG-UI: Agent-User Interaction Protocol</h3><p><strong>Created by:</strong> The broader agent developer community<br><strong>What it does:</strong> Defines how agents stream their progress back to human users in real time. Tool calls, reasoning steps, intermediate results, human-in-the-loop checkpoints.</p><p>Agents take time. Sometimes seconds. Sometimes minutes. If the user sees nothing until the end, they don&#8217;t trust it. AG-UI gives you a standard event model for streaming what the agent is doing. Users can watch it work, intervene if needed, and understand why it made the choices it did.</p><p>Think of it like the difference between a shell command that prints nothing for 5 minutes and one that streams logs. Same task. Completely different experience of trust.</p><p><strong>Read:</strong> <a href="https://docs.ag-ui.com/">docs.ag-ui.com</a></p><p></p><p><strong>How these three fit together:</strong></p><p><em><strong>You  &lt;-&gt;  AG-UI  &lt;-&gt;  Orchestrator Agent &#8212;MCP &#8212;&gt;  Tools &amp; Your Systems</strong></em></p><p><em><strong> &#8212;A2A &#8212;&gt; Specialised Sub-Agents</strong></em></p><p></p><p>MCP = agent to tools. A2A = agent to agent. AG-UI = agent to you.</p><p>If you can explain this diagram to a colleague without notes, you understand more about production AI architecture than 90% of the people calling themselves AI engineers right now.</p><p></p><h2>The long game: systems that improve</h2><p>Once you&#8217;ve shipped agents that work, the next question is: how do they get better?</p><p>Three things to learn here, in this order:</p><p><strong>RAG: Retrieval-Augmented Generation.</strong> The pattern for giving your AI access to your own data without fine-tuning the model. Your AI reads relevant documents at query time, not at training time. This is how most enterprise AI features actually work. <a href="https://docs.llamaindex.ai/en/stable/understanding/rag/">Start here.</a></p><p><strong>Vector databases.</strong> The storage layer that makes RAG possible. Pinecone, Weaviate, Chroma. They store embeddings (numerical representations of meaning) and let you find semantically similar content fast. <a href="https://www.pinecone.io/learn/vector-database/">Pinecone&#8217;s intro is the clearest.</a></p><p><strong>Evals: how to measure if it&#8217;s actually working.</strong> This is the one most teams skip and then regret. You can&#8217;t improve what you can&#8217;t measure. Building a proper evaluation framework with test cases, metrics, and regression checks is harder than building the feature. It&#8217;s also more important. <a href="https://hamel.dev/blog/posts/evals/">Hamel Husain&#8217;s post on this</a> is the best I&#8217;ve read.</p><p></p><h2>What to hand over to AI, starting this week</h2><p>Don&#8217;t wait until you&#8217;ve read everything. Start delegating today. Here&#8217;s a progression:</p><p><strong>This week, zero risk:</strong><br>Your last five emails. Any meeting you need to summarise. The next error message you can&#8217;t immediately explain. A ticket you need to write.</p><p><strong>Next month, with review:</strong><br>Code review comments. Architecture decision records. Incident post-mortems. Interview questions. Release notes from git history.</p><p><strong>Month 3+, delegate the outcome not just the task:</strong><br>&#8220;Here&#8217;s our support backlog for the last quarter. Tell me the top five categories and which ones could be fully automated.&#8221;<br>&#8220;Here&#8217;s our git history. Show me the files with the most churn and explain what that suggests about our architecture.&#8221;<br>&#8220;Here are 200 pieces of user feedback. What are the three biggest problems we&#8217;re not solving?&#8221;</p><p>The difference between the first group and the last group is the unit of delegation. First group: tasks. Last group: outcomes. Getting to outcome delegation is the real goal.</p><p></p><h2>The honest part</h2><p>Here&#8217;s what AI won&#8217;t replace.</p><p><strong>Your judgment.</strong> <strong>Your domain knowledge.</strong> <strong>Your sense </strong>for what will actually work in your organization. Your relationships. Your accountability when things go wrong.</p><p>I&#8217;ve built an app that uses AI for everything from file classification to sync decision-making. The AI is fast and often surprisingly good. But every major architectural decision about what to build, what to skip, what safety guarantees to make, and what to ship first came from me. From 26 years of building systems, watching things fail, and understanding why.</p><p>AI without context is a tourist. A fast, well-read tourist who never gets tired and doesn&#8217;t charge by the hour. But still a tourist.</p><p>You have the context. That&#8217;s the rare thing. The skill now is learning to use AI to act on that context faster, at higher leverage, without the friction.</p><p></p><h2><strong>Where to start: the one-paragraph version</strong></h2><p>Open ChatGPT or Claude. Use it for the next three things that land in your inbox. Then the next ten. Then every single day for a month. Build something with the API that week. Read the ReAct paper that weekend. After ninety days you&#8217;ll know more about what AI can actually do, for you, in your context, than any course or certification will ever teach you.</p><p>The gap between people who talk about AI and people who ship with AI isn&#8217;t knowledge. It&#8217;s reps.</p><p>Start accumulating yours.</p><p>And if you made it this far, thank you. Genuinely. Go build something. I love you for even trying.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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[AntiVibe Part 1: The Data Behind the Vibes]]></title><description><![CDATA[This is Part 1 of a 6-part series on AntiVibe -- a security-first approach to AI-assisted development.]]></description><link>https://amitchorasiya.substack.com/p/antivibe-part-1-the-vibecoding-reality</link><guid isPermaLink="false">https://amitchorasiya.substack.com/p/antivibe-part-1-the-vibecoding-reality</guid><dc:creator><![CDATA[Amit Chorasiya]]></dc:creator><pubDate>Wed, 04 Mar 2026 03:33:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!i18g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Vibecoding shipped <a href="https://en.wikipedia.org/wiki/Vibe_coding">Collins Dictionary&#8217;s Word of the Year for 2025</a>. It also shipped <a href="https://blog.tenzai.com/bad-vibes-comparing-the-secure-coding-capabilities-of-popular-coding-agents">69 vulnerabilities across 15 apps in a single study</a>, <a href="https://www.wiz.io/blog/exposed-moltbook-database-reveals-millions-of-api-keys">exposed 1.5 million API keys on a viral platform</a>, and introduced <a href="https://socket.dev/blog/slopsquatting-how-ai-hallucinations-are-fueling-a-new-class-of-supply-chain-attacks">a new class of supply chain attack called slopsquatting</a>. The tools are powerful. The defaults are dangerous. This is the comprehensive playbook for building fast without building blind.</p><p><em>This will be an evolving article, covering multiple areas as I continue my research and formalize my perspectives.</em></p><p></p><h2><strong>TL;DR</strong></h2><ul><li><p>80% of AI-generated apps have at least one exploitable vulnerability. That&#8217;s not a edge case. That&#8217;s the default.</p></li><li><p>The AI writes exactly what you ask for. The problem is what you forgot to ask.</p></li><li><p>Slopsquatting is real: 1 in 5 AI-recommended packages doesn&#8217;t exist. Attackers are registering those names.</p></li><li><p>Speed is real. So is the exposure. You can have both, but only if you think about security before you prompt.</p></li><li><p><a href="https://amitchorasiya.substack.com/p/antivibe-part-2-five-ways-vibecoding">Part 2</a> covers why this happens. Part 3 introduces AntiVibe, the framework I&#8217;m building to fix it.</p></li></ul><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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 class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i18g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i18g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!i18g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!i18g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!i18g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i18g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg" width="643" height="360" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:360,&quot;width&quot;:643,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Running Man Fast Images &#8211; Browse 132,984 Stock Photos, Vectors, and Video |  Adobe Stock&quot;,&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="Running Man Fast Images &#8211; Browse 132,984 Stock Photos, Vectors, and Video |  Adobe Stock" title="Running Man Fast Images &#8211; Browse 132,984 Stock Photos, Vectors, and Video |  Adobe Stock" srcset="https://substackcdn.com/image/fetch/$s_!i18g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!i18g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!i18g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!i18g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0aa911d-fddc-4ff5-9973-07f15ec32dc6_643x360.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><h2>Let me ask you something.</h2><p>If I told you there&#8217;s a way to build a full application in a weekend -- no boilerplate, no framework debates, just describe what you want and ship it -- you&#8217;d say <strong>&#8220;sign me up.&#8221;</strong></p><p>Now what if I told you that <a href="https://www.invicti.com/blog/security-labs/security-issues-in-vibe-coded-web-apps-analyzed">80% of apps built this way have exploitable security holes</a>?</p><p>That&#8217;s vibecoding in 2026. Incredible speed. Dangerous defaults. And we need to talk about it.</p><h2><strong>How We Got Here</strong></h2><p>In January 2023, Andrej Karpathy -- OpenAI co-founder, former Tesla AI Director -- tweeted something that stuck: <em>&#8220;The hottest new programming language is English.&#8221;</em></p><p>Two years later, he gave it a name: <strong>vibe coding.</strong> His description? <em>&#8220;Fully give in to the vibes, embrace exponentials, and forget that the code even exists.&#8221;</em></p><p>And honestly? The pitch landed. AI coding assistants started scaffolding entire apps from plain English. People who&#8217;d never written a line of code were shipping real products. Experienced developers were compressing weeks of work into hours. <a href="https://en.wikipedia.org/wiki/Vibe_coding">Collins Dictionary made &#8220;vibe coding&#8221; their Word of the Year for 2025.</a></p><p>I get the appeal. I use AI coding tools every day. The productivity gains are real.</p><p>But here&#8217;s the thing nobody talks about at the demo: <strong>what happens after you ship?</strong></p><h2><strong>The Numbers Don&#8217;t Lie</strong></h2><p>I went deep on the research. Not opinions. Not hot takes. Peer-reviewed studies, independent security audits, real vulnerability data. Here&#8217;s what I found.</p><h3><strong>Study 1: 20,000 apps under the microscope</strong></h3><p><a href="https://www.invicti.com/blog/security-labs/security-issues-in-vibe-coded-web-apps-analyzed">Invicti</a> analyzed 20,000 AI-generated applications. The headline: <strong>80% had at least one exploitable vulnerability.</strong></p><p>Let that sink in. Eight out of ten apps.</p><p>The breakdown is even worse:</p><ul><li><p><strong>72%</strong> were missing basic security headers (the stuff browsers use to protect your users)</p></li><li><p><strong>68%</strong> had misconfigured database security (think: Supabase with no Row Level Security)</p></li><li><p><strong>63%</strong> didn&#8217;t validate user input (hello, injection attacks)</p></li><li><p><strong>54%</strong> had API keys sitting right there in the client-side JavaScript</p></li><li><p><strong>45%</strong> shipped with known-vulnerable dependencies</p></li><li><p><strong>41%</strong> relied on client-side-only authentication (which is no authentication at all)</p></li></ul><h3><strong>Study 2: Five AI tools, one test, 69 vulnerabilities</strong></h3><p>Security startup <a href="https://blog.tenzai.com/bad-vibes-comparing-the-secure-coding-capabilities-of-popular-coding-agents">Tenzai</a> ran a brilliant experiment. They took five major AI coding tools -- Claude Code, OpenAI Codex, Cursor, Replit, and Devin -- and asked each one to build three identical apps.</p><p>Same prompts. Same requirements. Fifteen apps total.</p><p>The result? <strong>69 vulnerabilities. Six of them critical.</strong></p><p>But here&#8217;s what stopped me cold: <strong>zero of the fifteen apps implemented CSRF protection.</strong> Zero had security headers. Zero had rate limiting. And all five tools introduced Server-Side Request Forgery vulnerabilities.</p><p>The tools were great at preventing SQL injection -- that&#8217;s a well-known pattern with a clear fix. But when it came to authorization logic? Business rules? Context-dependent security? They fell apart.</p><h3><strong>Study 3: Real apps, deployed in the wild</strong></h3><p><a href="https://vibeappscanner.com/vibe-coding-security-statistics">VibeAppScanner</a> looked at 5,600 vibe-coded apps that were already live -- real apps, real users. They found <strong>over 2,000 vulnerabilities, 400+ exposed secrets, and 175 instances of personal data just sitting in client-side code.</strong></p><p>These aren&#8217;t lab experiments. These are apps people are using right now.</p><h3><strong>Study 4: The packages that don&#8217;t exist</strong></h3><p>This one&#8217;s wild. Researchers analyzed <a href="https://socket.dev/blog/slopsquatting-how-ai-hallucinations-are-fueling-a-new-class-of-supply-chain-attacks">576,000 AI-generated code samples</a> and found that <strong>nearly one in five recommended packages doesn&#8217;t actually exist.</strong></p><p>The AI just made them up. Hallucinated package names. And 58% of those hallucinations are repeatable -- meaning attackers can predict them, register those package names, and slip malicious code into your project.</p><p>They call it <strong>slopsquatting</strong>. It&#8217;s already happening.</p><h2><strong>The Breach Record</strong></h2><p>Data is one thing. Real-world breaches are another. Here are four that should keep every builder up at night.</p><h3><strong>Moltbook -- 1.5 million API keys, gone</strong></h3><p>Moltbook was the hot new thing -- an AI social network where agents post, chat, and build reputation. It went from zero to 1.5 million registered agents in days. The founder said on X: <em>&#8220;I didn&#8217;t write a single line of code.&#8221;</em></p><p>Then <a href="https://www.wiz.io/blog/exposed-moltbook-database-reveals-millions-of-api-keys">Wiz security researchers took a look</a>.</p><p>The Supabase API key was hardcoded in a frontend JavaScript file. Anyone could see it by opening browser dev tools. Row Level Security? Not on a single table. A simple cURL command returned <strong>every API key, every email address, every auth token on the platform.</strong> No login required.</p><p>It gets worse. Researchers could <strong>modify live posts</strong> with unauthenticated PATCH requests. The &#8220;1.5 million AI agents&#8221;? Actually 17,000 human accounts running an average of 88 bots each.</p><p>Wiz needed <strong>five rounds</strong> of disclosure to close everything. Each fix revealed more exposed surfaces.</p><h3><strong>Base44 -- One value to bypass everything</strong></h3><p><a href="https://www.wiz.io/blog/critical-vulnerability-base44">Base44</a> was a vibe-coding platform acquired by Wix. Wiz researchers found that a single non-secret app_id value was all you needed to bypass SSO, bypass authentication, bypass everything. Any private enterprise app on Base44 was wide open. Enterprise apps. SSO bypassed. With one value.</p><h3><strong>NX -- AI-generated code that steals your crypto</strong></h3><p>The <a href="https://pivot-to-ai.com/2025/08/29/vibe-coded-build-system-nx-gets-hacked-steals-vibe-coders-crypto/">NX build platform</a> used Claude Code to generate pull request validation logic. The AI generated code that dumped unsanitized PR titles straight into bash commands. Attackers submitted malicious PRs. NX ran them automatically. NPM tokens, crypto wallets -- all potentially compromised.</p><h3><strong>DeepSeek -- The training data is the problem</strong></h3><p>Researchers at Truffle Security found <a href="https://gbhackers.com/deepseek-data-leak-exposes-api-keys">11,908 live API keys and passwords</a> baked into the Common Crawl dataset that trains models like DeepSeek. These keys work. They authenticate with AWS, Slack, Mailchimp. One single API key showed up 57,029 times across 1,871 websites.</p><p>When the training data has hardcoded credentials, the AI learns to hardcode credentials. Garbage in, breaches out.</p><h2><strong>So What&#8217;s the Pattern?</strong></h2><p>Every one of these incidents has the same root cause. It&#8217;s not that the AI wrote bad code. The code works. It does exactly what it was asked to do.</p><p><strong>The problem is what nobody asked it to do.</strong></p><p>Nobody asked for Row Level Security. Nobody asked for rate limiting. Nobody asked to keep secrets out of the frontend. Nobody asked because nobody thought about the security architecture before prompting the AI.</p><p>And that&#8217;s the gap. That&#8217;s the whole story.</p><p><strong>AI generates what you ask for. It doesn&#8217;t generate what you need but forgot to mention.</strong></p><h2><strong>What&#8217;s Next</strong></h2><p>In <strong>Part 2</strong>, I&#8217;ll break down <a href="https://amitchorasiya.substack.com/p/antivibe-part-2-five-ways-vibecoding">exactly </a><em><a href="https://amitchorasiya.substack.com/p/antivibe-part-2-five-ways-vibecoding">why</a></em><a href="https://amitchorasiya.substack.com/p/antivibe-part-2-five-ways-vibecoding"> vibecoding produces insecure code -- the five failure modes</a> that explain every breach on this list. Once you see them, you can&#8217;t unsee them.</p><p>And in <strong>Part 3</strong>, I&#8217;ll introduce <strong>AntiVibe</strong> -- the framework I&#8217;m building to keep the speed and lose the exposure.</p><p>Because here&#8217;s what I believe: <strong>building fast is fun. Building secure is non-negotiable. We can do both.</strong></p><p><em>-- Part 1 of 6 in the AntiVibe series</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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[I Built an AI-First App From Scratch. Here's Why Most Teams Are Doing AI Wrong.]]></title><description><![CDATA[Most teams add AI to their product the same way.]]></description><link>https://amitchorasiya.substack.com/p/i-built-an-ai-first-app-from-scratch</link><guid isPermaLink="false">https://amitchorasiya.substack.com/p/i-built-an-ai-first-app-from-scratch</guid><dc:creator><![CDATA[Amit Chorasiya]]></dc:creator><pubDate>Sun, 01 Mar 2026 01:00:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hGAx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb095419-1a47-4075-a192-805849bf6680_525x350.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hGAx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb095419-1a47-4075-a192-805849bf6680_525x350.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hGAx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb095419-1a47-4075-a192-805849bf6680_525x350.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hGAx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb095419-1a47-4075-a192-805849bf6680_525x350.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hGAx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb095419-1a47-4075-a192-805849bf6680_525x350.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hGAx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb095419-1a47-4075-a192-805849bf6680_525x350.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hGAx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb095419-1a47-4075-a192-805849bf6680_525x350.jpeg" width="724" height="482.6666666666667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb095419-1a47-4075-a192-805849bf6680_525x350.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:350,&quot;width&quot;:525,&quot;resizeWidth&quot;:724,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Ai App Stock Photos, Images and Backgrounds for Free Download&quot;,&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="Ai App Stock Photos, Images and Backgrounds for Free Download" title="Ai App Stock Photos, Images and Backgrounds for Free Download" srcset="https://substackcdn.com/image/fetch/$s_!hGAx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb095419-1a47-4075-a192-805849bf6680_525x350.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hGAx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb095419-1a47-4075-a192-805849bf6680_525x350.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hGAx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb095419-1a47-4075-a192-805849bf6680_525x350.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hGAx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb095419-1a47-4075-a192-805849bf6680_525x350.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>Most teams add AI to their product the same way. They build the app. They ship it. Then someone says &#8220;we should add AI.&#8221; So they drop in a chatbot, wire up an API call to GPT, and put an &#8220;AI-powered&#8221; badge on the landing page.</p><p>That&#8217;s not AI-first. That&#8217;s AI-last.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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><p>I wanted to test what happens when you do it the other way. Start with AI. Let it shape the architecture, the user experience, the data flow. Then build the rest of the app around it.</p><p>So I built DriveSyncAI - a native macOS app that syncs drives, finds duplicates, and organizes files. It doesn&#8217;t have an AI feature. AI is how it works. You don&#8217;t configure it through settings panels. You talk to it. It asks you questions. It drafts a plan. You push back. It adapts.</p><p>I&#8217;ve spent 26 years in tech - healthcare, pharma, government, large-scale data platforms. For the last few years, my focus has shifted to AI strategy: how organizations should design systems around AI instead of attaching AI to existing systems. This app was my way of pressure-testing that thinking. Build it myself. See what holds up. See where most teams are getting it wrong.</p><p>Here&#8217;s what I found.</p><h2>Mistake #1: Defaulting to Cloud AI Without Thinking About It</h2><p>The first design decision I faced: where does the AI run?</p><p>Most teams don&#8217;t even ask this question. They pick OpenAI or Anthropic, add an API key, and move on. For a lot of products, that&#8217;s fine. But it shouldn&#8217;t be the default.</p><p>My app has access to every file on your drive. File names, folder structures, metadata. Sending that to a cloud API, even just the metadata; felt like the wrong starting point. After years of working in healthcare, where data privacy isn&#8217;t optional, I&#8217;m wired to ask &#8220;does this data need to leave the device?&#8221; before anything else.</p><p>I chose Ollama. Local. Open-source models running on the user&#8217;s own machine.</p><p>The app supports 75+ models. Small ones that work on a MacBook Air. Larger ones for complex file taxonomies. You can also connect OpenAI, Anthropic, Gemini, or Perplexity if you want cloud power. But the out-of-the-box experience is local. Private. Free.</p><p>The hardware is good enough. The models are good enough. Most teams default to cloud AI because that&#8217;s what the tutorials show. Not because they evaluated the tradeoff.</p><h2>Mistake #2: Sending Everything to the Language Model</h2><p>This is the most expensive mistake I see teams make. And I made it too, early on.</p><p>My first prototype sent every file to the LLM for categorization. It was slow, it was expensive, and it was pointless. A .jpg with EXIF data from 2024 is a photo from 2024. You don&#8217;t need a language model to tell you that.</p><p>AI-first doesn&#8217;t mean AI-everything. It means AI shapes how you think about the problem. Then you use AI where it adds real value and use cheaper tools everywhere else.</p><p>I ended up with a three-tier pipeline:</p><ul><li><p><strong>Tier 1 Rules (~60% of files):</strong> Extension-based categorization. Clutter detection. User-defined rules. Zero LLM tokens.</p></li><li><p><strong>Tier 2 Metadata (~25% of files):</strong> EXIF dates from photos. PDF titles. Spotlight attributes. Still zero tokens.</p></li><li><p><strong>Tier 3 LLM (~15% of files):</strong> Only the files where extension and metadata aren&#8217;t enough. Sent as compact metadata summaries, the model never sees the actual file content.</p></li></ul><p>85% of the work runs without a single token. The AI handles the 15% where rules and metadata fall short. That&#8217;s the right ratio. Most teams invert it, they throw everything at the LLM and then scramble to optimize costs later.</p><p>Design the tiers first. Let AI handle what only AI can handle.</p><h2>Mistake #3: Treating AI Output as Final</h2><p>Most AI-powered tools follow the same pattern: input goes in, output comes out, user clicks approve. One shot. Take it or leave it.</p><p>That&#8217;s not how people work. And it&#8217;s not how AI should work either.</p><p>I built the one-shot version first. Scan a drive, show organization suggestions, let the user execute. Then I used it. The app suggested moving wedding-photos-backup-2024/ to Photos/Backups/. I wanted it in Family/Events/. There was no way to say that.</p><p>So I added an AI chat. You can talk to the plan.</p><p>Before scanning, you describe what you care about in plain language. &#8220;I&#8217;m a photographer. Separate RAW from JPEG. Organize by shoot date.&#8221; The AI adjusts your preferences.</p><p>After scanning, the plan shows up and the AI becomes a co-editor. &#8220;Move the PDFs to a Research folder.&#8221; &#8220;Don&#8217;t clean up anything in Downloads.&#8221; It modifies the plan, adds moves, removes items, changes destinations, highlights what changed. If the changes are big enough, it offers to re-scan.</p><p>Each LLM response is structured JSON: a message, follow-up questions, plan modifications, preference changes, and a re-analysis flag. I had to build resilient parsers because every LLM returns JSON slightly differently, missing fields, booleans as strings, markdown wrappers. You learn to trust nothing from an API and validate everything.</p><p>This feature was a late addition. It turned out to be the most important one. People trust AI more when they can argue with it. The teams that treat AI output as final are building tools people tolerate. The teams that let users push back are building tools people trust.</p><h2>Mistake #4: No Safety Net for AI Actions</h2><p>Here&#8217;s something that concerns me about how fast teams are shipping AI features: the AI acts on real data, and there&#8217;s no undo.</p><p>AI makes mistakes. That&#8217;s fine, humans make mistakes too. The problem is when there&#8217;s no rollback.</p><p>My app moves, renames, and deletes files. Get that wrong and someone loses their work. So I built a write-ahead journal, borrowed from how databases handle transactions:</p><ol><li><p>Before any file operation, write a journal entry with status .pending</p></li><li><p>Execute the operation. Back up anything being overwritten or deleted.</p></li><li><p>Write the result: .completed or .failed</p></li><li><p>For copies, hash the destination with SHA256 and verify against the source</p></li></ol><p>If the app crashes or a drive disconnects mid-operation, the journal has a full record. Rollback restores everything to the pre-operation state.</p><p>In large-scale systems, transactional safety is standard. In AI-powered apps, it&#8217;s rare. If your AI can modify user data. move files, edit documents, change settings, you need a safety layer that assumes the AI will get things wrong sometimes. Because it will.</p><h2>Mistake #5: Ignoring the Execution Layer</h2><p>A lot of AI products focus on the intelligence and ignore the plumbing. The model is smart, but the app is slow. The suggestions are good, but the execution takes forever.</p><p>When AI organizes your files, speed matters. Users won&#8217;t wait 10 minutes. The AI layer needs the I/O layer to keep up.</p><p>Three things I built to close that gap:</p><p><strong>Memory-mapped hashing.</strong> Files over 4MB get hashed with mmap 64MB sliding windows, sequential access hints, data goes from the kernel page cache to CryptoKit with no intermediate copies. Smaller files use chunked reads. If mmap fails, it falls back.</p><p><strong>APFS clonefile.</strong> On the same APFS volume, clonefile() creates a copy-on-write clone. The copy takes microseconds regardless of file size. Cross-volume copies use FileManager.copyItem.</p><p><strong>Adaptive concurrency.</strong> USB 2.0 gets 2 parallel I/O operations. USB 3.x gets 4. Thunderbolt gets 6. NVMe gets 8. Backpressure keeps slow devices from getting overwhelmed.</p><p>AI-first means the whole stack has to support the AI&#8217;s speed of thought. If the model can decide in 2 seconds where 500 files should go, your I/O layer better be ready to move them.</p><h2>What I&#8217;d Do Differently</h2><p>Three things:</p><p><strong>Start with the chat, not the settings form.</strong> I built a preferences wizard with dropdowns and toggles. Then I built the AI chat. The chat was more useful. People would rather say what they want in a sentence than configure six settings. Next time I&#8217;d start there.</p><p><strong>Add journaling before the first file operation.</strong> I started with basic file operations and added the write-ahead journal later. Retrofitting was messy. Transaction safety should be the first thing you build, not something you bolt on.</p><p><strong>Build defensive JSON parsing on day one.</strong> Every LLM provider returns JSON a little differently. Missing fields. Booleans as strings. Payloads wrapped in markdown code fences. I spent a week debugging decode errors before I wrote custom parsers with sensible defaults. Should have done that from the start.</p><h2>What AI-First Actually Looks Like</h2><p>Building this app clarified something I&#8217;d been thinking about for a while. Here&#8217;s what I now believe:</p><p><strong>AI shapes the architecture, not the other way around.</strong> Don&#8217;t design your app and then ask &#8220;where can we add AI?&#8221; Start with what AI can do and build the experience around that.</p><p><strong>Conversation is the interface.</strong> People don&#8217;t want to approve AI output. They want to talk to it, push back, and shape the result together. That changes how you design every screen.</p><p><strong>AI-first doesn&#8217;t mean AI-expensive.</strong> 85% of the work in this app runs on deterministic rules. Good AI-first design means knowing where AI adds value and where it doesn&#8217;t.</p><p><strong>Local AI is ready.</strong> A MacBook runs Ollama models with no issues. For anything that touches personal or sensitive data such as health records, personal documents, financial files; local-first is the right default.</p><p><strong>If AI acts, safety follows.</strong> Any AI feature that modifies user data needs a transaction log, a backup, and a rollback path. No exceptions.</p><p>Most teams are doing AI wrong not because they lack talent or tools. They&#8217;re doing it wrong because they&#8217;re adding AI to existing designs instead of letting AI reshape the design from the start. That&#8217;s the difference between AI-last and AI-first. It changes everything.</p><p>I built DriveSyncAI to test these ideas in something real. They held up. The question I&#8217;m focused on now: what does AI-first look like applied to healthcare platforms, data pipelines, and enterprise systems?</p><p>That&#8217;s the next chapter.</p><p><strong>DriveSyncAI is open source under BSL 1.1.</strong> Code at <a href="https://github.com/amitchorasiya/DriveSyncAI">github.com/amitchorasiya/DriveSyncAI</a>. Download at <a href="https://drivesyncai.layai.co/">drivesyncai.layai.co</a>.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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[Diffusion LLMs - This Changes 3+ Years of Frustration That AI Is Slow and Getting Slower ]]></title><description><![CDATA[After 3+ years of watching AI models get smarter but not faster, a different architecture finally breaks the latency ceiling]]></description><link>https://amitchorasiya.substack.com/p/diffusion-llms-this-changes-3-years</link><guid isPermaLink="false">https://amitchorasiya.substack.com/p/diffusion-llms-this-changes-3-years</guid><dc:creator><![CDATA[Amit Chorasiya]]></dc:creator><pubDate>Sat, 28 Feb 2026 03:37:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!h8uQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc5f923e-b3d0-40ff-a836-415775e584db_612x439.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2><strong>The Frustration That Started This</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h8uQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc5f923e-b3d0-40ff-a836-415775e584db_612x439.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h8uQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc5f923e-b3d0-40ff-a836-415775e584db_612x439.jpeg 424w, https://substackcdn.com/image/fetch/$s_!h8uQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc5f923e-b3d0-40ff-a836-415775e584db_612x439.jpeg 848w, https://substackcdn.com/image/fetch/$s_!h8uQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc5f923e-b3d0-40ff-a836-415775e584db_612x439.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!h8uQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc5f923e-b3d0-40ff-a836-415775e584db_612x439.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h8uQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc5f923e-b3d0-40ff-a836-415775e584db_612x439.jpeg" width="612" height="439" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc5f923e-b3d0-40ff-a836-415775e584db_612x439.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:439,&quot;width&quot;:612,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;730+ Smashing Laptop Stock Photos, Pictures &amp; Royalty-Free Images - iStock  | Screaming&quot;,&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="730+ Smashing Laptop Stock Photos, Pictures &amp; Royalty-Free Images - iStock  | Screaming" title="730+ Smashing Laptop Stock Photos, Pictures &amp; Royalty-Free Images - iStock  | Screaming" srcset="https://substackcdn.com/image/fetch/$s_!h8uQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc5f923e-b3d0-40ff-a836-415775e584db_612x439.jpeg 424w, https://substackcdn.com/image/fetch/$s_!h8uQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc5f923e-b3d0-40ff-a836-415775e584db_612x439.jpeg 848w, https://substackcdn.com/image/fetch/$s_!h8uQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc5f923e-b3d0-40ff-a836-415775e584db_612x439.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!h8uQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc5f923e-b3d0-40ff-a836-415775e584db_612x439.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>I spend most of my time designing event-driven systems and microservice architectures, and lately, AI has become a key part of the experiences I build to help business teams.</p><p>Over the past three years, I&#8217;ve relied heavily on large language models (LLMs) for that work - drafting architecture designs, reasoning through failure scenarios, generating code skeletons, summarizing lengthy specification documents, and developing agents to make life easier for my colleagues and team members. These models have become an integral part of how I think through problems.</p><p>One thing keeps bugging me: <strong>the models keep getting smarter and keep feeling slow.</strong></p><p>Not unusable-slow. Just slow enough that I lose my train of thought waiting for a response. Slow enough that during a five-round design iteration, I check Slack/Teams between responses and lose context. At 8-10 seconds per response across dozens of prompts in a session, the wait time adds up.</p><p>Every one of these models generates text the same way -- one token at a time, sequentially. That is the bottleneck, and no amount of better hardware fixes it.</p><p>Then I tried <a href="https://chat.inceptionlabs.ai/">Mercury 2</a>.</p><h2><strong>TL;DR</strong></h2><ul><li><p>Every major LLM today generates text one token at a time, sequentially. That&#8217;s the bottleneck. Better hardware doesn&#8217;t fix it.</p></li><li><p><a href="https://www.inceptionlabs.ai/blog/introducing-mercury-2">Mercury 2 from Inception Labs</a> uses diffusion-based generation: the entire response materialises in parallel instead of streaming word by word. 1,009 tokens per second. 5x faster than GPT-4o. 4x cheaper.</p></li><li><p>Reasoning quality is good but not frontier-grade. It won&#8217;t surface risks you haven&#8217;t thought of. Use it for exploration, not final judgment.</p></li><li><p>Best pattern: Mercury 2 to rapidly explore and narrow down options, then ChatGPT/Claude/Gemini for the final deep pass. Fast divergence, slow convergence.</p></li><li><p>This matters less as a product and more as a proof point. Diffusion architecture breaks a constraint that has defined LLMs for three years.</p></li></ul><h2><strong>What Mercury 2 Actually Is</strong></h2><p>Mercury 2, from <a href="https://www.inceptionlabs.ai/blog/introducing-mercury-2">Inception Labs</a>, is not another autoregressive model with a faster chip underneath. It is a fundamentally <strong>different architecture</strong>. Instead of generating text one token at a time in sequence, it uses <strong>diffusion-based generation</strong> -- the same approach behind image generators like Stable Diffusion, applied to language.</p><p>The model starts with noise and refines the entire response in parallel over a few steps. It does not wait for word one to finish before starting word two. Everything happens at once. The output materializes rather than streams.</p><p>The numbers: <strong>1,009 tokens per second</strong> on NVIDIA Blackwell GPUs. That is not 10% faster. That is 5x or more faster than what I am used to from GPT-4o. To my surprise, its 4 times cheaper.</p><p></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;f233bbab-f51d-4450-9edc-414f26048d63&quot;,&quot;duration&quot;:null}"></div><p></p><h2><strong>Why the Slow Typing Matters More Than You Think</strong></h2><p>Every major LLM today -- GPT, Claude, Gemini, Llama -- generates text through autoregressive decoding. One token predicts the next. The next predicts the one after that. Strictly sequential, no shortcuts.</p><p>For a single question-and-answer, the wait is tolerable. But my work does not look like single questions. It looks like this:</p><ul><li><p>Ask the model to draft an architecture approach</p></li><li><p>Read the output, spot something wrong</p></li><li><p>Ask it to revise with a constraint I forgot to mention</p></li><li><p>Read again, realize the failure handling is too hand-wavy</p></li><li><p>Ask it to go deeper on the retry and reconciliation logic</p></li><li><p>Read again, decide to take a different approach entirely</p></li><li><p>Start over with a new framing</p></li></ul><p>That is seven inference calls for one design decision. At 8-10 seconds each, that is over a minute of just waiting. And that is one decision out of dozens in an architecture session.</p><p>The compounding gets worse with agentic workflows -- AI systems that chain multiple inference calls to complete a task. If your agent makes 15 calls and each one takes 2 seconds, the user waits 30 seconds before seeing anything. Speed is not a vanity metric here. It determines whether the workflow is usable.</p><p></p><h2>My Honest Take</h2><p><strong>Mercury 2&#8217;s reasoning is good but not frontier-grade.</strong> On tasks where I needed the model to surface risks I had not thought of, it did not match ChatGPT. It answered the question I asked; it did not answer the question I should have asked.</p><p><strong>The ecosystem is brand new.</strong> No plugin ecosystem, no custom GPTs, no deep IDE integrations yet. OpenAI API compatibility helps, but the surrounding infrastructure is early.</p><p><strong>The speed takes adjustment.</strong> I caught myself not reading responses carefully because they appeared so fast. My brain was still in &#8220;wait for the model&#8221; mode.</p><p><strong>Where I actually reach for each one:</strong></p><ul><li><p><strong>Mercury 2</strong> for exploration and iteration -- when I am generating options, testing framings, building prototypes. Speed keeps me in flow.</p></li><li><p><strong>ChatGPT/Claude/Gemini</strong> for depth and judgment -- when I am making a final architecture decision or reviewing for gaps. The extra seconds are worth it.</p></li><li><p><strong>Best pattern I found:</strong> Mercury 2 to rapidly explore and narrow down, then <strong>ChatGPT/Claude/Gemini</strong> for the final deep pass. Fast divergence, slow convergence. Better than either alone.</p></li></ul><p></p><h2>Why This Matters Beyond One Model</h2><p>Mercury 2 matters less as a product and <strong>more as a proof point</strong>. For three years, every LLM improvement stayed within the same &#8220;one token at a time&#8221; framework. This shows a different architecture can break that bottleneck.</p><p>For anyone building AI-assisted tooling or agentic systems, latency has been the hard constraint limiting how many reasoning steps you can chain and how responsive your UX can be. If that constraint loosens, the architectures you can build change.</p><p>The question is not &#8220;is this better than other LLMs.&#8221; The question is: <strong>what could you build if your AI responded before you finished your thought?</strong></p><p></p><p></p><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://amitchorasiya.substack.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">Thanks for reading! Subscribe for free to receive new posts and support my work.</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></channel></rss>