<?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[The AI Operator]]></title><description><![CDATA[AI agent systems, written by someone shipping them in production.]]></description><link>https://theaioperator.io</link><image><url>https://substackcdn.com/image/fetch/$s_!draq!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05cfa09d-6c44-40bb-8a54-1973247fc43c_500x500.png</url><title>The AI Operator</title><link>https://theaioperator.io</link></image><generator>Substack</generator><lastBuildDate>Wed, 12 Aug 2026 05:46:39 GMT</lastBuildDate><atom:link href="https://theaioperator.io/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Eugeniu Ghelbur]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[ghelburlabs@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[ghelburlabs@substack.com]]></itunes:email><itunes:name><![CDATA[Eugeniu Ghelbur]]></itunes:name></itunes:owner><itunes:author><![CDATA[Eugeniu Ghelbur]]></itunes:author><googleplay:owner><![CDATA[ghelburlabs@substack.com]]></googleplay:owner><googleplay:email><![CDATA[ghelburlabs@substack.com]]></googleplay:email><googleplay:author><![CDATA[Eugeniu Ghelbur]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Graph Engineering Decoded: Two Definitions, One Test]]></title><description><![CDATA[Two camps gave the same term two meanings this summer. One models what your system knows, the other models how work moves. Picking wrong costs a rebuild.]]></description><link>https://theaioperator.io/p/graph-engineering-decoded-two-definitions</link><guid isPermaLink="false">https://theaioperator.io/p/graph-engineering-decoded-two-definitions</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Tue, 11 Aug 2026 22:40:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KByV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.png" 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_!KByV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KByV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.png 424w, https://substackcdn.com/image/fetch/$s_!KByV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.png 848w, https://substackcdn.com/image/fetch/$s_!KByV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.png 1272w, https://substackcdn.com/image/fetch/$s_!KByV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KByV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.png" width="1420" height="944" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:944,&quot;width&quot;:1420,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2517469,&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://theaioperator.io/i/210824052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.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_!KByV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.png 424w, https://substackcdn.com/image/fetch/$s_!KByV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.png 848w, https://substackcdn.com/image/fetch/$s_!KByV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.png 1272w, https://substackcdn.com/image/fetch/$s_!KByV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecc9a81d-7bb2-4709-96ff-4c3714b3671b_1420x944.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 aria-hidden="true" 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><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><strong>TL;DR</strong></p><ul><li><p>Graph engineering now means two different things, and both definitions shipped in 2026: a graph of what the system knows, and a graph of how work flows through agents.</p></li><li><p>They fail differently. A knowledge graph fixes wrong answers. An agent graph fixes wrong steps. Building the wrong one buys you weeks of work that does not touch your actual failure.</p></li><li><p>The test is four questions, at the bottom of this post. Answer them before you write a schema or a state machine.</p></li></ul><p>Search for graph engineering today and you get two answers that do not agree.</p><p>One set of articles tells you it means modeling your data as entities and typed relationships so a language model can traverse facts instead of guessing at them.</p><p>Another set, most of it published in July, tells you it means designing your agent system as an explicit graph: nodes are agents and tools, edges are routes, and the whole thing has shared state.</p><p>Both camps are describing something real. They are not describing the same thing.</p><p>I wrote <a href="https://theaioperator.io/p/what-is-graph-engineering-a-field">the field guide that defines the term</a> and I have watched the second meaning arrive over the last six weeks. This post is not a referee call about who owns the word. It is the thing neither camp gives you: a way to tell which one your problem is, before you spend a month building the wrong grap</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k7tr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f17fc6-eb57-48d5-bce2-f875e20629ac_1418x938.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k7tr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f17fc6-eb57-48d5-bce2-f875e20629ac_1418x938.png 424w, https://substackcdn.com/image/fetch/$s_!k7tr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f17fc6-eb57-48d5-bce2-f875e20629ac_1418x938.png 848w, https://substackcdn.com/image/fetch/$s_!k7tr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f17fc6-eb57-48d5-bce2-f875e20629ac_1418x938.png 1272w, https://substackcdn.com/image/fetch/$s_!k7tr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f17fc6-eb57-48d5-bce2-f875e20629ac_1418x938.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k7tr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f17fc6-eb57-48d5-bce2-f875e20629ac_1418x938.png" width="1418" height="938" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4f17fc6-eb57-48d5-bce2-f875e20629ac_1418x938.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:938,&quot;width&quot;:1418,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2453133,&quot;alt&quot;:&quot;Sketchnote split down the middle. Left labelled KNOWS: person, folder, document, policy joined by edges reading owns, authored, contains, blocks, supersedes. Right labelled MOVES: four terminal windows stacked, arrows labelled route, retry, stop.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://theaioperator.io/i/210824052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f17fc6-eb57-48d5-bce2-f875e20629ac_1418x938.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote split down the middle. Left labelled KNOWS: person, folder, document, policy joined by edges reading owns, authored, contains, blocks, supersedes. Right labelled MOVES: four terminal windows stacked, arrows labelled route, retry, stop." title="Sketchnote split down the middle. Left labelled KNOWS: person, folder, document, policy joined by edges reading owns, authored, contains, blocks, supersedes. Right labelled MOVES: four terminal windows stacked, arrows labelled route, retry, stop." srcset="https://substackcdn.com/image/fetch/$s_!k7tr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f17fc6-eb57-48d5-bce2-f875e20629ac_1418x938.png 424w, https://substackcdn.com/image/fetch/$s_!k7tr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f17fc6-eb57-48d5-bce2-f875e20629ac_1418x938.png 848w, https://substackcdn.com/image/fetch/$s_!k7tr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f17fc6-eb57-48d5-bce2-f875e20629ac_1418x938.png 1272w, https://substackcdn.com/image/fetch/$s_!k7tr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f17fc6-eb57-48d5-bce2-f875e20629ac_1418x938.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Definition one: a graph of what the system knows</h2><p>In this version, the nodes are things. A person, a project, a decision, a document, a customer. The edges are typed relationships between them: this decision supersedes that one, this person owns that project, this bug blocks that release.</p><p>You build it because retrieval by similarity keeps failing you. Vector search finds text that reads like your question. It cannot follow a chain. Ask which decisions are now dead because of a call made in March and similarity search returns three notes that mention March.</p><p>A knowledge graph answers that by walking edges. The value is the walk, not the storage.</p><p>This is the definition with the longer history. Knowledge graphs predate language models by decades. What changed in 2026 is that the graph stopped being a database problem and became a retrieval problem, which is why GraphRAG turned into a common pattern rather than a specialist one.</p><div><hr></div><h2>Definition two: a graph of how work moves</h2><p>In this version, the nodes are workers. An agent, a tool, an evaluator, a human approval step. The edges are routes: after this step, go there, unless the check fails, in which case go back.</p><p>You build it because a single agent loop stopped being enough. One agent with a long prompt and twelve tools works until it does not, and when it breaks you cannot say where. Turning the loop into an explicit graph gives you named steps, typed transitions, and a place to put a retry.</p><p>This is the definition that showed up loudly in July. It is close to what workflow engines have done for years, and several writers in this camp say so themselves. That does not make it empty. The new part is that the nodes are non-deterministic, so the edges carry more weight than they used to.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IUpa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f716577-5670-4ac8-ab46-5fa103a88138_1418x946.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IUpa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f716577-5670-4ac8-ab46-5fa103a88138_1418x946.png 424w, https://substackcdn.com/image/fetch/$s_!IUpa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f716577-5670-4ac8-ab46-5fa103a88138_1418x946.png 848w, https://substackcdn.com/image/fetch/$s_!IUpa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f716577-5670-4ac8-ab46-5fa103a88138_1418x946.png 1272w, https://substackcdn.com/image/fetch/$s_!IUpa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f716577-5670-4ac8-ab46-5fa103a88138_1418x946.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IUpa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f716577-5670-4ac8-ab46-5fa103a88138_1418x946.png" width="1418" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f716577-5670-4ac8-ab46-5fa103a88138_1418x946.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1418,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2425700,&quot;alt&quot;:&quot;Two framed panels. Left: purple circle labelled A THING with edges owns, replaced by, blocks, captioned answers what is true. Right: teal terminal window labelled A WORKER, one arrow in, two out labelled pass and fail, captioned answers what happens next&quot;,&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://theaioperator.io/i/210824052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f716577-5670-4ac8-ab46-5fa103a88138_1418x946.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Two framed panels. Left: purple circle labelled A THING with edges owns, replaced by, blocks, captioned answers what is true. Right: teal terminal window labelled A WORKER, one arrow in, two out labelled pass and fail, captioned answers what happens next" title="Two framed panels. Left: purple circle labelled A THING with edges owns, replaced by, blocks, captioned answers what is true. Right: teal terminal window labelled A WORKER, one arrow in, two out labelled pass and fail, captioned answers what happens next" srcset="https://substackcdn.com/image/fetch/$s_!IUpa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f716577-5670-4ac8-ab46-5fa103a88138_1418x946.png 424w, https://substackcdn.com/image/fetch/$s_!IUpa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f716577-5670-4ac8-ab46-5fa103a88138_1418x946.png 848w, https://substackcdn.com/image/fetch/$s_!IUpa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f716577-5670-4ac8-ab46-5fa103a88138_1418x946.png 1272w, https://substackcdn.com/image/fetch/$s_!IUpa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f716577-5670-4ac8-ab46-5fa103a88138_1418x946.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 aria-hidden="true" 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><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><h2>Why one term ended up with two meanings</h2><p>Two groups needed a word in the same year.</p><p>The retrieval people had a problem with knowledge: the model cannot find what it needs, so it makes something up. They reached for graphs to make knowledge walkable.</p><p>The orchestration people had a problem with control: the model does the wrong thing in the wrong order, so nobody can debug it. They reached for graphs to make control explicit.</p><p>Both problems get solved by drawing nodes and edges. So both got called graph engineering. Nobody did anything wrong here. New fields collide on vocabulary before they settle, and this one is still being settled in public. The pieces arguing for the second meaning are dated July and August of this year.</p><p>The cost is not linguistic. The cost is that a builder reads the wrong article, recognizes the shape of the diagram, and starts building.</p><div><hr></div><h2>The test: four questions</h2><p>Answer these before you build anything. They take five minutes.</p><p><strong>1. When it fails, is the output wrong or is the path wrong?</strong></p><p>Wrong output means the system had bad or missing information. That is a knowledge problem. Wrong path means the system had the information and did the wrong thing with it. That is a topology problem.</p><p>Read your last ten failures and sort them into those two piles. The bigger pile picks your definition.</p><p><strong>2. Does it fail the same way twice?</strong></p><p>Run the failing case again. If it fails identically, something in what the system knows is wrong, and it will be wrong every time. If it fails differently, or works on the second run, the problem is in how the work moved: a timeout, an order, a tool that returned early.</p><p>Repeatable points at knowledge. Variable points at topology. This is the fastest of the four and most people never run it.</p><p><strong>3. Which path can you not draw today?</strong></p><p>Take one real failure. Try to draw the route the answer took through your data. Then draw the route the run took through your code.</p><p>Whichever one you cannot draw is the one you have not engineered yet.</p><p><strong>4. What happens if you double one thing?</strong></p><p>Double your documents. If quality drops, your problem is knowledge. Double your steps or your tools. If reliability drops, your problem is topology.</p><p>Most systems eventually need both. Almost nobody needs both first.</p><div><hr></div><h2>The same failure, run through the test</h2><p>An agent answers questions about your own project history. Someone asks why a library got dropped last quarter. It returns a confident answer citing the document that argued for keeping it, because a later decision reversed that one and nothing in your store says so.</p><p>Output is wrong, not path. It fails the same way every time. You can draw the route the run took through your code and you cannot draw the route the answer took through your data. Double the documents and it gets worse.</p><p>Four for four on the knowledge side. The fix is one edge: the newer decision points at the older one and says it replaced it. No amount of orchestration would have helped.</p><p>Now change one detail. The agent finds the reversal, calls a summarizing tool that truncates it, and answers from half a decision with no error raised. Same question, different answer on a rerun, and you cannot say why the run continued after a short read. That is topology, and the fix is also one edge, this time a route: after that tool, verify, and stop if the check fails.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HEIr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5daa4614-5dcd-4ad1-bb4f-7558f4b2274d_1416x944.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HEIr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5daa4614-5dcd-4ad1-bb4f-7558f4b2274d_1416x944.png 424w, https://substackcdn.com/image/fetch/$s_!HEIr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5daa4614-5dcd-4ad1-bb4f-7558f4b2274d_1416x944.png 848w, https://substackcdn.com/image/fetch/$s_!HEIr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5daa4614-5dcd-4ad1-bb4f-7558f4b2274d_1416x944.png 1272w, https://substackcdn.com/image/fetch/$s_!HEIr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5daa4614-5dcd-4ad1-bb4f-7558f4b2274d_1416x944.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HEIr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5daa4614-5dcd-4ad1-bb4f-7558f4b2274d_1416x944.png" width="1416" height="944" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5daa4614-5dcd-4ad1-bb4f-7558f4b2274d_1416x944.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:944,&quot;width&quot;:1416,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2366166,&quot;alt&quot;:&quot;Pile of ten coloured cards labelled LAST 10 FAILURES. A rust arrow splits into two bins: yellow WRONG ANSWER with build the knowledge graph, green WRONG STEP with build the agent graph.&quot;,&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://theaioperator.io/i/210824052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5daa4614-5dcd-4ad1-bb4f-7558f4b2274d_1416x944.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Pile of ten coloured cards labelled LAST 10 FAILURES. A rust arrow splits into two bins: yellow WRONG ANSWER with build the knowledge graph, green WRONG STEP with build the agent graph." title="Pile of ten coloured cards labelled LAST 10 FAILURES. A rust arrow splits into two bins: yellow WRONG ANSWER with build the knowledge graph, green WRONG STEP with build the agent graph." srcset="https://substackcdn.com/image/fetch/$s_!HEIr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5daa4614-5dcd-4ad1-bb4f-7558f4b2274d_1416x944.png 424w, https://substackcdn.com/image/fetch/$s_!HEIr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5daa4614-5dcd-4ad1-bb4f-7558f4b2274d_1416x944.png 848w, https://substackcdn.com/image/fetch/$s_!HEIr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5daa4614-5dcd-4ad1-bb4f-7558f4b2274d_1416x944.png 1272w, https://substackcdn.com/image/fetch/$s_!HEIr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5daa4614-5dcd-4ad1-bb4f-7558f4b2274d_1416x944.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 aria-hidden="true" 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><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="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What each mistake costs</h2><p>Building the wrong graph is not a small detour. Both mistakes are expensive in the same specific way: you get a working system that does not touch your failure.</p><p><strong>Building a knowledge graph when the problem was topology.</strong> You spend weeks on an ontology. Entity resolution eats another week, because deciding that two names are the same person is genuinely hard. You ship it. Retrieval gets sharper. Your agent still calls the wrong tool at step four and still cannot recover from a timeout, because none of that was ever about knowing things.</p><p><strong>Building an agent graph when the problem was knowledge.</strong> You split one loop into nine nodes with typed edges and a state schema. Every run is now traceable. You can see exactly where it went. It goes to the right node, retrieves the wrong context, and produces a confident wrong answer with a beautiful trace attached.</p><p>The second mistake is worse, because observability feels like progress. You can watch the failure in high definition for a month before admitting it never moved.</p><div><hr></div><h2>Where the two actually meet</h2><p>They meet at state.</p><p>A knowledge graph is state at rest: what is true, how it connects, what replaced what. An agent graph is state in motion: what this run has done, what it holds now, where it can go next.</p><p>That is why the same drawing works for both, and why the confusion was inevitable.</p><p>In my own system the split is literal. The vault is the knowledge graph. Edges live in frontmatter as typed fields, so a machine reads them without parsing prose, and a superseded note points at the note that replaced it instead of quietly disagreeing with it. I wrote up <a href="https://theaioperator.io/p/how-to-do-graph-engineering-in-a">the five steps I use to keep those edges honest</a> separately.</p><p>The agent side is deliberately thin. A handful of scheduled agents, each with one narrow job, and nothing orchestrating between them. That is still a topology decision, just a very small one, because my failures were almost all knowledge failures.</p><p>The repo that runs it is <a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain</a>, MIT licensed, about 3,900 stars as of this week. Six months of running it produced the same lesson the test above encodes: I built structure where the failures were, and left the other side small until it earned the work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g6fR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa20f3a87-db19-4a95-9920-e7bf5d7101dd_1416x946.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g6fR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa20f3a87-db19-4a95-9920-e7bf5d7101dd_1416x946.png 424w, https://substackcdn.com/image/fetch/$s_!g6fR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa20f3a87-db19-4a95-9920-e7bf5d7101dd_1416x946.png 848w, https://substackcdn.com/image/fetch/$s_!g6fR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa20f3a87-db19-4a95-9920-e7bf5d7101dd_1416x946.png 1272w, https://substackcdn.com/image/fetch/$s_!g6fR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa20f3a87-db19-4a95-9920-e7bf5d7101dd_1416x946.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g6fR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa20f3a87-db19-4a95-9920-e7bf5d7101dd_1416x946.png" width="1416" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a20f3a87-db19-4a95-9920-e7bf5d7101dd_1416x946.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1416,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2429939,&quot;alt&quot;:&quot;Left, a still layered pond labelled STATE AT REST, captioned what is true. Right, a flowing stream carrying a terminal window labelled STATE IN MOTION, captioned what this run holds. Both point to a rust circle reading STATE.&quot;,&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://theaioperator.io/i/210824052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa20f3a87-db19-4a95-9920-e7bf5d7101dd_1416x946.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Left, a still layered pond labelled STATE AT REST, captioned what is true. Right, a flowing stream carrying a terminal window labelled STATE IN MOTION, captioned what this run holds. Both point to a rust circle reading STATE." title="Left, a still layered pond labelled STATE AT REST, captioned what is true. Right, a flowing stream carrying a terminal window labelled STATE IN MOTION, captioned what this run holds. Both point to a rust circle reading STATE." srcset="https://substackcdn.com/image/fetch/$s_!g6fR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa20f3a87-db19-4a95-9920-e7bf5d7101dd_1416x946.png 424w, https://substackcdn.com/image/fetch/$s_!g6fR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa20f3a87-db19-4a95-9920-e7bf5d7101dd_1416x946.png 848w, https://substackcdn.com/image/fetch/$s_!g6fR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa20f3a87-db19-4a95-9920-e7bf5d7101dd_1416x946.png 1272w, https://substackcdn.com/image/fetch/$s_!g6fR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa20f3a87-db19-4a95-9920-e7bf5d7101dd_1416x946.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 aria-hidden="true" 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><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><h2>What I would tell you if you only read one line</h2><p>Do not pick the definition that matches the article you found. Pick the one that matches your last ten failures.</p><p>The term will settle eventually. Your rebuild will not un-happen.</p><div><hr></div><h2>Frequently asked questions</h2><p><strong>What is graph engineering?</strong></p><p>Designing the graph structure a language model system depends on. As of 2026 the word covers two structures: a graph of what the system knows (entities and typed relationships) and a graph of how the system works (agents, tools, and routes between them).</p><p><strong>Is graph engineering the same as GraphRAG?</strong></p><p>No. GraphRAG is one retrieval pattern that walks a knowledge graph and combines it with vector search. Graph engineering in the knowledge sense is the design work that makes such a graph worth walking. GraphRAG is a consumer of it.</p><p><strong>Is graph engineering just workflow orchestration with a new name?</strong></p><p>In the agent-topology sense, it borrows heavily from workflow engines and the people writing about it usually say so. The difference is that the nodes are non-deterministic, so edges carry retries, checks, and stopping rules that a deterministic pipeline never needed.</p><p><strong>Do I need a graph database to do graph engineering?</strong></p><p>No. My knowledge graph is markdown files with typed fields in frontmatter. A graph database earns its place when traversal is your bottleneck at scale, not when you are figuring out which edges matter.</p><p><strong>How do I know which definition applies to my project?</strong></p><p>Sort your last ten failures into wrong-output and wrong-path piles. Wrong output points at knowledge. Wrong path points at topology. The four questions in this post do this in more detail.</p><p><strong>Can a system need both kinds of graph?</strong></p><p>Yes, and mature systems usually do. Almost none need both at the start. Build the side your failures live on, keep the other side to a few rules, and let it grow when it earns the work.</p><div><hr></div><h2>Key takeaways</h2><ul><li><p>Graph engineering has two live definitions in 2026: a graph of what the system knows, and a graph of how work moves through agents.</p></li><li><p>Knowledge graphs fix wrong answers. Agent graphs fix wrong steps. The distinction is what your failures look like, not what your stack looks like.</p></li><li><p>Sorting your last ten failures into wrong-output and wrong-path piles picks your definition faster than any article can.</p></li><li><p>The expensive mistake is an agent graph built for a knowledge failure, because full traceability feels like progress while the failure sits untouched.</p></li><li><p>Both graphs are about state, one at rest and one in motion, which is why the same diagram fits both and why the term split in the first place.</p></li><li><p>Build the side where your failures live, keep the other side to a few rules, and let it grow when it earns the work.</p></li></ul><div><hr></div><h2>Further reading</h2><ul><li><p><a href="https://theaioperator.io/p/what-is-graph-engineering-a-field">What is graph engineering? A field guide for builders</a> - the definition post this one builds on.</p></li><li><p><a href="https://theaioperator.io/p/how-to-do-graph-engineering-in-a">How to do graph engineering in a markdown vault</a> - the five steps, with the edge taxonomy I use.</p></li><li><p><a href="https://theaioperator.io/p/karpathys-llm-wiki-v2-what-to-keep">Karpathy&#8217;s LLM Wiki v2: what to keep, what to skip</a> - where the knowledge-graph side of my vault came from.</p></li><li><p>GraphRAG in its original form: the Microsoft Research paper <a href="https://arxiv.org/abs/2404.16130">From local to global</a> and the <a href="https://microsoft.github.io/graphrag/">project documentation</a>.</p></li><li><p>The agent-topology camp, in their own words: <a href="https://www.eigent.ai/blog/graph-engineering-ai-agents">Graph engineering for AI agents</a> and <a href="https://www.analyticsvidhya.com/blog/2026/07/graph-engineering/">a complete guide in LangGraph</a>.</p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>About the author</h2><p>Eugeniu Ghelbur builds production AI agent systems and the tooling around them. He maintains obsidian-second-brain, an open-source Claude Code skill that runs an Obsidian vault as a living knowledge system, starred by over 3,900 developers on GitHub and MIT licensed. He writes The AI Operator, where this post first appeared.</p>]]></content:encoded></item><item><title><![CDATA[What is an agent harness? Inside a real one]]></title><description><![CDATA[Agent = model + harness. Everyone benchmarks the first half. Here is the anatomy of the second half, drawn from an open-source system over 3,700 developers starred.]]></description><link>https://theaioperator.io/p/what-is-an-agent-harness-inside-a</link><guid isPermaLink="false">https://theaioperator.io/p/what-is-an-agent-harness-inside-a</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Thu, 06 Aug 2026 17:03:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kdDj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe333070f-3550-485c-8898-98c815aeb35f_1312x876.png" 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_!kdDj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe333070f-3550-485c-8898-98c815aeb35f_1312x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kdDj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe333070f-3550-485c-8898-98c815aeb35f_1312x876.png 424w, https://substackcdn.com/image/fetch/$s_!kdDj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe333070f-3550-485c-8898-98c815aeb35f_1312x876.png 848w, https://substackcdn.com/image/fetch/$s_!kdDj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe333070f-3550-485c-8898-98c815aeb35f_1312x876.png 1272w, https://substackcdn.com/image/fetch/$s_!kdDj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe333070f-3550-485c-8898-98c815aeb35f_1312x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kdDj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe333070f-3550-485c-8898-98c815aeb35f_1312x876.png" width="1312" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e333070f-3550-485c-8898-98c815aeb35f_1312x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1312,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2190319,&quot;alt&quot;:&quot;Hand-drawn sketchnote title card reading What is an agent harness. A terminal window labeled MODEL sits inside a larger frame labeled HARNESS, with tools, memory, and gates attached by arrows.&quot;,&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://theaioperator.io/i/210042396?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe333070f-3550-485c-8898-98c815aeb35f_1312x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hand-drawn sketchnote title card reading What is an agent harness. A terminal window labeled MODEL sits inside a larger frame labeled HARNESS, with tools, memory, and gates attached by arrows." title="Hand-drawn sketchnote title card reading What is an agent harness. A terminal window labeled MODEL sits inside a larger frame labeled HARNESS, with tools, memory, and gates attached by arrows." srcset="https://substackcdn.com/image/fetch/$s_!kdDj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe333070f-3550-485c-8898-98c815aeb35f_1312x876.png 424w, https://substackcdn.com/image/fetch/$s_!kdDj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe333070f-3550-485c-8898-98c815aeb35f_1312x876.png 848w, https://substackcdn.com/image/fetch/$s_!kdDj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe333070f-3550-485c-8898-98c815aeb35f_1312x876.png 1272w, https://substackcdn.com/image/fetch/$s_!kdDj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe333070f-3550-485c-8898-98c815aeb35f_1312x876.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 aria-hidden="true" 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><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><strong>TL;DR</strong></p><ul><li><p>An agent harness is everything around the model: instructions, tools, memory, feedback loops, and guardrails.</p></li><li><p>Same model, different harness, different agent. The harness now explains more of the result than model choice does.</p></li><li><p>Every part below is a general pattern first. My open-source second brain is the worked example, running in public.</p></li></ul><p>Ask a builder which model runs their agent and you get a fast, confident answer. Ask what harness it runs in and you often get a pause.</p><p>That pause is closing fast. Anthropic&#8217;s own docs describe Claude Code as an agentic harness. OpenAI published a post titled &#8220;Harness engineering.&#8221; One line from the discourse stuck with me: 2025 was the year of agents, 2026 is the year of agent harnesses.</p><p>So the term is everywhere. What is missing is a real one you can open and read. Definitions are cheap. Working harnesses are not.</p><p>I have been doing harness engineering for six months without calling it that. This post is the definition, the five parts every working harness has, and the one I run in public so you can check every claim.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What an agent harness actually is</h2><p>An agent harness is the execution layer wrapped around a language model. It decides what the model sees, which tools it can call, what it remembers between sessions, and what it may do without asking a human.</p><p>The formula that makes it click: agent = model + harness. The model provides reasoning. The harness provides everything else. Remove the harness and you do not have an agent, you have a chat window.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U-hZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d5c4a1-cf68-4271-a315-dc06201e322f_1314x878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U-hZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d5c4a1-cf68-4271-a315-dc06201e322f_1314x878.png 424w, https://substackcdn.com/image/fetch/$s_!U-hZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d5c4a1-cf68-4271-a315-dc06201e322f_1314x878.png 848w, https://substackcdn.com/image/fetch/$s_!U-hZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d5c4a1-cf68-4271-a315-dc06201e322f_1314x878.png 1272w, https://substackcdn.com/image/fetch/$s_!U-hZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d5c4a1-cf68-4271-a315-dc06201e322f_1314x878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U-hZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d5c4a1-cf68-4271-a315-dc06201e322f_1314x878.png" width="1314" height="878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/36d5c4a1-cf68-4271-a315-dc06201e322f_1314x878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:1314,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2137848,&quot;alt&quot;:&quot;Sketchnote of a visual equation: a chip labeled MODEL, plus a frame labeled HARNESS with tags for tools, memory, and rules, equals a terminal window labeled AGENT.&quot;,&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://theaioperator.io/i/210042396?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d5c4a1-cf68-4271-a315-dc06201e322f_1314x878.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote of a visual equation: a chip labeled MODEL, plus a frame labeled HARNESS with tags for tools, memory, and rules, equals a terminal window labeled AGENT." title="Sketchnote of a visual equation: a chip labeled MODEL, plus a frame labeled HARNESS with tags for tools, memory, and rules, equals a terminal window labeled AGENT." srcset="https://substackcdn.com/image/fetch/$s_!U-hZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d5c4a1-cf68-4271-a315-dc06201e322f_1314x878.png 424w, https://substackcdn.com/image/fetch/$s_!U-hZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d5c4a1-cf68-4271-a315-dc06201e322f_1314x878.png 848w, https://substackcdn.com/image/fetch/$s_!U-hZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d5c4a1-cf68-4271-a315-dc06201e322f_1314x878.png 1272w, https://substackcdn.com/image/fetch/$s_!U-hZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d5c4a1-cf68-4271-a315-dc06201e322f_1314x878.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A harness is not a framework. A framework is where you write agent logic. A harness is the envelope your agent runs inside: state, permissions, tool access, recovery. Claude Code is a harness. Codex CLI is a harness. The layer you build on top of them is also a harness, yours.</p><p>One more boundary, because the term gets overloaded. Benchmark scaffolds like the ones behind SWE-bench are evaluation harnesses. This post is about runtime harnesses, the kind that do real work every day.</p><h2>The five parts of a working harness</h2><p>Strip any serious harness down and you find the same five parts. Here they are, each with the general pattern first and my public implementation second.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e3e2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6df5c5-1e5a-4d75-8163-81823588e4e1_1320x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e3e2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6df5c5-1e5a-4d75-8163-81823588e4e1_1320x876.png 424w, https://substackcdn.com/image/fetch/$s_!e3e2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6df5c5-1e5a-4d75-8163-81823588e4e1_1320x876.png 848w, https://substackcdn.com/image/fetch/$s_!e3e2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6df5c5-1e5a-4d75-8163-81823588e4e1_1320x876.png 1272w, https://substackcdn.com/image/fetch/$s_!e3e2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6df5c5-1e5a-4d75-8163-81823588e4e1_1320x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e3e2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6df5c5-1e5a-4d75-8163-81823588e4e1_1320x876.png" width="1320" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b6df5c5-1e5a-4d75-8163-81823588e4e1_1320x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1320,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2027271,&quot;alt&quot;:&quot;Sketchnote with a terminal window labeled AGENT in the center, surrounded by a scroll labeled INSTRUCTIONS, a wrench labeled TOOLS, a filing box labeled MEMORY, a circular arrow labeled FEEDBACK LOOPS, and a fence labeled GUARDRAILS.&quot;,&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://theaioperator.io/i/210042396?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6df5c5-1e5a-4d75-8163-81823588e4e1_1320x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote with a terminal window labeled AGENT in the center, surrounded by a scroll labeled INSTRUCTIONS, a wrench labeled TOOLS, a filing box labeled MEMORY, a circular arrow labeled FEEDBACK LOOPS, and a fence labeled GUARDRAILS." title="Sketchnote with a terminal window labeled AGENT in the center, surrounded by a scroll labeled INSTRUCTIONS, a wrench labeled TOOLS, a filing box labeled MEMORY, a circular arrow labeled FEEDBACK LOOPS, and a fence labeled GUARDRAILS." srcset="https://substackcdn.com/image/fetch/$s_!e3e2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6df5c5-1e5a-4d75-8163-81823588e4e1_1320x876.png 424w, https://substackcdn.com/image/fetch/$s_!e3e2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6df5c5-1e5a-4d75-8163-81823588e4e1_1320x876.png 848w, https://substackcdn.com/image/fetch/$s_!e3e2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6df5c5-1e5a-4d75-8163-81823588e4e1_1320x876.png 1272w, https://substackcdn.com/image/fetch/$s_!e3e2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6df5c5-1e5a-4d75-8163-81823588e4e1_1320x876.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 aria-hidden="true" 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><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><strong>1. Instructions.</strong> The standing orders the model loads before any task: conventions, boundaries, definitions of done. In practice this is a CLAUDE.md or AGENTS.md file. Mine is public, and I wrote up <a href="https://theaioperator.io/p/the-claudemd-behind-a-tool-3000-developers">what belongs in a CLAUDE.md</a> after watching 3,000 developers run one.</p><p><strong>2. Tools.</strong> The actions the model can take: scripts, commands, APIs. The pattern that holds up is a small, purposeful surface. A model with 400 tools picks badly. A model with 12 sharp ones picks well.</p><p><strong>3. Memory.</strong> What survives the session. The general pattern: durable state in plain files the agent both reads and writes, not a black-box store. In my system that is an Obsidian vault, and the retrieval side is <a href="https://theaioperator.io/p/how-i-gave-claude-code-memory-without">a recall budget, not a database</a>: four notes per prompt, abstain when unsure, fail closed.</p><p><strong>4. Feedback loops.</strong> Deterministic checks the model must pass before its output counts: linters, tests, structure gates. The model drafts, the gate rejects, the model fixes. This is where output quality actually comes from.</p><p><strong>5. Guardrails.</strong> What the agent may never do without a human. Permission prompts, content firewalls, hard rules like &#8220;never publish, only draft.&#8221;</p><p>None of these parts is glamorous. Together they are the difference between a demo and a system.</p><h2>What harness engineering looks like in practice</h2><p>Harness engineering is the discipline of building and tuning that envelope. The core principle, now showing up in research papers: code owns the control flow, the model gets called at the reasoning steps.</p><p>The post you are reading came out of a harness. A research script pulled live sources and keyword volumes. A voice linter rejected every AI-tell phrase. A structure script checked the title length, the word count, and every section against a locked checklist before the draft counted as done.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9DRf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86b9e6-43cb-46b2-820f-1743ae3d1935_1308x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9DRf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86b9e6-43cb-46b2-820f-1743ae3d1935_1308x876.png 424w, https://substackcdn.com/image/fetch/$s_!9DRf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86b9e6-43cb-46b2-820f-1743ae3d1935_1308x876.png 848w, https://substackcdn.com/image/fetch/$s_!9DRf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86b9e6-43cb-46b2-820f-1743ae3d1935_1308x876.png 1272w, https://substackcdn.com/image/fetch/$s_!9DRf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86b9e6-43cb-46b2-820f-1743ae3d1935_1308x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9DRf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86b9e6-43cb-46b2-820f-1743ae3d1935_1308x876.png" width="1308" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd86b9e6-43cb-46b2-820f-1743ae3d1935_1308x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1308,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2058241,&quot;alt&quot;:&quot;Sketchnote of a flow: a page labeled DRAFT moves through an arrow labeled check to a rubber stamp labeled GATE. A rejected page with a red X loops back with an arrow labeled fix. A passed page with a check mark exits right under an arrow labeled ships.&quot;,&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://theaioperator.io/i/210042396?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86b9e6-43cb-46b2-820f-1743ae3d1935_1308x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote of a flow: a page labeled DRAFT moves through an arrow labeled check to a rubber stamp labeled GATE. A rejected page with a red X loops back with an arrow labeled fix. A passed page with a check mark exits right under an arrow labeled ships." title="Sketchnote of a flow: a page labeled DRAFT moves through an arrow labeled check to a rubber stamp labeled GATE. A rejected page with a red X loops back with an arrow labeled fix. A passed page with a check mark exits right under an arrow labeled ships." srcset="https://substackcdn.com/image/fetch/$s_!9DRf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86b9e6-43cb-46b2-820f-1743ae3d1935_1308x876.png 424w, https://substackcdn.com/image/fetch/$s_!9DRf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86b9e6-43cb-46b2-820f-1743ae3d1935_1308x876.png 848w, https://substackcdn.com/image/fetch/$s_!9DRf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86b9e6-43cb-46b2-820f-1743ae3d1935_1308x876.png 1272w, https://substackcdn.com/image/fetch/$s_!9DRf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86b9e6-43cb-46b2-820f-1743ae3d1935_1308x876.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 aria-hidden="true" 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><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>Notice what the model did in that pipeline: it wrote prose. Everything else was code, written once, enforced every run. When the output misses, I do not tweak a prompt and hope. I tighten a gate, and the fix holds forever.</p><p>The same principle runs my vault. Search respects supersedes chains, so an agent asking for the current decision never retrieves a confidently stale one. Scheduled agents reconcile contradictions overnight. Six months of running it taught me <a href="https://theaioperator.io/p/karpathys-llm-wiki-v2-what-to-keep">what to keep and what to skip</a> from the patterns everyone quotes.</p><p>That is harness engineering: fewer heroic prompts, more boring gates that compound.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><h2>But the model is all that matters, right</h2><p>The strongest counter-argument deserves a fair hearing: models improve so fast that harness work is a wrapper, obsolete by the next release.</p><p>Three things break that argument in practice.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9Pbr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9331999f-0ab1-4da2-91b3-87a91704e1cb_1314x870.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9Pbr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9331999f-0ab1-4da2-91b3-87a91704e1cb_1314x870.png 424w, https://substackcdn.com/image/fetch/$s_!9Pbr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9331999f-0ab1-4da2-91b3-87a91704e1cb_1314x870.png 848w, https://substackcdn.com/image/fetch/$s_!9Pbr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9331999f-0ab1-4da2-91b3-87a91704e1cb_1314x870.png 1272w, https://substackcdn.com/image/fetch/$s_!9Pbr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9331999f-0ab1-4da2-91b3-87a91704e1cb_1314x870.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9Pbr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9331999f-0ab1-4da2-91b3-87a91704e1cb_1314x870.png" width="1314" height="870" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9331999f-0ab1-4da2-91b3-87a91704e1cb_1314x870.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:870,&quot;width&quot;:1314,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2034734,&quot;alt&quot;:&quot;Sketchnote comparing two identical chips labeled MODEL. The left sits in a thin cracked frame labeled BARE above a falling result-quality chart labeled demo. The right sits in a solid frame labeled HARNESS with tags for memory and gates, above a rising chart labeled system.&quot;,&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://theaioperator.io/i/210042396?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9331999f-0ab1-4da2-91b3-87a91704e1cb_1314x870.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote comparing two identical chips labeled MODEL. The left sits in a thin cracked frame labeled BARE above a falling result-quality chart labeled demo. The right sits in a solid frame labeled HARNESS with tags for memory and gates, above a rising chart labeled system." title="Sketchnote comparing two identical chips labeled MODEL. The left sits in a thin cracked frame labeled BARE above a falling result-quality chart labeled demo. The right sits in a solid frame labeled HARNESS with tags for memory and gates, above a rising chart labeled system." srcset="https://substackcdn.com/image/fetch/$s_!9Pbr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9331999f-0ab1-4da2-91b3-87a91704e1cb_1314x870.png 424w, https://substackcdn.com/image/fetch/$s_!9Pbr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9331999f-0ab1-4da2-91b3-87a91704e1cb_1314x870.png 848w, https://substackcdn.com/image/fetch/$s_!9Pbr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9331999f-0ab1-4da2-91b3-87a91704e1cb_1314x870.png 1272w, https://substackcdn.com/image/fetch/$s_!9Pbr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9331999f-0ab1-4da2-91b3-87a91704e1cb_1314x870.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 aria-hidden="true" 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><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>First, the benchmark evidence points the other way. The same model scores differently depending on the scaffold around it. If harnesses were neutral wrappers, that variance would not exist.</p><p>Second, model upgrades raise the ceiling. The harness decides how much of the ceiling you reach. A stronger model in a harness with no memory and no gates just produces confident mistakes faster.</p><p>Third, and this is the part the wrapper argument misses completely: the harness is where your context lives. Your conventions, your history, your definitions of done. No lab will ever ship that, because it is yours.</p><p>To be fair to the other side: a weak model in a great harness is still a weak agent. The harness multiplies the model, it does not replace it. But you rent the model. The harness you own.</p><h2>How to start building yours</h2><p>You do not need a platform or a framework migration. You need five unglamorous moves, in this order.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SIlh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F259b71d9-76ba-4475-86bc-c68dc4fa20bc_1308x884.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SIlh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F259b71d9-76ba-4475-86bc-c68dc4fa20bc_1308x884.png 424w, https://substackcdn.com/image/fetch/$s_!SIlh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F259b71d9-76ba-4475-86bc-c68dc4fa20bc_1308x884.png 848w, https://substackcdn.com/image/fetch/$s_!SIlh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F259b71d9-76ba-4475-86bc-c68dc4fa20bc_1308x884.png 1272w, https://substackcdn.com/image/fetch/$s_!SIlh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F259b71d9-76ba-4475-86bc-c68dc4fa20bc_1308x884.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SIlh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F259b71d9-76ba-4475-86bc-c68dc4fa20bc_1308x884.png" width="1308" height="884" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/259b71d9-76ba-4475-86bc-c68dc4fa20bc_1308x884.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:884,&quot;width&quot;:1308,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2031646,&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://theaioperator.io/i/210042396?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F259b71d9-76ba-4475-86bc-c68dc4fa20bc_1308x884.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_!SIlh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F259b71d9-76ba-4475-86bc-c68dc4fa20bc_1308x884.png 424w, https://substackcdn.com/image/fetch/$s_!SIlh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F259b71d9-76ba-4475-86bc-c68dc4fa20bc_1308x884.png 848w, https://substackcdn.com/image/fetch/$s_!SIlh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F259b71d9-76ba-4475-86bc-c68dc4fa20bc_1308x884.png 1272w, https://substackcdn.com/image/fetch/$s_!SIlh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F259b71d9-76ba-4475-86bc-c68dc4fa20bc_1308x884.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 aria-hidden="true" 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><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><ol><li><p>Write the instructions file. One page: conventions, boundaries, what done means. This alone changes agent behavior more than any prompt trick.</p></li><li><p>Give it memory in plain files. A folder of markdown the agent reads and writes beats a vector store you cannot inspect.</p></li><li><p>Add one deterministic gate. A linter, a test suite, a checklist script. Make the agent pass it before output counts.</p></li><li><p>Set the guardrails. List what the agent must never do unattended, and enforce it in code or permissions, not in hopes.</p></li><li><p>Only then automate loops. Scheduled runs, background agents, self-checks. Loops amplify whatever exists, including the flaws.</p></li></ol><p>And the boundary, so this stays honest: do not build a harness for a task you run twice. A good prompt in a bare CLI is the right tool for one-off work. The harness pays off on the tasks you repeat every week, because every gate you add keeps paying.</p><p>The model in my harness will be replaced many times. The harness is the part that compounds.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Frequently asked questions</h2><p><strong>What is an agent harness?</strong><br>The execution layer around a language model that turns it into an agent: instructions, tools, memory, feedback loops, and guardrails. The model reasons; the harness decides what it sees, what it can do, and what persists.</p><p><strong>What is the difference between an agent harness and an agent framework?</strong><br>A framework is where you write agent logic, like LangGraph or the OpenAI Agents SDK. A harness is the runtime envelope the agent operates inside: state, permissions, tool access, recovery. You often use both, and the harness is the layer that touches production.</p><p><strong>Is Claude Code an agent harness?</strong><br>Yes. Anthropic&#8217;s own documentation describes Claude Code as an agentic harness: the tools, context management, and execution environment that turn the model into a coding agent. Codex CLI and similar tools sit in the same category.</p><p><strong>What is harness engineering?</strong><br>The discipline of designing that envelope: choosing tools, structuring context and memory, writing deterministic gates, and setting stop conditions. Code owns the control flow; the model is called at the reasoning steps.</p><p><strong>Do I need to build my own agent harness?</strong><br>If you use an agentic CLI, you already have one, and every CLAUDE.md rule or hook you add is you engineering it. Building your own layer on top pays off once you repeat the same class of work weekly and need memory and gates the stock harness does not ship.</p><p><strong>What is the difference between a runtime harness and an evaluation harness?</strong><br>A runtime harness runs real work every day, like Claude Code or the system in this post. An evaluation harness, like a benchmark scaffold, exists to measure a model on a fixed task set. Same anatomy, different purpose.</p><h2>Key takeaways</h2><ul><li><p>An agent is a model plus a harness. The model reasons; the harness supplies instructions, tools, memory, feedback loops, and guardrails.</p></li><li><p>A framework is where you write agent logic. A harness is the envelope the agent runs inside. Claude Code itself is a harness, and you can build yours on top.</p></li><li><p>Feedback loops are where quality comes from: deterministic gates the model must pass, written once, enforced on every run.</p></li><li><p>The &#8220;just a wrapper&#8221; argument fails because the same model performs differently in different harnesses, and because your context lives in the harness, not the model.</p></li><li><p>Build order matters: instructions file, plain-file memory, one gate, guardrails, and only then automated loops.</p></li><li><p>You rent the model. You own the harness. Only one of them compounds.</p></li></ul><h2>Further reading</h2><ul><li><p><a href="https://www.philschmid.de/agent-harness-2026">The importance of agent harness in 2026</a> - a clear practitioner&#8217;s take on why the harness layer decides agent performance.</p></li><li><p><a href="https://arxiv.org/abs/2606.10106">What makes a harness a harness</a> - the research paper pinning down necessary and sufficient conditions for an agent harness.</p></li><li><p>Harness engineering, on the OpenAI blog - OpenAI&#8217;s post on the discipline from the lab side. (URL to verify: openai.com/index/harness-engineering/)</p></li><li><p><a href="https://theaioperator.io/p/how-i-gave-claude-code-memory-without">How I gave Claude Code memory without a vector DB</a> - the memory part of my harness, in full detail.</p></li><li><p><a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain on GitHub</a> - the open-source harness this post dissects, MIT-licensed.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><h2>About the author</h2><p>Eugeniu Ghelbur writes The AI Operator, a publication about practical AI systems. He maintains <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Obsidian Second Brain</a>, an open-source system starred by over 4,000 developers on GitHub. The writing here comes from building and maintaining that public system.</p>]]></content:encoded></item><item><title><![CDATA[How to Do Graph Engineering in a Markdown Vault]]></title><description><![CDATA[Your linked vault is already 80% of a graph index. The missing 20% is typed edges, supersedes chains, a lint, and a recall budget. Here is how to build each one.]]></description><link>https://theaioperator.io/p/how-to-do-graph-engineering-in-a</link><guid isPermaLink="false">https://theaioperator.io/p/how-to-do-graph-engineering-in-a</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Fri, 31 Jul 2026 22:35:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!URbo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.png" 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_!URbo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!URbo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.png 424w, https://substackcdn.com/image/fetch/$s_!URbo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.png 848w, https://substackcdn.com/image/fetch/$s_!URbo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.png 1272w, https://substackcdn.com/image/fetch/$s_!URbo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!URbo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.png" width="1320" height="880" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:880,&quot;width&quot;:1320,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2020207,&quot;alt&quot;:&quot;Hand-drawn sketchnote title card reading How to Do Graph Engineering, five note cards connected by arrows labeled supersedes, depends on, and caused by.&quot;,&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://theaioperator.io/i/209317045?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hand-drawn sketchnote title card reading How to Do Graph Engineering, five note cards connected by arrows labeled supersedes, depends on, and caused by." title="Hand-drawn sketchnote title card reading How to Do Graph Engineering, five note cards connected by arrows labeled supersedes, depends on, and caused by." srcset="https://substackcdn.com/image/fetch/$s_!URbo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.png 424w, https://substackcdn.com/image/fetch/$s_!URbo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.png 848w, https://substackcdn.com/image/fetch/$s_!URbo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.png 1272w, https://substackcdn.com/image/fetch/$s_!URbo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74083a73-1990-4f59-8e99-bcfdc234c320_1320x880.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 aria-hidden="true" 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><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><strong>TL;DR</strong></p><ul><li><p>Graph engineering is making the relationships between your notes explicit enough that an AI agent can traverse them, not just read them.</p></li><li><p>Plain wikilinks say two notes are related. They never say how. Typed edges, supersedes chains, a graph lint, and a bounded recall budget close that gap.</p></li><li><p>Every step below is a general method first. My open-source vault system is the worked example, running in public.</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_!jDgi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbc1d542-07fe-4fc3-bfa3-e18d5cf776b9_1320x878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jDgi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbc1d542-07fe-4fc3-bfa3-e18d5cf776b9_1320x878.png 424w, https://substackcdn.com/image/fetch/$s_!jDgi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbc1d542-07fe-4fc3-bfa3-e18d5cf776b9_1320x878.png 848w, https://substackcdn.com/image/fetch/$s_!jDgi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbc1d542-07fe-4fc3-bfa3-e18d5cf776b9_1320x878.png 1272w, https://substackcdn.com/image/fetch/$s_!jDgi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbc1d542-07fe-4fc3-bfa3-e18d5cf776b9_1320x878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jDgi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbc1d542-07fe-4fc3-bfa3-e18d5cf776b9_1320x878.png" width="1320" height="878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cbc1d542-07fe-4fc3-bfa3-e18d5cf776b9_1320x878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:1320,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2093202,&quot;alt&quot;:&quot;Sketchnote titled The Missing 20%. A stack of linked note cards labeled your vault under 80%, beside a checklist labeled 20% with typed edges, supersedes, lint, and recall budget.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://theaioperator.io/i/209317045?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbc1d542-07fe-4fc3-bfa3-e18d5cf776b9_1320x878.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote titled The Missing 20%. A stack of linked note cards labeled your vault under 80%, beside a checklist labeled 20% with typed edges, supersedes, lint, and recall budget." title="Sketchnote titled The Missing 20%. A stack of linked note cards labeled your vault under 80%, beside a checklist labeled 20% with typed edges, supersedes, lint, and recall budget." srcset="https://substackcdn.com/image/fetch/$s_!jDgi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbc1d542-07fe-4fc3-bfa3-e18d5cf776b9_1320x878.png 424w, https://substackcdn.com/image/fetch/$s_!jDgi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbc1d542-07fe-4fc3-bfa3-e18d5cf776b9_1320x878.png 848w, https://substackcdn.com/image/fetch/$s_!jDgi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbc1d542-07fe-4fc3-bfa3-e18d5cf776b9_1320x878.png 1272w, https://substackcdn.com/image/fetch/$s_!jDgi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbc1d542-07fe-4fc3-bfa3-e18d5cf776b9_1320x878.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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>In <a href="https://theaioperator.io/p/what-is-graph-engineering-a-field">the graph engineering field guide</a> I defined the term: structuring knowledge as nodes and explicit relationships so agents can answer chain questions. Who decided this. What replaced it. What broke because of it.</p><p>That post ended with a claim: a vault of linked markdown is already 80% of a graph index. This post is the missing 20%, as a build sequence you can copy.</p><p>One boundary first. &#8220;Graph engineering&#8221; also gets used for wiring multi-agent workflows, nodes as agents, edges as routing. That is a different discipline with its own tooling, and this post is not about it. This is about your knowledge.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Step 1: choose a small edge taxonomy</h2><p>The principle: name the relationship types you will actually need to traverse, and keep the list small. Every type needs an inverse, or your graph only reads one direction.</p><p>Ask one question per candidate type: will an agent ever need to follow this to answer a real question? If not, it does not earn a place.</p><p>In my vault system, <a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain</a>, the answer settled at six types: supersedes, depends_on, caused, decided_by, contradicts, and a generic relates_to. Each carries an inverse (superseded_by, required_by, caused_by, decides). Six survived because agents kept needing them. A dozen others did not.</p><p>To pick your own set, work backwards from questions, not from ontology. Write down the five questions you actually ask your notes (&#8221;what is the current decision on X&#8221;, &#8220;what breaks if we change Y&#8221;), then keep only the edge types those questions traverse. A type you cannot attach a real question to is decoration.</p><p>And resist the generic type. Everything can be relates_to, which is exactly why it carries almost no signal. Use it only when nothing sharper is true.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W5MQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4fb15a4-cb2f-4c9f-ba84-797906d38aec_1322x880.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W5MQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4fb15a4-cb2f-4c9f-ba84-797906d38aec_1322x880.png 424w, https://substackcdn.com/image/fetch/$s_!W5MQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4fb15a4-cb2f-4c9f-ba84-797906d38aec_1322x880.png 848w, https://substackcdn.com/image/fetch/$s_!W5MQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4fb15a4-cb2f-4c9f-ba84-797906d38aec_1322x880.png 1272w, https://substackcdn.com/image/fetch/$s_!W5MQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4fb15a4-cb2f-4c9f-ba84-797906d38aec_1322x880.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W5MQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4fb15a4-cb2f-4c9f-ba84-797906d38aec_1322x880.png" width="1322" height="880" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4fb15a4-cb2f-4c9f-ba84-797906d38aec_1322x880.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:880,&quot;width&quot;:1322,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2074570,&quot;alt&quot;:&quot;Sketchnote titled A link says related, an edge says how. Two notes joined by a plain line labeled related, above the same notes joined by two directional arrows labeled supersedes and superseded by.&quot;,&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://theaioperator.io/i/209317045?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4fb15a4-cb2f-4c9f-ba84-797906d38aec_1322x880.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote titled A link says related, an edge says how. Two notes joined by a plain line labeled related, above the same notes joined by two directional arrows labeled supersedes and superseded by." title="Sketchnote titled A link says related, an edge says how. Two notes joined by a plain line labeled related, above the same notes joined by two directional arrows labeled supersedes and superseded by." srcset="https://substackcdn.com/image/fetch/$s_!W5MQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4fb15a4-cb2f-4c9f-ba84-797906d38aec_1322x880.png 424w, https://substackcdn.com/image/fetch/$s_!W5MQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4fb15a4-cb2f-4c9f-ba84-797906d38aec_1322x880.png 848w, https://substackcdn.com/image/fetch/$s_!W5MQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4fb15a4-cb2f-4c9f-ba84-797906d38aec_1322x880.png 1272w, https://substackcdn.com/image/fetch/$s_!W5MQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4fb15a4-cb2f-4c9f-ba84-797906d38aec_1322x880.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 aria-hidden="true" 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><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>Step 2: put edges where machines read them</h2><p>The principle: a relationship buried in prose is invisible to traversal. Edges live in structured metadata, stated once, in a place a parser reaches without reading the whole note.</p><p>In markdown that place is frontmatter. This is the entire syntax in my system:</p><pre><code><code>relations:
  supersedes: ["[[ADR-006 - Use Redis]]"]
  depends_on: ["[[Tide Gateway]]"]
  caused_by: ["[[Redis outage 2026-03]]"]
</code></code></pre><p>Nothing here needs a graph database. The nodes are files. The edges are three lines of YAML. Any tool that parses frontmatter can now walk decision chains in either direction.</p><p>Two traps to skip. First, relationships stated only in prose (&#8221;this replaces our earlier Redis decision&#8221;) feel recorded but are unreachable: an agent would have to read and correctly interpret every sentence in the vault to find them. Second, tags are not edges. A tag groups notes; it has no direction, no target, and no meaning an agent can follow.</p><p>You also do not need to retrofit the whole vault on day one. Start writing edges on new notes and on any old note you touch. The graph grows along the paths you actually use, which is also the order in which it pays off.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><h2>Step 3: make truth supersede, not accumulate</h2><p>The principle: in a knowledge graph that lives for months, the dangerous notes are not the wrong ones. They are the formerly right ones. Without an explicit &#8220;this replaces that&#8221; edge, an agent retrieves the old truth with the same confidence as the new.</p><p>So every decision that reverses an earlier one carries a supersedes edge, and retrieval must respect it: the superseded note steps back in search results instead of competing with its replacement.</p><p>This is the single highest-value edge type. In my vault, search honors supersedes chains and fades notes marked declined or archived, so an agent asking &#8220;what is our current approach&#8221; gets the current approach.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vEx2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6fb333-ad43-497a-bc3e-81c4a118c196_1322x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vEx2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6fb333-ad43-497a-bc3e-81c4a118c196_1322x876.png 424w, https://substackcdn.com/image/fetch/$s_!vEx2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6fb333-ad43-497a-bc3e-81c4a118c196_1322x876.png 848w, https://substackcdn.com/image/fetch/$s_!vEx2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6fb333-ad43-497a-bc3e-81c4a118c196_1322x876.png 1272w, https://substackcdn.com/image/fetch/$s_!vEx2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6fb333-ad43-497a-bc3e-81c4a118c196_1322x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vEx2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6fb333-ad43-497a-bc3e-81c4a118c196_1322x876.png" width="1322" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d6fb333-ad43-497a-bc3e-81c4a118c196_1322x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1322,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2008275,&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://theaioperator.io/i/209317045?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6fb333-ad43-497a-bc3e-81c4a118c196_1322x876.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_!vEx2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6fb333-ad43-497a-bc3e-81c4a118c196_1322x876.png 424w, https://substackcdn.com/image/fetch/$s_!vEx2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6fb333-ad43-497a-bc3e-81c4a118c196_1322x876.png 848w, https://substackcdn.com/image/fetch/$s_!vEx2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6fb333-ad43-497a-bc3e-81c4a118c196_1322x876.png 1272w, https://substackcdn.com/image/fetch/$s_!vEx2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6fb333-ad43-497a-bc3e-81c4a118c196_1322x876.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 aria-hidden="true" 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><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>Step 4: lint the graph like code</h2><p>The principle: a graph nobody validates rots quietly. Edges point at renamed notes. Cycles appear. Inverses go missing. None of it is visible while you write, all of it corrupts traversal later.</p><p>So the graph gets a linter, run the way you run tests. Mine flags five failure classes: unknown edge types, dangling targets, self-edges, supersedes cycles (A replaces B replaces A), and missing inverse edges. It runs inside the vault health check, and a typed edge pointing at a note that does not exist is an error, not a suggestion.</p><p>If you build only one piece of tooling from this post, build the lint. It is the difference between a graph and a pile of arrows.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VXFU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc1d28-cc2e-4306-9774-a6b29b058a01_1320x882.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VXFU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc1d28-cc2e-4306-9774-a6b29b058a01_1320x882.png 424w, https://substackcdn.com/image/fetch/$s_!VXFU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc1d28-cc2e-4306-9774-a6b29b058a01_1320x882.png 848w, https://substackcdn.com/image/fetch/$s_!VXFU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc1d28-cc2e-4306-9774-a6b29b058a01_1320x882.png 1272w, https://substackcdn.com/image/fetch/$s_!VXFU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc1d28-cc2e-4306-9774-a6b29b058a01_1320x882.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VXFU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc1d28-cc2e-4306-9774-a6b29b058a01_1320x882.png" width="1320" height="882" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14fc1d28-cc2e-4306-9774-a6b29b058a01_1320x882.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:882,&quot;width&quot;:1320,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2039675,&quot;alt&quot;:&quot;Sketchnote titled Lint the graph like code. A magnifying glass over three flagged failures: an arrow to a missing note labeled dangling, a note pointing at itself labeled self-edge, and two notes pointing at each other labeled cycle.&quot;,&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://theaioperator.io/i/209317045?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc1d28-cc2e-4306-9774-a6b29b058a01_1320x882.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote titled Lint the graph like code. A magnifying glass over three flagged failures: an arrow to a missing note labeled dangling, a note pointing at itself labeled self-edge, and two notes pointing at each other labeled cycle." title="Sketchnote titled Lint the graph like code. A magnifying glass over three flagged failures: an arrow to a missing note labeled dangling, a note pointing at itself labeled self-edge, and two notes pointing at each other labeled cycle." srcset="https://substackcdn.com/image/fetch/$s_!VXFU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc1d28-cc2e-4306-9774-a6b29b058a01_1320x882.png 424w, https://substackcdn.com/image/fetch/$s_!VXFU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc1d28-cc2e-4306-9774-a6b29b058a01_1320x882.png 848w, https://substackcdn.com/image/fetch/$s_!VXFU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc1d28-cc2e-4306-9774-a6b29b058a01_1320x882.png 1272w, https://substackcdn.com/image/fetch/$s_!VXFU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc1d28-cc2e-4306-9774-a6b29b058a01_1320x882.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 aria-hidden="true" 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><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>Step 5: give agents a traversal budget</h2><p>The principle: an agent with unlimited graph access does not get smarter, it drowns. Traversal needs a budget: how many nodes per question, what confidence justifies including one, and what happens on a miss.</p><p>My numbers: at most 4 notes injected per prompt, abstain when relevance is unsure, fail closed when retrieval errors. I wrote up the reasoning in <a href="https://theaioperator.io/p/how-i-gave-claude-code-memory-without">how I gave Claude Code memory without a vector DB</a>: memory as a recall budget, not a database. The graph makes the budget spend better, because a typed edge is a reason to include a note, not just a similarity score.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SmCz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe247102d-a505-48f4-ae8a-857cfb2489cf_1322x878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SmCz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe247102d-a505-48f4-ae8a-857cfb2489cf_1322x878.png 424w, https://substackcdn.com/image/fetch/$s_!SmCz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe247102d-a505-48f4-ae8a-857cfb2489cf_1322x878.png 848w, https://substackcdn.com/image/fetch/$s_!SmCz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe247102d-a505-48f4-ae8a-857cfb2489cf_1322x878.png 1272w, https://substackcdn.com/image/fetch/$s_!SmCz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe247102d-a505-48f4-ae8a-857cfb2489cf_1322x878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SmCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe247102d-a505-48f4-ae8a-857cfb2489cf_1322x878.png" width="1322" height="878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e247102d-a505-48f4-ae8a-857cfb2489cf_1322x878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:1322,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2092540,&quot;alt&quot;:&quot;Sketchnote titled A recall budget, not a dump. A network of notes labeled the graph feeds a turnstile marked 4 max, four notes pass through to a terminal window labeled agent, and one note bounces away labeled abstain.&quot;,&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://theaioperator.io/i/209317045?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe247102d-a505-48f4-ae8a-857cfb2489cf_1322x878.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote titled A recall budget, not a dump. A network of notes labeled the graph feeds a turnstile marked 4 max, four notes pass through to a terminal window labeled agent, and one note bounces away labeled abstain." title="Sketchnote titled A recall budget, not a dump. A network of notes labeled the graph feeds a turnstile marked 4 max, four notes pass through to a terminal window labeled agent, and one note bounces away labeled abstain." srcset="https://substackcdn.com/image/fetch/$s_!SmCz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe247102d-a505-48f4-ae8a-857cfb2489cf_1322x878.png 424w, https://substackcdn.com/image/fetch/$s_!SmCz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe247102d-a505-48f4-ae8a-857cfb2489cf_1322x878.png 848w, https://substackcdn.com/image/fetch/$s_!SmCz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe247102d-a505-48f4-ae8a-857cfb2489cf_1322x878.png 1272w, https://substackcdn.com/image/fetch/$s_!SmCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe247102d-a505-48f4-ae8a-857cfb2489cf_1322x878.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 aria-hidden="true" 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><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>When a loop beats a graph</h2><p>The strongest advice in the practitioner literature is also the least exciting: keep it a loop first. A vault with thirty notes does not need an edge taxonomy. A workflow that reads three files does not need traversal.</p><p>Graph engineering earns its cost when chain questions start failing. Three concrete signals, in the order they usually appear:</p><ol><li><p>&#8220;What is the current approach&#8221; returns a superseded answer with full confidence.</p></li><li><p>&#8220;Why does this exist&#8221; needs more than one hop, and the agent stops at hop one.</p></li><li><p>Two notes contradict each other and nothing in the system knows they are even related.</p></li></ol><p>I hit that wall around month four of running an AI-maintained vault, documented in <a href="https://theaioperator.io/p/karpathys-llm-wiki-v2-what-to-keep">Karpathy&#8217;s LLM Wiki v2: what to keep</a>. Until you hit it, plain links are fine.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What is still missing</h2><p>Honesty section. Two pieces of my own 20% are not finished. Multi-hop traversal queries (follow depends_on two levels out) work only as manual link-following, not as one retrieval call. And I have not yet published measured recall numbers for graph-aware retrieval against flat search on the same vault. The eval harness exists in the repo; the benchmark post is future work, and I would rather ship the method now and the numbers when they are real.</p><p>That is the practice: four buildable pieces, one boundary, one budget. The graph is not the product. The answers are.</p><h2>Frequently asked questions</h2><p><strong>What is graph engineering?</strong><br>Structuring knowledge as nodes and explicit typed relationships so AI agents can traverse chains (what replaced X, what depends on Y) instead of only matching similar text. The full definition is in the field guide linked above.</p><p><strong>Do I need a graph database like Neo4j to do graph engineering?</strong><br>No. Markdown files as nodes and frontmatter YAML as edges give you a working graph index. A dedicated graph database matters at a scale most personal and team vaults never reach.</p><p><strong>What are typed edges in a knowledge graph?</strong><br>Relationships with a named meaning and direction, like supersedes or depends_on, instead of a bare link. The type is what lets an agent follow the right edge for the question it was asked.</p><p><strong>How is this different from GraphRAG?</strong><br>GraphRAG extracts entity graphs from documents automatically at retrieval time. Graph engineering as practiced here writes the edges at authoring time, where the author still knows the relationship. The trade is a little discipline for much higher edge precision.</p><p><strong>How do AI agents actually use a markdown knowledge graph?</strong><br>Through retrieval that respects the edges: superseded notes step back, dependency chains resolve in order, and a bounded number of the most relevant notes gets injected into the agent&#8217;s context.</p><p><strong>When should I not build a knowledge graph?</strong><br>When chain questions are not failing yet. Small vaults and short-lived projects do better with plain links and a search tool. Add edges when the wrong-old-answer problem shows up.</p><h2>Key takeaways</h2><ul><li><p>A linked markdown vault is 80% of a graph index. The missing 20% is typed edges, supersedes chains, a graph lint, and a recall budget.</p></li><li><p>A plain wikilink says two notes are related. A typed edge says how, and direction plus inverse is what makes traversal possible.</p></li><li><p>The supersedes edge is the highest-value relationship type: it is the difference between retrieving current truth and retrieving confident stale truth.</p></li><li><p>Lint the graph like code. Dangling targets, cycles, and missing inverses corrupt traversal silently until a validator makes them errors.</p></li><li><p>Agents need a traversal budget, not unlimited graph access. Four notes per prompt with abstention beats a context window full of maybes.</p></li><li><p>Do not graph-engineer three notes. Add the machinery when chain questions start returning stale answers.</p></li></ul><h2>Further reading</h2><ul><li><p><a href="https://theaioperator.io/p/what-is-graph-engineering-a-field">What is graph engineering? A field guide for builders</a> - part 1: the definition, the evidence, and the viral fake study that started the discourse.</p></li><li><p><a href="https://www.drjoshcsimmons.com/writing/we-are-entering-the-graph-engineering-phase">We are entering the graph engineering phase</a> - the post that put the term in circulation.</p></li><li><p><a href="https://arxiv.org/abs/2501.13956">GraphRAG and multi-hop question answering</a> - research grounding for where graphs beat vector retrieval.</p></li><li><p><a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain on GitHub</a> - the open-source implementation every step above ships in, MIT-licensed.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><h2>About the author</h2><p>Eugeniu Ghelbur writes The AI Operator, a publication about practical AI systems. He maintains <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Obsidian Second Brain</a>, an open-source system starred by over 3,700 developers on GitHub. The writing here comes from building and maintaining that public system.</p>]]></content:encoded></item><item><title><![CDATA[Every Test Passed. So I Started Reverting the Fixes.]]></title><description><![CDATA[I audited my own 3,600-star project and found 138 problems. The interesting ones were not the bugs. They were my own fixes that only looked fixed.]]></description><link>https://theaioperator.io/p/every-test-passed-so-i-started-reverting</link><guid isPermaLink="false">https://theaioperator.io/p/every-test-passed-so-i-started-reverting</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Tue, 28 Jul 2026 17:03:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KzlD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>TL;DR</strong></p><ul><li><p>After writing a test for a fix, I started deleting the fix and running the test again. If it still passes, the test is decoration. Five of mine were, in one sitting.</p></li><li><p>The same habit caught a benchmark scoring 83% because every question was written inside its own answer, and a feature I had gated so carefully it would have run for nobody.</p></li><li><p>The genuinely damaging bug was the one no benchmark caught: 29% of my notes had silently fallen out of the search index, and the score never moved.</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_!KzlD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KzlD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.png 424w, https://substackcdn.com/image/fetch/$s_!KzlD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.png 848w, https://substackcdn.com/image/fetch/$s_!KzlD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.png 1272w, https://substackcdn.com/image/fetch/$s_!KzlD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KzlD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.png" width="1316" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1316,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2246796,&quot;alt&quot;:&quot;Sketchnote title card lettered PASSED WITHOUT THE FIX. Two test result cards side by side, both marked PASS, the right one with a square torn out of its middle and the torn patch lying beside it. A rust arrow between them reads deleted the fix.&quot;,&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://theaioperator.io/i/208658667?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote title card lettered PASSED WITHOUT THE FIX. Two test result cards side by side, both marked PASS, the right one with a square torn out of its middle and the torn patch lying beside it. A rust arrow between them reads deleted the fix." title="Sketchnote title card lettered PASSED WITHOUT THE FIX. Two test result cards side by side, both marked PASS, the right one with a square torn out of its middle and the torn patch lying beside it. A rust arrow between them reads deleted the fix." srcset="https://substackcdn.com/image/fetch/$s_!KzlD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.png 424w, https://substackcdn.com/image/fetch/$s_!KzlD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.png 848w, https://substackcdn.com/image/fetch/$s_!KzlD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.png 1272w, https://substackcdn.com/image/fetch/$s_!KzlD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7850abbb-4e93-4dd0-9574-a28e2bfe0fc1_1316x876.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 aria-hidden="true" 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><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 maintain <a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain</a>, an open-source tool with about 3,600 stars. It is the same project <a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">1,374 strangers cloned</a> before I had written a single test for it. I recently ran a full audit. Security, correctness, dead code, retrieval quality, all of it. 138 findings. I have closed 135.</p><p>The bugs themselves are ordinary. The interesting part is a habit I picked up partway through, which is that after writing a test for a fix, I revert the fix and run the test again.</p><p>It caught more than I expected. None of what follows shipped. All of it would have, with a green suite and a clear conscience, if I had trusted the green.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Reverting the fix</h2><p>The rule is one line: if a test passes with its fix removed, the test is decoration.</p><p>I expected the occasional slip. I got five in the first session, in three distinct shapes.</p><p><strong>The test asserted the wrong property.</strong> I had made a file write atomic. Write to a temp file, then <code>os.replace</code>. My test checked that the resulting file kept its original permission bits. It passed with the fix reverted, because a plain <code>write_text</code> preserves mode bits too. Real test, real assertion, nothing to do with atomicity.</p><p><strong>The fixture never reached the code path.</strong> I fixed a freshness check meant to fire on notes with no &#8220;as of&#8221; date. My fixture note had an &#8220;as of&#8221; date in it. The check never ran. Green.</p><p><strong>The code did not do what it reads like.</strong> <code>path.lstrip("./")</code> does not strip a leading <code>./</code>. It strips any leading run of <code>.</code> and <code>/</code> characters in any order. My test used a path where the two happened to agree.</p><p>None of these survive a revert. None of them would have been caught by review either, because all three diffs look 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_!B7LD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2590a68-9fa2-403b-972a-174fca45709d_1314x878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B7LD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2590a68-9fa2-403b-972a-174fca45709d_1314x878.png 424w, https://substackcdn.com/image/fetch/$s_!B7LD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2590a68-9fa2-403b-972a-174fca45709d_1314x878.png 848w, https://substackcdn.com/image/fetch/$s_!B7LD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2590a68-9fa2-403b-972a-174fca45709d_1314x878.png 1272w, https://substackcdn.com/image/fetch/$s_!B7LD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2590a68-9fa2-403b-972a-174fca45709d_1314x878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B7LD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2590a68-9fa2-403b-972a-174fca45709d_1314x878.png" width="1314" height="878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a2590a68-9fa2-403b-972a-174fca45709d_1314x878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:1314,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2153446,&quot;alt&quot;:&quot;Three-panel sketchnote of the three fake-test shapes. An arrow missing the target and hitting a box beside it, labelled wrong property. A path forking around a fenced-off branch, labelled never entered. A note card under a magnifier on one word, labelled reads differently.&quot;,&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://theaioperator.io/i/208658667?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2590a68-9fa2-403b-972a-174fca45709d_1314x878.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three-panel sketchnote of the three fake-test shapes. An arrow missing the target and hitting a box beside it, labelled wrong property. A path forking around a fenced-off branch, labelled never entered. A note card under a magnifier on one word, labelled reads differently." title="Three-panel sketchnote of the three fake-test shapes. An arrow missing the target and hitting a box beside it, labelled wrong property. A path forking around a fenced-off branch, labelled never entered. A note card under a magnifier on one word, labelled reads differently." srcset="https://substackcdn.com/image/fetch/$s_!B7LD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2590a68-9fa2-403b-972a-174fca45709d_1314x878.png 424w, https://substackcdn.com/image/fetch/$s_!B7LD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2590a68-9fa2-403b-972a-174fca45709d_1314x878.png 848w, https://substackcdn.com/image/fetch/$s_!B7LD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2590a68-9fa2-403b-972a-174fca45709d_1314x878.png 1272w, https://substackcdn.com/image/fetch/$s_!B7LD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2590a68-9fa2-403b-972a-174fca45709d_1314x878.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 aria-hidden="true" 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><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>The benchmark that read its own answer key</h2><p>This is the one I would most want someone to tell me about.</p><p>My project searches a folder of markdown notes, and I have a rule attached to it: no change to search ships without before-and-after numbers. Useful rule. It had also only ever run against my own private notes, which means every number I published was a claim nobody could reproduce.</p><p>So I built a synthetic corpus. 300 generated notes, fixed seed, a hash so two people can confirm they measured the same thing, and three query sets: exact keyword, English paraphrase, and the same descriptions in Spanish and Russian against English notes.</p><p>The paraphrase set is the hard one. The query deliberately avoids the words in the answer.</p><p>First run, pure keyword search scored 83% on it.</p><p>That is a suspicious number for a set built to defeat keyword search. The generator wrote each note&#8217;s summary as <code>&lt;title&gt; is &lt;description&gt;</code>, and the description was the exact text of that note&#8217;s paraphrase query. Every query was sitting inside its own answer.</p><p>Deleting one line dropped the score from 83% to 25%.</p><p>Both are real measurements of a real system. One is a measurement of the answer key.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jiZG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bbfb05d-23a9-40d7-a62c-d2e0b5448668_1316x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jiZG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bbfb05d-23a9-40d7-a62c-d2e0b5448668_1316x876.png 424w, https://substackcdn.com/image/fetch/$s_!jiZG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bbfb05d-23a9-40d7-a62c-d2e0b5448668_1316x876.png 848w, https://substackcdn.com/image/fetch/$s_!jiZG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bbfb05d-23a9-40d7-a62c-d2e0b5448668_1316x876.png 1272w, https://substackcdn.com/image/fetch/$s_!jiZG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bbfb05d-23a9-40d7-a62c-d2e0b5448668_1316x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jiZG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bbfb05d-23a9-40d7-a62c-d2e0b5448668_1316x876.png" width="1316" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9bbfb05d-23a9-40d7-a62c-d2e0b5448668_1316x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1316,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2119490,&quot;alt&quot;:&quot;Sketchnote of a note card with the test question copied inside its own body, an arrow labelled same words, and two score cards falling from 83 percent to 25 percent after one line is deleted.&quot;,&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://theaioperator.io/i/208658667?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bbfb05d-23a9-40d7-a62c-d2e0b5448668_1316x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote of a note card with the test question copied inside its own body, an arrow labelled same words, and two score cards falling from 83 percent to 25 percent after one line is deleted." title="Sketchnote of a note card with the test question copied inside its own body, an arrow labelled same words, and two score cards falling from 83 percent to 25 percent after one line is deleted." srcset="https://substackcdn.com/image/fetch/$s_!jiZG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bbfb05d-23a9-40d7-a62c-d2e0b5448668_1316x876.png 424w, https://substackcdn.com/image/fetch/$s_!jiZG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bbfb05d-23a9-40d7-a62c-d2e0b5448668_1316x876.png 848w, https://substackcdn.com/image/fetch/$s_!jiZG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bbfb05d-23a9-40d7-a62c-d2e0b5448668_1316x876.png 1272w, https://substackcdn.com/image/fetch/$s_!jiZG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bbfb05d-23a9-40d7-a62c-d2e0b5448668_1316x876.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 aria-hidden="true" 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><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>The feature I built so carefully it would have run for nobody</h2><p>Smaller, and it has stuck with me.</p><p>I added a prompt that asks once, ever, whether you might star the repo. It fires only after something good and visible happened. A vault gets created, or a health check comes back with zero issues. Once per machine. Suppressed under CI. Suppressed by an environment variable. Never on a machine-readable output path.</p><p>I also gated it on <code>stdout.isatty()</code>, so it would not fire into a pipe.</p><p>In this project the scripts are almost always run by an AI agent on the user&#8217;s behalf. Stdout is a pipe essentially every time. The person still reads every line, in their terminal, in the agent&#8217;s transcript.</p><p>So the careful version would have fired for exactly nobody, while looking thorough in review and passing its tests. The tty check felt like rigor. It was a way of doing nothing safely.</p><p>There is now a test asserting the prompt still fires with stdout captured. Strange-looking test until you know why it exists.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g7ni!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bade642-e56b-41e0-aaa0-77eb7c3faf5a_1318x874.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g7ni!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bade642-e56b-41e0-aaa0-77eb7c3faf5a_1318x874.png 424w, https://substackcdn.com/image/fetch/$s_!g7ni!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bade642-e56b-41e0-aaa0-77eb7c3faf5a_1318x874.png 848w, https://substackcdn.com/image/fetch/$s_!g7ni!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bade642-e56b-41e0-aaa0-77eb7c3faf5a_1318x874.png 1272w, https://substackcdn.com/image/fetch/$s_!g7ni!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bade642-e56b-41e0-aaa0-77eb7c3faf5a_1318x874.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g7ni!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bade642-e56b-41e0-aaa0-77eb7c3faf5a_1318x874.png" width="1318" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8bade642-e56b-41e0-aaa0-77eb7c3faf5a_1318x874.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1318,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2168410,&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://theaioperator.io/i/208658667?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bade642-e56b-41e0-aaa0-77eb7c3faf5a_1318x874.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_!g7ni!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bade642-e56b-41e0-aaa0-77eb7c3faf5a_1318x874.png 424w, https://substackcdn.com/image/fetch/$s_!g7ni!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bade642-e56b-41e0-aaa0-77eb7c3faf5a_1318x874.png 848w, https://substackcdn.com/image/fetch/$s_!g7ni!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bade642-e56b-41e0-aaa0-77eb7c3faf5a_1318x874.png 1272w, https://substackcdn.com/image/fetch/$s_!g7ni!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bade642-e56b-41e0-aaa0-77eb7c3faf5a_1318x874.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 aria-hidden="true" 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><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><h2>The bug that was not the bug I named</h2><p>One finding stayed open longest. On my multilingual query set, recall at 5 and recall at 10 were both exactly 0.625. Identical. Widening the window recovered nothing, so six of sixteen target notes were not ranked low. They were nowhere.</p><p>I called it the highest-value problem in the system and treated it as a cross-language failure. Three attempts to fix it by reweighting the ranking all failed, each costing something elsewhere.</p><p>Then I looked at what the six actually were. Not six failures. Three topics, each asked once in Russian and once in Spanish.</p><p>If cross-language alignment were the problem, Russian and Spanish would fail on different topics. So I translated the three into English and asked again.</p><p>Ranks 176, 22 and 38. No better. One materially worse than its Spanish version.</p><p>Never a language problem. Then I measured the thing I should have measured first: how much closer each target needed to be to reach the top ten. Between 0.009 and 0.071 in cosine distance. The entire spread between the first and tenth result is 0.02 to 0.04.</p><p>Four of the six need a correction larger than the whole visible range. Any weight big enough to rescue one scrambles the top ten of every other query in the vault.</p><p>That is not a bug I failed to fix. It is a bug that cannot be fixed the way I was trying, and one number would have said so on day one. I shipped the tool that prints that number, so the next person spends their afternoon somewhere better.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FdGy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe74da79-9037-4885-98b4-69b25ca1fd42_1312x872.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FdGy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe74da79-9037-4885-98b4-69b25ca1fd42_1312x872.png 424w, https://substackcdn.com/image/fetch/$s_!FdGy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe74da79-9037-4885-98b4-69b25ca1fd42_1312x872.png 848w, https://substackcdn.com/image/fetch/$s_!FdGy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe74da79-9037-4885-98b4-69b25ca1fd42_1312x872.png 1272w, https://substackcdn.com/image/fetch/$s_!FdGy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe74da79-9037-4885-98b4-69b25ca1fd42_1312x872.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FdGy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe74da79-9037-4885-98b4-69b25ca1fd42_1312x872.png" width="1312" height="872" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be74da79-9037-4885-98b4-69b25ca1fd42_1312x872.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:872,&quot;width&quot;:1312,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1926409,&quot;alt&quot;:&quot;Sketchnote ruler from 0 to 0.07. A short bracket marks the visible band between rank one and rank ten, 0.02 to 0.04. A much longer bracket marks the correction needed, up to 0.071, with four target dots sitting outside the visible band.&quot;,&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://theaioperator.io/i/208658667?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe74da79-9037-4885-98b4-69b25ca1fd42_1312x872.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote ruler from 0 to 0.07. A short bracket marks the visible band between rank one and rank ten, 0.02 to 0.04. A much longer bracket marks the correction needed, up to 0.071, with four target dots sitting outside the visible band." title="Sketchnote ruler from 0 to 0.07. A short bracket marks the visible band between rank one and rank ten, 0.02 to 0.04. A much longer bracket marks the correction needed, up to 0.071, with four target dots sitting outside the visible band." srcset="https://substackcdn.com/image/fetch/$s_!FdGy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe74da79-9037-4885-98b4-69b25ca1fd42_1312x872.png 424w, https://substackcdn.com/image/fetch/$s_!FdGy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe74da79-9037-4885-98b4-69b25ca1fd42_1312x872.png 848w, https://substackcdn.com/image/fetch/$s_!FdGy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe74da79-9037-4885-98b4-69b25ca1fd42_1312x872.png 1272w, https://substackcdn.com/image/fetch/$s_!FdGy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe74da79-9037-4885-98b4-69b25ca1fd42_1312x872.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What was actually broken while I stared at rankings</h2><p>The damaging bug was next door, and no benchmark caught it.</p><p>Semantic search reads a vector index. The index is built on demand and never invalidates itself. My README told people to build it once.</p><p>My vault had 1,828 notes. The index had 1,303. 29% had no vector at all, and nothing anywhere said so.</p><p>That sounds like a staleness nit and is worse than one. An unindexed note is still findable by literal word match, so on English queries the keyword half quietly covers the gap and you never notice. On a query in another language the keyword half contributes nothing, so those notes are not ranked low. They are unreachable. It is a quieter version of the problem I wrote about in <a href="https://theaioperator.io/p/your-notes-are-a-graveyard-heres">your notes are a graveyard</a>: the note is there, and nothing can reach it.</p><p>My benchmark scored exactly the same before and after I rebuilt the index, because every target in it happened to already be indexed.</p><p>A flat number is not evidence that nothing is wrong. It is evidence that your measurement did not look there.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!izbE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865efe32-026b-48dc-bab2-acf90c6c674c_1316x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!izbE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865efe32-026b-48dc-bab2-acf90c6c674c_1316x876.png 424w, https://substackcdn.com/image/fetch/$s_!izbE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865efe32-026b-48dc-bab2-acf90c6c674c_1316x876.png 848w, https://substackcdn.com/image/fetch/$s_!izbE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865efe32-026b-48dc-bab2-acf90c6c674c_1316x876.png 1272w, https://substackcdn.com/image/fetch/$s_!izbE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865efe32-026b-48dc-bab2-acf90c6c674c_1316x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!izbE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865efe32-026b-48dc-bab2-acf90c6c674c_1316x876.png" width="1316" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/865efe32-026b-48dc-bab2-acf90c6c674c_1316x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1316,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2125065,&quot;alt&quot;:&quot;Sketchnote of a shelf holding 1,828 note cards, a smaller box holding 1,303 indexed, and a rust stack of 525 unreachable cards, with a dead-flat line labelled score unchanged running past all three.&quot;,&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://theaioperator.io/i/208658667?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865efe32-026b-48dc-bab2-acf90c6c674c_1316x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote of a shelf holding 1,828 note cards, a smaller box holding 1,303 indexed, and a rust stack of 525 unreachable cards, with a dead-flat line labelled score unchanged running past all three." title="Sketchnote of a shelf holding 1,828 note cards, a smaller box holding 1,303 indexed, and a rust stack of 525 unreachable cards, with a dead-flat line labelled score unchanged running past all three." srcset="https://substackcdn.com/image/fetch/$s_!izbE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865efe32-026b-48dc-bab2-acf90c6c674c_1316x876.png 424w, https://substackcdn.com/image/fetch/$s_!izbE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865efe32-026b-48dc-bab2-acf90c6c674c_1316x876.png 848w, https://substackcdn.com/image/fetch/$s_!izbE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865efe32-026b-48dc-bab2-acf90c6c674c_1316x876.png 1272w, https://substackcdn.com/image/fetch/$s_!izbE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865efe32-026b-48dc-bab2-acf90c6c674c_1316x876.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What I would keep</h2><p>None of this is about being careless. Every one was caught, by a cheap habit, before it reached anybody. The point is that a passing test is a much weaker signal than it feels like, and we have built almost no habits around checking the checkers.</p><p><strong>Revert the fix, run the test.</strong> Cheap, fast, five fake tests in one sitting. If a test passes without its fix, delete it or rewrite it. A green assertion that proves nothing is worse than no test, because it occupies the space where a real one would go.</p><p><strong>Be suspicious of a good first number.</strong> 83% on a set built to be hard was the loudest signal I got all month and I nearly banked it. A result that arrives easier than expected is a hypothesis about your instrument, not your system.</p><p><strong>Ask what your measurement cannot see.</strong> A benchmark that does not move is not the same as a system that is fine. Mine was blind to a defect costing real users whole notes.</p><p>The audit is open at three items. Findings, dates and fixes are all in the repo, and the retrieval benchmark generates in one command if you want to point it at something of your own.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><h2>Frequently asked questions</h2><p><strong>Is reverting the fix the same as mutation testing?</strong><br>Same idea, done by hand at the one point that matters most. Mutation testing perturbs the code automatically and scores how much your suite notices. This is one deliberate mutation, the removal of the exact fix, run at the moment you are most likely to be fooled.</p><p><strong>Is this not just test-driven development?</strong><br>TDD gives you the same signal for free, if you actually watch the test fail first. These five all came from a fix written before its test, which is what most bug fixing looks like in practice. The revert is how you recover the red you skipped.</p><p><strong>Does this not double the time to write a test?</strong><br>It adds seconds. Revert, run, restore. Against that, all five of these would have shipped as permanent green assertions protecting nothing.</p><p><strong>Why not just review the test more carefully?</strong><br>All three shapes above look correct in review. That is what makes them dangerous. <code>lstrip("./")</code> reads exactly like the thing it is not.</p><p><strong>Can I run the retrieval benchmark?</strong><br>Yes. One command generates the corpus, the seed is fixed, and it prints a hash so you can confirm you measured the same thing I did.</p><h2>Key takeaways</h2><ul><li><p>If a test passes with its fix reverted, it is decoration. Delete it or rewrite it.</p></li><li><p>The check costs seconds and it is the only one that tells you whether a test is load-bearing.</p></li><li><p>A result that arrives easier than expected is a hypothesis about your instrument.</p></li><li><p>A benchmark that does not move is not proof the system is fine. It may just not be looking.</p></li><li><p>Publish measurements other people can reproduce, or they are claims.</p></li></ul><h2>Further reading</h2><ul><li><p><a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain</a>, the project and the full audit trail</p></li><li><p><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/scripts/eval/BENCHMARK.md">The retrieval benchmark</a>, corpus generator, baseline and known limitations</p></li><li><p><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/AI-FIRST.md">The AI-First note spec</a>, 50 lines you can paste into any agent&#8217;s instructions</p></li><li><p><a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">I rebuilt Karpathy&#8217;s LLM Wiki</a>, where the search this post measures came from</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>About the author</h2><p><a href="https://www.linkedin.com/in/eugeniu-ghelbur/">Eugeniu Ghelbur</a> builds AI tooling and writes <a href="https://theaioperator.io/">The AI Operator</a>. He maintains <a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain</a>, an open-source AI second brain starred by over 3,600 developers, and writes up what holds and what breaks when these systems run against real work.</p>]]></content:encoded></item><item><title><![CDATA[Claude Code as a Second Brain: What the Tutorials Skip]]></title><description><![CDATA[Every guide shows you the first 20 minutes. Here is what breaks at month six, from the person who maintains the biggest one.]]></description><link>https://theaioperator.io/p/claude-code-as-a-second-brain-what</link><guid isPermaLink="false">https://theaioperator.io/p/claude-code-as-a-second-brain-what</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Fri, 24 Jul 2026 17:03:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yiBn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>TL;DR</strong></p><ul><li><p>Search &#8220;claude code second brain&#8221; and you get ten tutorials that all show the same setup: drop an Obsidian folder in, add a CLAUDE.md, done. It works, for about a week.</p></li><li><p>The hard part is not the setup. It is what a second brain has to do to survive past a few hundred notes: retrieve across notes, stay current, and maintain itself.</p></li><li><p>I maintain obsidian-second-brain, a Claude Code skill 3,400+ developers use for exactly this. Here is the part the tutorials skip.</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_!yiBn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yiBn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.png 424w, https://substackcdn.com/image/fetch/$s_!yiBn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.png 848w, https://substackcdn.com/image/fetch/$s_!yiBn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.png 1272w, https://substackcdn.com/image/fetch/$s_!yiBn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yiBn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.png" width="1318" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1318,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2176878,&quot;alt&quot;:&quot;Sketchnote title card, a folder of notes on one side and a self-maintaining brain on the other, arrow between them labeled the part tutorials skip.&quot;,&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://theaioperator.io/i/208217061?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote title card, a folder of notes on one side and a self-maintaining brain on the other, arrow between them labeled the part tutorials skip." title="Sketchnote title card, a folder of notes on one side and a self-maintaining brain on the other, arrow between them labeled the part tutorials skip." srcset="https://substackcdn.com/image/fetch/$s_!yiBn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.png 424w, https://substackcdn.com/image/fetch/$s_!yiBn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.png 848w, https://substackcdn.com/image/fetch/$s_!yiBn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.png 1272w, https://substackcdn.com/image/fetch/$s_!yiBn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fcbc910-522e-4f41-a358-24855efb38aa_1318x876.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 aria-hidden="true" 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><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>Type &#8220;claude code second brain&#8221; into Google and you get a wall of how-to posts. They are not wrong. They all show the same thing: put your Obsidian vault in a folder, run Claude Code from it, write a CLAUDE.md, and now the model can read your notes.</p><p>That setup is real and it does work. For about a week.</p><p>Then you hit the part none of the tutorials cover, because they were written after a weekend, not after a year. I have run this daily for over a year and shipped the tooling for it in the open. This post is month six, not minute one.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The setup everyone shows</h2><p>Credit where it is due, the basic loop is genuinely good.</p><p>Obsidian notes are plain markdown on your disk. Claude Code reads and writes files. Point one at the other and the model can create notes, edit them, and follow a CLAUDE.md instruction file. Cole Medin&#8217;s second-brain-starter and a dozen Substack guides all land here, and it is the right place to start.</p><p>The problem is that this is a demo, not a system. A demo answers &#8220;can Claude read my notes?&#8221; A system answers &#8220;will this still work when I have 3,000 notes and half of them are stale?&#8221;</p><p>Those are different questions. The gap between them is where every second brain quietly dies.</p><h2>Where it breaks</h2><p>Three things go wrong, and they all show up around the few-hundred-note mark.</p><p>Retrieval gets noisy. With 50 notes, Claude reading &#8220;everything&#8221; is fine. With 2,000, dumping the vault into context is impossible, and naive search pulls ten notes that mention a word but miss the one that answers the question. The tutorial setup has no real retrieval, just &#8220;read the files.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6IlE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56367e20-95f8-4b97-aaa5-9423a4ad2125_1318x878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6IlE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56367e20-95f8-4b97-aaa5-9423a4ad2125_1318x878.png 424w, https://substackcdn.com/image/fetch/$s_!6IlE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56367e20-95f8-4b97-aaa5-9423a4ad2125_1318x878.png 848w, https://substackcdn.com/image/fetch/$s_!6IlE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56367e20-95f8-4b97-aaa5-9423a4ad2125_1318x878.png 1272w, https://substackcdn.com/image/fetch/$s_!6IlE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56367e20-95f8-4b97-aaa5-9423a4ad2125_1318x878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6IlE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56367e20-95f8-4b97-aaa5-9423a4ad2125_1318x878.png" width="1318" height="878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56367e20-95f8-4b97-aaa5-9423a4ad2125_1318x878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:1318,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2138178,&quot;alt&quot;:&quot;Diagram showing a small vault where reading everything works, next to a large vault where the same approach returns a wall of noise.&quot;,&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://theaioperator.io/i/208217061?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56367e20-95f8-4b97-aaa5-9423a4ad2125_1318x878.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram showing a small vault where reading everything works, next to a large vault where the same approach returns a wall of noise." title="Diagram showing a small vault where reading everything works, next to a large vault where the same approach returns a wall of noise." srcset="https://substackcdn.com/image/fetch/$s_!6IlE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56367e20-95f8-4b97-aaa5-9423a4ad2125_1318x878.png 424w, https://substackcdn.com/image/fetch/$s_!6IlE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56367e20-95f8-4b97-aaa5-9423a4ad2125_1318x878.png 848w, https://substackcdn.com/image/fetch/$s_!6IlE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56367e20-95f8-4b97-aaa5-9423a4ad2125_1318x878.png 1272w, https://substackcdn.com/image/fetch/$s_!6IlE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56367e20-95f8-4b97-aaa5-9423a4ad2125_1318x878.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 aria-hidden="true" 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><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>Here is the kind of question that exposes it. Ask your vault &#8220;why did we drop the old billing provider?&#8221; The answer lives in three notes: the decision, the thing it replaced, and the incident that triggered it. Naive search pulls every note that mentions billing and misses the causal chain entirely. You get ten fragments and no answer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9P9f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377186f0-b9c9-44ea-bbc3-0d394319d279_1316x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9P9f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377186f0-b9c9-44ea-bbc3-0d394319d279_1316x876.png 424w, https://substackcdn.com/image/fetch/$s_!9P9f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377186f0-b9c9-44ea-bbc3-0d394319d279_1316x876.png 848w, https://substackcdn.com/image/fetch/$s_!9P9f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377186f0-b9c9-44ea-bbc3-0d394319d279_1316x876.png 1272w, https://substackcdn.com/image/fetch/$s_!9P9f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377186f0-b9c9-44ea-bbc3-0d394319d279_1316x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9P9f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377186f0-b9c9-44ea-bbc3-0d394319d279_1316x876.png" width="1316" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/377186f0-b9c9-44ea-bbc3-0d394319d279_1316x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1316,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2079324,&quot;alt&quot;:&quot;A question at the top with an arrow to three linked notes, decision, replaced thing, and incident, showing the answer spans all three.&quot;,&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://theaioperator.io/i/208217061?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377186f0-b9c9-44ea-bbc3-0d394319d279_1316x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A question at the top with an arrow to three linked notes, decision, replaced thing, and incident, showing the answer spans all three." title="A question at the top with an arrow to three linked notes, decision, replaced thing, and incident, showing the answer spans all three." srcset="https://substackcdn.com/image/fetch/$s_!9P9f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377186f0-b9c9-44ea-bbc3-0d394319d279_1316x876.png 424w, https://substackcdn.com/image/fetch/$s_!9P9f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377186f0-b9c9-44ea-bbc3-0d394319d279_1316x876.png 848w, https://substackcdn.com/image/fetch/$s_!9P9f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377186f0-b9c9-44ea-bbc3-0d394319d279_1316x876.png 1272w, https://substackcdn.com/image/fetch/$s_!9P9f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F377186f0-b9c9-44ea-bbc3-0d394319d279_1316x876.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 aria-hidden="true" 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><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 vault goes stale. You change jobs. A decision gets reversed. A tool you swore by gets dropped. The old note does not delete itself. Six months in, your second brain confidently cites the version of you from March, and you have no idea which half is current. This is the quiet failure, because it does not look broken. It looks like a confident answer that happens to be wrong.</p><p>Nothing maintains it. A real brain prunes, connects, and reconciles. A folder of markdown does none of that on its own. Without maintenance, entropy wins, and the thing you built to reduce your mental load becomes another mess you have to manage.</p><h2>What a second brain actually has to do</h2><p>Strip away the hype and a working second brain has four jobs, not one.</p><p>Capture with almost no friction, so you actually use it. Retrieve across notes, so it can answer questions whose answer lives in three places at once. Stay current, so it knows what is still true and what got superseded. And maintain itself, so it gets better while you sleep instead of rotting.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RFrC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd99455-9ac7-4311-b7ea-ea67ed23a35a_1314x880.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RFrC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd99455-9ac7-4311-b7ea-ea67ed23a35a_1314x880.png 424w, https://substackcdn.com/image/fetch/$s_!RFrC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd99455-9ac7-4311-b7ea-ea67ed23a35a_1314x880.png 848w, https://substackcdn.com/image/fetch/$s_!RFrC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd99455-9ac7-4311-b7ea-ea67ed23a35a_1314x880.png 1272w, https://substackcdn.com/image/fetch/$s_!RFrC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd99455-9ac7-4311-b7ea-ea67ed23a35a_1314x880.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RFrC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd99455-9ac7-4311-b7ea-ea67ed23a35a_1314x880.png" width="1314" height="880" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bdd99455-9ac7-4311-b7ea-ea67ed23a35a_1314x880.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:880,&quot;width&quot;:1314,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2052893,&quot;alt&quot;:&quot;Four labeled boxes, capture, retrieve, stay current, maintain, arranged as a loop around a central vault.&quot;,&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://theaioperator.io/i/208217061?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd99455-9ac7-4311-b7ea-ea67ed23a35a_1314x880.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Four labeled boxes, capture, retrieve, stay current, maintain, arranged as a loop around a central vault." title="Four labeled boxes, capture, retrieve, stay current, maintain, arranged as a loop around a central vault." srcset="https://substackcdn.com/image/fetch/$s_!RFrC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd99455-9ac7-4311-b7ea-ea67ed23a35a_1314x880.png 424w, https://substackcdn.com/image/fetch/$s_!RFrC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd99455-9ac7-4311-b7ea-ea67ed23a35a_1314x880.png 848w, https://substackcdn.com/image/fetch/$s_!RFrC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd99455-9ac7-4311-b7ea-ea67ed23a35a_1314x880.png 1272w, https://substackcdn.com/image/fetch/$s_!RFrC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd99455-9ac7-4311-b7ea-ea67ed23a35a_1314x880.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 aria-hidden="true" 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><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 tutorials give you job one and a weak version of job two. Jobs three and four are the entire difference between a note folder and a second brain. They are also the boring, unglamorous work nobody puts in a &#8220;build a second brain in 10 minutes&#8221; video, because they take longer than 10 minutes.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><h2>Own it or rent it</h2><p>There is a second question the tutorials skip: who holds your memory.</p><p>Claude now ships built-in memory, and it is genuinely convenient. But it has three properties I could not live with. It lives on someone else&#8217;s server. It lives inside one product. And I cannot open it, read it line by line, and correct a wrong fact.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LoBA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e68e9c9-9373-49c5-ac31-b59cc9be2656_1318x882.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LoBA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e68e9c9-9373-49c5-ac31-b59cc9be2656_1318x882.png 424w, https://substackcdn.com/image/fetch/$s_!LoBA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e68e9c9-9373-49c5-ac31-b59cc9be2656_1318x882.png 848w, https://substackcdn.com/image/fetch/$s_!LoBA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e68e9c9-9373-49c5-ac31-b59cc9be2656_1318x882.png 1272w, https://substackcdn.com/image/fetch/$s_!LoBA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e68e9c9-9373-49c5-ac31-b59cc9be2656_1318x882.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LoBA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e68e9c9-9373-49c5-ac31-b59cc9be2656_1318x882.png" width="1318" height="882" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e68e9c9-9373-49c5-ac31-b59cc9be2656_1318x882.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:882,&quot;width&quot;:1318,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2122254,&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://theaioperator.io/i/208217061?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e68e9c9-9373-49c5-ac31-b59cc9be2656_1318x882.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_!LoBA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e68e9c9-9373-49c5-ac31-b59cc9be2656_1318x882.png 424w, https://substackcdn.com/image/fetch/$s_!LoBA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e68e9c9-9373-49c5-ac31-b59cc9be2656_1318x882.png 848w, https://substackcdn.com/image/fetch/$s_!LoBA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e68e9c9-9373-49c5-ac31-b59cc9be2656_1318x882.png 1272w, https://substackcdn.com/image/fetch/$s_!LoBA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e68e9c9-9373-49c5-ac31-b59cc9be2656_1318x882.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A file-based second brain is the opposite trade. It is plain markdown on your disk. You can read every fact, fix the wrong ones, and move the whole thing to a different model next year when a better one ships. You give up the one-click convenience and you get ownership that outlives any single vendor. For something meant to hold years of your thinking, that trade is not close.</p><h2>The part I built</h2><p>I got tired of my own vault rotting, so I built the missing three jobs and open-sourced them as <a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain</a>, a Claude Code skill now starred by 3,400+ developers.</p><p>It is 45 slash commands, but they all serve those four jobs. Capture is one keystroke. Retrieval honors freshness and typed relationships between notes instead of blind similarity, so the billing question above returns the causal chain, not ten fragments. Scheduled agents run health checks, reconcile contradictions, and prune stale claims on their own. When a new note contradicts an old one, the old fact gets marked superseded, not silently left to lie.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oUUs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83943f21-2182-449b-a80f-cb4cff001a27_1320x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oUUs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83943f21-2182-449b-a80f-cb4cff001a27_1320x876.png 424w, https://substackcdn.com/image/fetch/$s_!oUUs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83943f21-2182-449b-a80f-cb4cff001a27_1320x876.png 848w, https://substackcdn.com/image/fetch/$s_!oUUs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83943f21-2182-449b-a80f-cb4cff001a27_1320x876.png 1272w, https://substackcdn.com/image/fetch/$s_!oUUs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83943f21-2182-449b-a80f-cb4cff001a27_1320x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oUUs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83943f21-2182-449b-a80f-cb4cff001a27_1320x876.png" width="1320" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/83943f21-2182-449b-a80f-cb4cff001a27_1320x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1320,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2050475,&quot;alt&quot;:&quot;A loop showing scheduled agents reading the vault, reconciling contradictions, pruning stale notes, and marking facts superseded, feeding back into a healthier vault.&quot;,&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://theaioperator.io/i/208217061?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83943f21-2182-449b-a80f-cb4cff001a27_1320x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A loop showing scheduled agents reading the vault, reconciling contradictions, pruning stale notes, and marking facts superseded, feeding back into a healthier vault." title="A loop showing scheduled agents reading the vault, reconciling contradictions, pruning stale notes, and marking facts superseded, feeding back into a healthier vault." srcset="https://substackcdn.com/image/fetch/$s_!oUUs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83943f21-2182-449b-a80f-cb4cff001a27_1320x876.png 424w, https://substackcdn.com/image/fetch/$s_!oUUs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83943f21-2182-449b-a80f-cb4cff001a27_1320x876.png 848w, https://substackcdn.com/image/fetch/$s_!oUUs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83943f21-2182-449b-a80f-cb4cff001a27_1320x876.png 1272w, https://substackcdn.com/image/fetch/$s_!oUUs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83943f21-2182-449b-a80f-cb4cff001a27_1320x876.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 aria-hidden="true" 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><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>That last part is the one people underestimate. A second brain that cannot tell you what is no longer true is worse than no second brain, because it launders stale facts as current ones. The maintenance layer exists to keep the vault honest with itself, which is exactly the work a folder of markdown will never do on its own.</p><p>This is also where the <a href="https://theaioperator.io/p/what-is-graph-engineering-a-field">graph engineering</a> work lives: typed edges in the markdown, so the vault is a real graph the agent can traverse, not just a pile of links. I wrote separately about <a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">what a working second brain needs that Karpathy&#8217;s LLM Wiki pattern does not</a>, which is the same lesson from a different angle.</p><p>The point is not &#8220;use my thing.&#8221; The point is that the setup you see ranking for this search is the start line, and almost nobody writes about the actual race.</p><h2>The one line to keep</h2><p>A second brain is not a folder Claude can read. It is a system that maintains itself. The tutorials give you the folder. The maintenance is the whole job.</p><p>If you want to watch that maintenance layer get built in the open, with the benchmark numbers when they land, subscribe. Every post here documents a working build, including this one.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><h2>Frequently asked questions</h2><p><strong>How do I use Claude Code as a second brain?</strong> Point Claude Code at a folder of markdown notes (an Obsidian vault works well), add a CLAUDE.md file with your rules, and it can read, write, and structure your notes. That is the starting setup. To make it survive past a few hundred notes you also need real retrieval, freshness tracking, and scheduled maintenance, which plain setup does not include.</p><p><strong>Is Obsidian required for a Claude Code second brain?</strong> No. Any folder of markdown files works, because Claude Code operates on files, not on Obsidian specifically. Obsidian is a convenient viewer and gives you wikilinks and graph view for free, which is why most setups use it.</p><p><strong>Why does my Claude Code second brain get worse over time?</strong> Because nothing maintains it. Notes go stale, decisions get reversed, and contradictions pile up. Without a maintenance layer that prunes, reconciles, and marks facts as superseded, the vault slowly fills with outdated claims the model then cites as current.</p><p><strong>What is the difference between Claude&#8217;s built-in memory and a file-based second brain?</strong> Built-in memory lives on a server, inside one product, and you cannot open it and correct a wrong fact. A file-based second brain is plain markdown you own, can read line by line, and can move to any model. You trade convenience for ownership and control.</p><p><strong>How many notes can a Claude Code second brain handle?</strong> The naive &#8220;read all the files&#8221; approach breaks around a few hundred notes, when the vault no longer fits in context and simple search gets noisy. With proper retrieval (freshness-aware, relationship-aware) it scales to thousands.</p><h2>Key takeaways</h2><ul><li><p>Every &#8220;claude code second brain&#8221; tutorial shows the same 20-minute setup and stops there. The setup is the easy part.</p></li><li><p>A second brain has four jobs: capture, retrieve across notes, stay current, and maintain itself. Tutorials cover one and a half of them.</p></li><li><p>The setup breaks around a few hundred notes: retrieval gets noisy, the vault goes stale, and nothing prunes or reconciles it.</p></li><li><p>Claude&#8217;s built-in memory is convenient but sealed. A file-based second brain trades convenience for ownership you can read and correct.</p></li><li><p>A second brain is not a folder Claude can read. It is a system that maintains itself, and the maintenance is the whole job.</p></li></ul><h2>Further reading</h2><ul><li><p><a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain on GitHub</a> - the open-source Claude Code skill this post describes (MIT, 3,400+ stars).</p></li><li><p><a href="https://theaioperator.io/p/what-is-graph-engineering-a-field">What Is Graph Engineering? A Field Guide for Builders</a> - how typed edges turn a vault into a real graph the agent can traverse.</p></li><li><p><a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">I Rebuilt Karpathy&#8217;s LLM Wiki. Here&#8217;s What&#8217;s Missing.</a> - the same lesson from the knowledge-wiki angle.</p></li><li><p><a href="https://github.com/coleam00/second-brain-starter">second-brain-starter by Cole Medin</a> - a good starting-point skill if you want the minimal setup first.</p></li><li><p><a href="https://every.to/podcast/how-to-use-claude-code-as-a-thinking-partner">How to Use Claude Code as a Thinking Partner (Every)</a> - a useful take on the daily-use side.</p></li></ul><h2>About the author</h2><p>Eugeniu Ghelbur is an AI Automation Engineer and the creator of obsidian-second-brain, an open-source Claude Code skill starred by over 3,400 developers on GitHub. He builds production AI systems for marketing and sales workflows, and his personal research covers AI agent memory, AI-first knowledge management, and second brains that maintain themselves. He writes The AI Operator (theaioperator.io), a weekly systems newsletter where every post documents a working build, including this one. The fastest way to reach him is <a href="mailto:e.ghelbur@gmail.com">e.ghelbur@gmail.com</a>, and his open-source work lives at github.com/eugeniughelbur.</p>]]></content:encoded></item><item><title><![CDATA[What Is Graph Engineering? A Field Guide for Builders]]></title><description><![CDATA[The term went viral on X in 48 hours, with three competing meanings and one fabricated study. Under the noise: a real discipline with benchmark numbers, one gap nobody has claimed.]]></description><link>https://theaioperator.io/p/what-is-graph-engineering-a-field</link><guid isPermaLink="false">https://theaioperator.io/p/what-is-graph-engineering-a-field</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Tue, 21 Jul 2026 17:01:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5v7A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd920754d-9295-414a-8af4-93cbe712102f_1314x876.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>TL;DR</strong></p><ul><li><p>&#8220;Graph engineering&#8221; exploded on X this week with three competing definitions and a viral study that does not exist.</p></li><li><p>The discipline underneath is real and measurable: graphs beat vector search on multi-hop and temporal questions, and lose on simple lookups and cost.</p></li><li><p>A vault of linked markdown is already 80% of a graph index. I am building the missing 20% in the open.</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_!5v7A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd920754d-9295-414a-8af4-93cbe712102f_1314x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5v7A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd920754d-9295-414a-8af4-93cbe712102f_1314x876.png 424w, https://substackcdn.com/image/fetch/$s_!5v7A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd920754d-9295-414a-8af4-93cbe712102f_1314x876.png 848w, https://substackcdn.com/image/fetch/$s_!5v7A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd920754d-9295-414a-8af4-93cbe712102f_1314x876.png 1272w, https://substackcdn.com/image/fetch/$s_!5v7A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd920754d-9295-414a-8af4-93cbe712102f_1314x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5v7A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd920754d-9295-414a-8af4-93cbe712102f_1314x876.png" width="1314" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d920754d-9295-414a-8af4-93cbe712102f_1314x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1314,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2196085,&quot;alt&quot;:&quot;Hand-drawn sketchnote title card for What Is Graph Engineering, showing a network of labeled nodes connected by arrows.&quot;,&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://theaioperator.io/i/207810783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd920754d-9295-414a-8af4-93cbe712102f_1314x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hand-drawn sketchnote title card for What Is Graph Engineering, showing a network of labeled nodes connected by arrows." title="Hand-drawn sketchnote title card for What Is Graph Engineering, showing a network of labeled nodes connected by arrows." srcset="https://substackcdn.com/image/fetch/$s_!5v7A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd920754d-9295-414a-8af4-93cbe712102f_1314x876.png 424w, https://substackcdn.com/image/fetch/$s_!5v7A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd920754d-9295-414a-8af4-93cbe712102f_1314x876.png 848w, https://substackcdn.com/image/fetch/$s_!5v7A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd920754d-9295-414a-8af4-93cbe712102f_1314x876.png 1272w, https://substackcdn.com/image/fetch/$s_!5v7A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd920754d-9295-414a-8af4-93cbe712102f_1314x876.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 aria-hidden="true" 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><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>Agents that read flat documents miss chains: who decided X, what replaced it, what broke because of it. Graph-shaped memory is the fix, and it is measurable. LinkedIn cut support resolution time 28% with it, and the best graph systems answer multi-hop questions 10 points better than vector search.</p><p>That is the business case. Now the story.</p><p>On July 18, Peter Steinberger <span>posted </span><strong>twelve words</strong><span> on X</span>: &#8220;Are we still talking loops or did we shift to graphs yet?&#8221; Thousands of likes. Within 48 hours, &#8220;graph engineering&#8221; had three competing definitions, a wave of copycat posts, and a viral claim about a &#8220;$3.1M Stanford and Anthropic study.&#8221;</p><p>I went looking for that study. It does not exist. Fabricated engagement bait.</p><p>But I kept digging, because under the noise there is a real discipline with a decade of research, working tools, and benchmark numbers that survived independent evaluation. I spent the weekend reading all of it so you do not have to.</p><p>By the end of this issue you will understand graphs better than most people posting about them this week.</p><h2>The whole primitive in 60 seconds</h2><p>Strip every buzzword away and a graph is two things.</p><p>Nodes: the things you know about. A person, a project, a decision, an incident.</p><p>Edges: the connections between them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XP1q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a00a790-48e9-44f4-9cd3-b9543f446e3e_1310x878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XP1q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a00a790-48e9-44f4-9cd3-b9543f446e3e_1310x878.png 424w, https://substackcdn.com/image/fetch/$s_!XP1q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a00a790-48e9-44f4-9cd3-b9543f446e3e_1310x878.png 848w, https://substackcdn.com/image/fetch/$s_!XP1q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a00a790-48e9-44f4-9cd3-b9543f446e3e_1310x878.png 1272w, https://substackcdn.com/image/fetch/$s_!XP1q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a00a790-48e9-44f4-9cd3-b9543f446e3e_1310x878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XP1q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a00a790-48e9-44f4-9cd3-b9543f446e3e_1310x878.png" width="1310" height="878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a00a790-48e9-44f4-9cd3-b9543f446e3e_1310x878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:1310,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2173823,&quot;alt&quot;:&quot;Sketchnote diagram of a graph's two primitives: circles labeled person, project, decision as nodes, with arrows between them as edges.&quot;,&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://theaioperator.io/i/207810783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a00a790-48e9-44f4-9cd3-b9543f446e3e_1310x878.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote diagram of a graph's two primitives: circles labeled person, project, decision as nodes, with arrows between them as edges." title="Sketchnote diagram of a graph's two primitives: circles labeled person, project, decision as nodes, with arrows between them as edges." srcset="https://substackcdn.com/image/fetch/$s_!XP1q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a00a790-48e9-44f4-9cd3-b9543f446e3e_1310x878.png 424w, https://substackcdn.com/image/fetch/$s_!XP1q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a00a790-48e9-44f4-9cd3-b9543f446e3e_1310x878.png 848w, https://substackcdn.com/image/fetch/$s_!XP1q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a00a790-48e9-44f4-9cd3-b9543f446e3e_1310x878.png 1272w, https://substackcdn.com/image/fetch/$s_!XP1q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a00a790-48e9-44f4-9cd3-b9543f446e3e_1310x878.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 aria-hidden="true" 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><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>That is the entire primitive. The reason it matters for AI is retrieval. An agent answering a question has to find the right knowledge first, and there are only three ways to find things:</p><ul><li><p>Keyword search finds notes containing a word. Fails when the answer uses different words.</p></li><li><p>Vector search finds notes that are about similar things. Fails when the answer is spread across notes that are individually not similar to the question.</p></li><li><p>Graph traversal starts at one node and walks the connections. It is the only method that can follow a chain of reasoning.</p></li></ul><h2>The question that breaks vector search</h2><p>Here is a synthetic example, the kind of question every real knowledge base gets asked:</p><p>&#8220;Why did we drop Redis for the job queue?&#8221;</p><p>Vector search embeds the question and pulls the ten chunks most similar to it. You get ten notes that mention Redis. None of them explains the decision, because the decision lives in the structure: a decision record, the thing it replaced, and the incident that triggered it. Three separate notes. Similarity search has no concept of &#8220;these three belong to one causal chain.&#8221;</p><p>Graph traversal walks it:</p><pre><code><code>hop 1:  [[Job queue]] --decided_by--&gt; [[ADR-007 Postgres queue]]
hop 2:  [[ADR-007]]  --supersedes--&gt; [[ADR-003 Redis queue]]
hop 3:  [[ADR-003]]  --caused--&gt;     [[Incident 2026-03-11]]</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VEge!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecb9005b-de79-4e07-a77f-1463408740dd_1310x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VEge!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecb9005b-de79-4e07-a77f-1463408740dd_1310x866.png 424w, https://substackcdn.com/image/fetch/$s_!VEge!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecb9005b-de79-4e07-a77f-1463408740dd_1310x866.png 848w, https://substackcdn.com/image/fetch/$s_!VEge!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecb9005b-de79-4e07-a77f-1463408740dd_1310x866.png 1272w, https://substackcdn.com/image/fetch/$s_!VEge!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecb9005b-de79-4e07-a77f-1463408740dd_1310x866.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VEge!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecb9005b-de79-4e07-a77f-1463408740dd_1310x866.png" width="1310" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ecb9005b-de79-4e07-a77f-1463408740dd_1310x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:1310,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2169942,&quot;alt&quot;:&quot;Diagram of a 3-hop graph traversal from job queue to ADR-007 to ADR-003 to the incident that caused the decision.&quot;,&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://theaioperator.io/i/207810783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecb9005b-de79-4e07-a77f-1463408740dd_1310x866.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram of a 3-hop graph traversal from job queue to ADR-007 to ADR-003 to the incident that caused the decision." title="Diagram of a 3-hop graph traversal from job queue to ADR-007 to ADR-003 to the incident that caused the decision." srcset="https://substackcdn.com/image/fetch/$s_!VEge!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecb9005b-de79-4e07-a77f-1463408740dd_1310x866.png 424w, https://substackcdn.com/image/fetch/$s_!VEge!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecb9005b-de79-4e07-a77f-1463408740dd_1310x866.png 848w, https://substackcdn.com/image/fetch/$s_!VEge!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecb9005b-de79-4e07-a77f-1463408740dd_1310x866.png 1272w, https://substackcdn.com/image/fetch/$s_!VEge!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecb9005b-de79-4e07-a77f-1463408740dd_1310x866.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 aria-hidden="true" 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><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>Three notes, about 1,000 tokens, causal chain intact.</p><p>Each step is a hop. Questions needing more than one hop are multi-hop questions, and they are where flat retrieval consistently breaks. &#8220;Who decided X and what broke because of it&#8221; is a two-hop question. Most interesting questions about any real body of knowledge are multi-hop.</p><p>One sentence to keep: vector search finds things that sound like your question. Graphs find things that are connected to your answer.</p><h2>One bit versus meaning</h2><p>Now the detail that decides whether a graph is useful or just pretty.</p><p>An untyped edge says &#8220;these two notes are related.&#8221; One bit of information. A typed edge says how: supersedes, depends_on, decided_by, caused.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!scFU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1243e2a7-f173-488b-8fd3-36cbe69869b5_1314x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!scFU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1243e2a7-f173-488b-8fd3-36cbe69869b5_1314x876.png 424w, https://substackcdn.com/image/fetch/$s_!scFU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1243e2a7-f173-488b-8fd3-36cbe69869b5_1314x876.png 848w, https://substackcdn.com/image/fetch/$s_!scFU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1243e2a7-f173-488b-8fd3-36cbe69869b5_1314x876.png 1272w, https://substackcdn.com/image/fetch/$s_!scFU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1243e2a7-f173-488b-8fd3-36cbe69869b5_1314x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!scFU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1243e2a7-f173-488b-8fd3-36cbe69869b5_1314x876.png" width="1314" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1243e2a7-f173-488b-8fd3-36cbe69869b5_1314x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1314,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2069411,&quot;alt&quot;:&quot;Comparison of an untyped edge that only says related versus typed edges labeled supersedes, depends_on, decided_by, caused.&quot;,&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://theaioperator.io/i/207810783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1243e2a7-f173-488b-8fd3-36cbe69869b5_1314x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comparison of an untyped edge that only says related versus typed edges labeled supersedes, depends_on, decided_by, caused." title="Comparison of an untyped edge that only says related versus typed edges labeled supersedes, depends_on, decided_by, caused." srcset="https://substackcdn.com/image/fetch/$s_!scFU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1243e2a7-f173-488b-8fd3-36cbe69869b5_1314x876.png 424w, https://substackcdn.com/image/fetch/$s_!scFU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1243e2a7-f173-488b-8fd3-36cbe69869b5_1314x876.png 848w, https://substackcdn.com/image/fetch/$s_!scFU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1243e2a7-f173-488b-8fd3-36cbe69869b5_1314x876.png 1272w, https://substackcdn.com/image/fetch/$s_!scFU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1243e2a7-f173-488b-8fd3-36cbe69869b5_1314x876.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 aria-hidden="true" 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><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>Run the Redis example without types. The traversal becomes &#8220;the queue is related to a decision, which is related to another decision, which is related to an incident.&#8221; Did ADR-007 replace ADR-003, or the other way around? Did the incident cause the decision or the decision cause the incident? The chain survives. The meaning is gone, and the agent has to re-read every note and guess.</p><p>Typed edges turn a pile of links into something you can reason over. Hold onto that. It is the center of everything that follows.</p><h2>Where the term actually came from</h2><p>Know the history, so nobody can bluff you with it.</p><p>&#8220;Graph engineering&#8221; sits on a treadmill of terms. Each one described a real shift. Each one got turned into content slop within weeks:</p><ul><li><p>2023: prompt engineering. Craft the words you send the model.</p></li><li><p>Mid-2025: context engineering. Curate everything in the window.</p></li><li><p>June 2026: loop engineering. Design the agent&#8217;s act-observe-retry cycle.</p></li><li><p>July 2026: graph engineering. Design what happens between and across loops.</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_!gemu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f04dce8-8545-4167-b6ef-14078671fbac_1310x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gemu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f04dce8-8545-4167-b6ef-14078671fbac_1310x876.png 424w, https://substackcdn.com/image/fetch/$s_!gemu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f04dce8-8545-4167-b6ef-14078671fbac_1310x876.png 848w, https://substackcdn.com/image/fetch/$s_!gemu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f04dce8-8545-4167-b6ef-14078671fbac_1310x876.png 1272w, https://substackcdn.com/image/fetch/$s_!gemu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f04dce8-8545-4167-b6ef-14078671fbac_1310x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gemu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f04dce8-8545-4167-b6ef-14078671fbac_1310x876.png" width="1310" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f04dce8-8545-4167-b6ef-14078671fbac_1310x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1310,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2205678,&quot;alt&quot;:&quot;Timeline treadmill of AI buzzwords: prompt engineering 2023, context engineering 2025, loop engineering June 2026, graph engineering July 2026.&quot;,&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://theaioperator.io/i/207810783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f04dce8-8545-4167-b6ef-14078671fbac_1310x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Timeline treadmill of AI buzzwords: prompt engineering 2023, context engineering 2025, loop engineering June 2026, graph engineering July 2026." title="Timeline treadmill of AI buzzwords: prompt engineering 2023, context engineering 2025, loop engineering June 2026, graph engineering July 2026." srcset="https://substackcdn.com/image/fetch/$s_!gemu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f04dce8-8545-4167-b6ef-14078671fbac_1310x876.png 424w, https://substackcdn.com/image/fetch/$s_!gemu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f04dce8-8545-4167-b6ef-14078671fbac_1310x876.png 848w, https://substackcdn.com/image/fetch/$s_!gemu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f04dce8-8545-4167-b6ef-14078671fbac_1310x876.png 1272w, https://substackcdn.com/image/fetch/$s_!gemu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f04dce8-8545-4167-b6ef-14078671fbac_1310x876.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 aria-hidden="true" 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><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 receipts: <span>a quiet blog post by Josh Simmons on July 4 </span><strong>is the earliest documented use I found</strong><span>. Steinberger's </span><strong>July 18 post</strong><span> lit the fus</span>e (he was mocking the treadmill; the treadmill did not care). <span>Carlos Perez published </span><strong>one of the first serious essays</strong><span> about ten hours later</span>. The backlash started the same day.</p><p>Within 48 hours the term meant three different things:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4e50!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12dd9e-e9ab-4aae-a9a3-eb21c4bcd22c_1312x874.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4e50!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12dd9e-e9ab-4aae-a9a3-eb21c4bcd22c_1312x874.png 424w, https://substackcdn.com/image/fetch/$s_!4e50!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12dd9e-e9ab-4aae-a9a3-eb21c4bcd22c_1312x874.png 848w, https://substackcdn.com/image/fetch/$s_!4e50!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12dd9e-e9ab-4aae-a9a3-eb21c4bcd22c_1312x874.png 1272w, https://substackcdn.com/image/fetch/$s_!4e50!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12dd9e-e9ab-4aae-a9a3-eb21c4bcd22c_1312x874.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4e50!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12dd9e-e9ab-4aae-a9a3-eb21c4bcd22c_1312x874.png" width="1312" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c12dd9e-e9ab-4aae-a9a3-eb21c4bcd22c_1312x874.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1312,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2178461,&quot;alt&quot;:&quot;One term splitting into three meanings: orchestration graphs, graphs of loops, and graph-structured knowledge and memory.&quot;,&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://theaioperator.io/i/207810783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12dd9e-e9ab-4aae-a9a3-eb21c4bcd22c_1312x874.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="One term splitting into three meanings: orchestration graphs, graphs of loops, and graph-structured knowledge and memory." title="One term splitting into three meanings: orchestration graphs, graphs of loops, and graph-structured knowledge and memory." srcset="https://substackcdn.com/image/fetch/$s_!4e50!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12dd9e-e9ab-4aae-a9a3-eb21c4bcd22c_1312x874.png 424w, https://substackcdn.com/image/fetch/$s_!4e50!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12dd9e-e9ab-4aae-a9a3-eb21c4bcd22c_1312x874.png 848w, https://substackcdn.com/image/fetch/$s_!4e50!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12dd9e-e9ab-4aae-a9a3-eb21c4bcd22c_1312x874.png 1272w, https://substackcdn.com/image/fetch/$s_!4e50!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c12dd9e-e9ab-4aae-a9a3-eb21c4bcd22c_1312x874.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 aria-hidden="true" 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><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><ul><li><p>Orchestration graphs: design multi-agent systems as explicit graphs instead of loops. Typed nodes, typed transitions, checkpoints. This is LangGraph and Temporal territory.</p></li><li><p>Graphs of loops: networks of self-improvement cycles watching each other. The most abstract meaning, and the least actionable today.</p></li><li><p>Graph-structured knowledge and memory: the agent&#8217;s knowledge stored as typed nodes and edges it can traverse.</p></li></ul><p>Only the third one has a decade of research, working tools, and real money behind it. Serious people were building it before the name existed, under different words: Foundation Capital called it &#8220;context graphs&#8221; in December 2025 and put a trillion-dollar label on it. Gartner predicts over half of enterprise agent systems will use graph-based context by 2028. SAP shipped a knowledge graph as its agent context layer.</p><p>The term is new. The substance is not.</p><h2>How GraphRAG actually works</h2><p>The umbrella name for graph-based retrieval is GraphRAG. Four systems matter, and each teaches one lesson.</p><p>Microsoft GraphRAG (2024) is the reference architecture:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3sa2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc0a682-761d-4eb1-9f88-d758496510f5_1314x872.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3sa2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc0a682-761d-4eb1-9f88-d758496510f5_1314x872.png 424w, https://substackcdn.com/image/fetch/$s_!3sa2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc0a682-761d-4eb1-9f88-d758496510f5_1314x872.png 848w, https://substackcdn.com/image/fetch/$s_!3sa2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc0a682-761d-4eb1-9f88-d758496510f5_1314x872.png 1272w, https://substackcdn.com/image/fetch/$s_!3sa2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc0a682-761d-4eb1-9f88-d758496510f5_1314x872.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3sa2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc0a682-761d-4eb1-9f88-d758496510f5_1314x872.png" width="1314" height="872" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fc0a682-761d-4eb1-9f88-d758496510f5_1314x872.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:872,&quot;width&quot;:1314,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2074637,&quot;alt&quot;:&quot;Five-step GraphRAG pipeline: chunk documents, extract entities, cluster communities, summarize each community, answer queries.&quot;,&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://theaioperator.io/i/207810783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc0a682-761d-4eb1-9f88-d758496510f5_1314x872.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Five-step GraphRAG pipeline: chunk documents, extract entities, cluster communities, summarize each community, answer queries." title="Five-step GraphRAG pipeline: chunk documents, extract entities, cluster communities, summarize each community, answer queries." srcset="https://substackcdn.com/image/fetch/$s_!3sa2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc0a682-761d-4eb1-9f88-d758496510f5_1314x872.png 424w, https://substackcdn.com/image/fetch/$s_!3sa2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc0a682-761d-4eb1-9f88-d758496510f5_1314x872.png 848w, https://substackcdn.com/image/fetch/$s_!3sa2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc0a682-761d-4eb1-9f88-d758496510f5_1314x872.png 1272w, https://substackcdn.com/image/fetch/$s_!3sa2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc0a682-761d-4eb1-9f88-d758496510f5_1314x872.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 aria-hidden="true" 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><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><ol><li><p>An LLM reads every chunk and extracts entities plus relationships.</p></li><li><p>Community detection clusters related entities into neighborhoods.</p></li><li><p>An LLM writes a summary report for every community.</p></li><li><p>At query time, broad questions map-reduce over the reports; specific questions expand from a matched entity.</p></li></ol><p>It works. It is also brutal on cost: an LLM call per chunk at index time. <strong>One widely cited estimate put it at</strong><span> around $33,000 to index a single large enterprise dataset.</span> Lesson one: the naive version is too expensive, and its free-text edges do not compose.</p><p>LazyGraphRAG (Microsoft&#8217;s own correction) flips the design: build only a cheap structural graph at index time, and do the expensive thinking at query time. Indexing cost drops to about 0.1% of the original. Answer quality stays comparable.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cYJb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F386a685b-801c-418d-993f-2019189e5ba4_1312x874.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cYJb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F386a685b-801c-418d-993f-2019189e5ba4_1312x874.png 424w, https://substackcdn.com/image/fetch/$s_!cYJb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F386a685b-801c-418d-993f-2019189e5ba4_1312x874.png 848w, https://substackcdn.com/image/fetch/$s_!cYJb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F386a685b-801c-418d-993f-2019189e5ba4_1312x874.png 1272w, https://substackcdn.com/image/fetch/$s_!cYJb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F386a685b-801c-418d-993f-2019189e5ba4_1312x874.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cYJb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F386a685b-801c-418d-993f-2019189e5ba4_1312x874.png" width="1312" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/386a685b-801c-418d-993f-2019189e5ba4_1312x874.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1312,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2285930,&quot;alt&quot;:&quot;LazyGraphRAG lesson: cheap structural graph at index time, expensive thinking moved to query time, indexing cost drops to 0.1 percent.&quot;,&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://theaioperator.io/i/207810783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F386a685b-801c-418d-993f-2019189e5ba4_1312x874.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="LazyGraphRAG lesson: cheap structural graph at index time, expensive thinking moved to query time, indexing cost drops to 0.1 percent." title="LazyGraphRAG lesson: cheap structural graph at index time, expensive thinking moved to query time, indexing cost drops to 0.1 percent." srcset="https://substackcdn.com/image/fetch/$s_!cYJb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F386a685b-801c-418d-993f-2019189e5ba4_1312x874.png 424w, https://substackcdn.com/image/fetch/$s_!cYJb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F386a685b-801c-418d-993f-2019189e5ba4_1312x874.png 848w, https://substackcdn.com/image/fetch/$s_!cYJb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F386a685b-801c-418d-993f-2019189e5ba4_1312x874.png 1272w, https://substackcdn.com/image/fetch/$s_!cYJb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F386a685b-801c-418d-993f-2019189e5ba4_1312x874.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 aria-hidden="true" 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><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>Lesson two, and remember this one: you do not need to pre-compute the graph&#8217;s meaning. A cheap structural graph plus smart traversal at query time gets most of the value.</p><p>HippoRAG 2 (2025) is the benchmark king. It fuses graph structure with embeddings and ranks results by spreading importance along edges from wherever the query touched the graph. It spends about 1,000 tokens per query, wins on multi-hop, and, critically, does not get worse at simple questions to get better at hard ones. Most graph systems do. Lesson three: the winning retrieval is hybrid, never graph-only.</p><p>The 2026 trend line across the whole field: lazy indexing, agentic traversal (the agent decides which hops to take, live), small controlled edge vocabularies, and honest routing. Use the graph only for questions that need it.</p><h2>Memory that knows what time it is</h2><p>GraphRAG answers questions about a corpus. Agent memory is harder: knowledge that changes while the agent uses it. You change jobs. A decision gets reversed. A fact true in March is false in July.</p><p>This is where graphs do something vector stores structurally cannot.</p><p>Graphiti, the open-source engine behind Zep, tracks two timelines per edge: when the fact was true in the world, and when the system learned it. When new information contradicts an old edge, the old edge is not deleted. Its validity interval is closed, and the new edge takes over.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!itkw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7e8a9b-974a-4a80-a313-1f7437b7e552_1310x874.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!itkw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7e8a9b-974a-4a80-a313-1f7437b7e552_1310x874.png 424w, https://substackcdn.com/image/fetch/$s_!itkw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7e8a9b-974a-4a80-a313-1f7437b7e552_1310x874.png 848w, https://substackcdn.com/image/fetch/$s_!itkw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7e8a9b-974a-4a80-a313-1f7437b7e552_1310x874.png 1272w, https://substackcdn.com/image/fetch/$s_!itkw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7e8a9b-974a-4a80-a313-1f7437b7e552_1310x874.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!itkw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7e8a9b-974a-4a80-a313-1f7437b7e552_1310x874.png" width="1310" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df7e8a9b-974a-4a80-a313-1f7437b7e552_1310x874.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1310,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2142811,&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://theaioperator.io/i/207810783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7e8a9b-974a-4a80-a313-1f7437b7e552_1310x874.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_!itkw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7e8a9b-974a-4a80-a313-1f7437b7e552_1310x874.png 424w, https://substackcdn.com/image/fetch/$s_!itkw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7e8a9b-974a-4a80-a313-1f7437b7e552_1310x874.png 848w, https://substackcdn.com/image/fetch/$s_!itkw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7e8a9b-974a-4a80-a313-1f7437b7e552_1310x874.png 1272w, https://substackcdn.com/image/fetch/$s_!itkw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7e8a9b-974a-4a80-a313-1f7437b7e552_1310x874.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 aria-hidden="true" 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><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 agent can now answer both &#8220;where does she work?&#8221; and &#8220;where did she work in 2024?&#8221; from the same graph. Facts get superseded, not overwritten. A vector store can only overwrite or duplicate; it has no native concept of &#8220;this was true until May.&#8221;</p><p>Any long-lived knowledge base has this shape. Decisions supersede decisions. Claims go stale. A system that cannot represent &#8220;X replaced Y on this date&#8221; slowly fills with contradictions, and an agent reading it will confidently cite the stale half.</p><p>Notice the vocabulary this needs: supersedes, contradicts, valid_from, valid_until. Typed edges again.</p><h2>The scoreboard, honestly</h2><p>Half the numbers in this field are vendor-reported on their own benchmarks. Here is what independent evaluation actually shows, as of mid-2026:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YmZB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bb9b0d-3e04-48a7-934b-a20ea91a30aa_1310x880.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YmZB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bb9b0d-3e04-48a7-934b-a20ea91a30aa_1310x880.png 424w, https://substackcdn.com/image/fetch/$s_!YmZB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bb9b0d-3e04-48a7-934b-a20ea91a30aa_1310x880.png 848w, https://substackcdn.com/image/fetch/$s_!YmZB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bb9b0d-3e04-48a7-934b-a20ea91a30aa_1310x880.png 1272w, https://substackcdn.com/image/fetch/$s_!YmZB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bb9b0d-3e04-48a7-934b-a20ea91a30aa_1310x880.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YmZB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bb9b0d-3e04-48a7-934b-a20ea91a30aa_1310x880.png" width="1310" height="880" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77bb9b0d-3e04-48a7-934b-a20ea91a30aa_1310x880.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:880,&quot;width&quot;:1310,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2153729,&quot;alt&quot;:&quot;Benchmark scoreboard: graphs win multi-hop, temporal, and synthesis questions; vector search wins simple lookups and cost&quot;,&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://theaioperator.io/i/207810783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bb9b0d-3e04-48a7-934b-a20ea91a30aa_1310x880.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Benchmark scoreboard: graphs win multi-hop, temporal, and synthesis questions; vector search wins simple lookups and cost" title="Benchmark scoreboard: graphs win multi-hop, temporal, and synthesis questions; vector search wins simple lookups and cost" srcset="https://substackcdn.com/image/fetch/$s_!YmZB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bb9b0d-3e04-48a7-934b-a20ea91a30aa_1310x880.png 424w, https://substackcdn.com/image/fetch/$s_!YmZB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bb9b0d-3e04-48a7-934b-a20ea91a30aa_1310x880.png 848w, https://substackcdn.com/image/fetch/$s_!YmZB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bb9b0d-3e04-48a7-934b-a20ea91a30aa_1310x880.png 1272w, https://substackcdn.com/image/fetch/$s_!YmZB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bb9b0d-3e04-48a7-934b-a20ea91a30aa_1310x880.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 aria-hidden="true" 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><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>Graphs win three things, by wide margins:</p><ul><li><p>Multi-hop reasoning: 53.4% vs 42.9% for vector RAG on GraphRAG-Bench; HippoRAG 2 beats a strong embedding model by 9.5 F1 points on 2WikiMultiHopQA.</p></li><li><p>Temporal reasoning: the graph variant of Mem0 scores 58.1 where OpenAI&#8217;s memory scores 21.7. The most lopsided numbers in the field.</p></li><li><p>Corpus-wide synthesis: 64.4% vs 51.3%.</p></li></ul><p>Graphs lose two things:</p><ul><li><p>Simple fact lookup: 60.9% for plain vector RAG vs 60.1% for the best graph method. The graph adds redundant context and wins nothing.</p></li><li><p>Cost: Microsoft GraphRAG&#8217;s global search burned 331,375 tokens per query in the benchmark. Vector RAG: 880. (HippoRAG 2: 1,008. Efficiency is possible.)</p></li></ul><p>Two warnings worth the whole section. LightRAG posted huge wins on its own benchmark, then collapsed to 6.6 average F1 (versus 59.8 for HippoRAG 2) under independent evaluation. Never trust a system evaluated only by its authors. And in Mem0&#8217;s own paper, the graph variant lost to the non-graph variant on multi-hop questions. Graphs are a tool, not a religion.</p><p>The practitioner consensus: route by question type. Vector for lookups, graph for chains.</p><h2>The math that kills graph projects</h2><p>If graphs win benchmarks, why does not everyone run one? Because of one number almost nobody says out loud.</p><p>Entity resolution is deciding that &#8220;Dr. John Smith,&#8221; &#8220;J. Smith,&#8221; and &#8220;John&#8221; are one node, and that &#8220;Mercury the planet&#8221; and &#8220;Mercury the element&#8221; are two. Extraction pipelines get this wrong constantly, and the errors compound multiplicatively over hops.</p><p>At 95% per-hop accuracy, a 5-hop chain is 77% trustworthy. At 85%, it is 44%.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Tam!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9199652-354e-4399-ab6f-b44519f732c3_1312x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Tam!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9199652-354e-4399-ab6f-b44519f732c3_1312x876.png 424w, https://substackcdn.com/image/fetch/$s_!4Tam!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9199652-354e-4399-ab6f-b44519f732c3_1312x876.png 848w, https://substackcdn.com/image/fetch/$s_!4Tam!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9199652-354e-4399-ab6f-b44519f732c3_1312x876.png 1272w, https://substackcdn.com/image/fetch/$s_!4Tam!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9199652-354e-4399-ab6f-b44519f732c3_1312x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Tam!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9199652-354e-4399-ab6f-b44519f732c3_1312x876.png" width="1312" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9199652-354e-4399-ab6f-b44519f732c3_1312x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1312,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2304736,&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://theaioperator.io/i/207810783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9199652-354e-4399-ab6f-b44519f732c3_1312x876.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_!4Tam!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9199652-354e-4399-ab6f-b44519f732c3_1312x876.png 424w, https://substackcdn.com/image/fetch/$s_!4Tam!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9199652-354e-4399-ab6f-b44519f732c3_1312x876.png 848w, https://substackcdn.com/image/fetch/$s_!4Tam!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9199652-354e-4399-ab6f-b44519f732c3_1312x876.png 1272w, https://substackcdn.com/image/fetch/$s_!4Tam!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9199652-354e-4399-ab6f-b44519f732c3_1312x876.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 aria-hidden="true" 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><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>Your impressive multi-hop traversal is a coin flip.</p><p>Sit with that, because it flips the whole build order. The expensive part of graph engineering is not graph algorithms. It is deciding what is the same thing. And there is one place where that problem is already solved: human-curated wikilinks. When someone writes [[ADR-007]] in a note, entity resolution is done, by construction. No fuzzy merging, no compounding error.</p><p>Extraction pipelines spend most of their engineering budget trying to recover what a wikilink gives you for free.</p><h2>The gap nobody has claimed</h2><p>I maintain <a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain</a>, an open-source Claude Code skill that runs an Obsidian vault as an AI-first second brain (45 commands, MIT, starred by 3,400+ developers). I have written before about <a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">what a working second brain has to do that Karpathy&#8217;s LLM Wiki pattern does not</a>. So the question I actually cared about all weekend: who has built graph engineering on plain markdown?</p><p>The answer surprised me. The space is five months old, moving fast, and every single player is missing exactly one leg of the tripod: typed edges in the files, graph rules and validation, agent retrieval.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0G6g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0864d56-f410-45f3-9a2a-d7c5f88c682f_1316x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0G6g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0864d56-f410-45f3-9a2a-d7c5f88c682f_1316x876.png 424w, https://substackcdn.com/image/fetch/$s_!0G6g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0864d56-f410-45f3-9a2a-d7c5f88c682f_1316x876.png 848w, https://substackcdn.com/image/fetch/$s_!0G6g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0864d56-f410-45f3-9a2a-d7c5f88c682f_1316x876.png 1272w, https://substackcdn.com/image/fetch/$s_!0G6g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0864d56-f410-45f3-9a2a-d7c5f88c682f_1316x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0G6g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0864d56-f410-45f3-9a2a-d7c5f88c682f_1316x876.png" width="1316" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0864d56-f410-45f3-9a2a-d7c5f88c682f_1316x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1316,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2314495,&quot;alt&quot;:&quot;Market gap map: existing tools each cover two legs of the tripod of typed edges, graph rules, and agent retrieval, none covers all three.&quot;,&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://theaioperator.io/i/207810783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0864d56-f410-45f3-9a2a-d7c5f88c682f_1316x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Market gap map: existing tools each cover two legs of the tripod of typed edges, graph rules, and agent retrieval, none covers all three." title="Market gap map: existing tools each cover two legs of the tripod of typed edges, graph rules, and agent retrieval, none covers all three." srcset="https://substackcdn.com/image/fetch/$s_!0G6g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0864d56-f410-45f3-9a2a-d7c5f88c682f_1316x876.png 424w, https://substackcdn.com/image/fetch/$s_!0G6g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0864d56-f410-45f3-9a2a-d7c5f88c682f_1316x876.png 848w, https://substackcdn.com/image/fetch/$s_!0G6g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0864d56-f410-45f3-9a2a-d7c5f88c682f_1316x876.png 1272w, https://substackcdn.com/image/fetch/$s_!0G6g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0864d56-f410-45f3-9a2a-d7c5f88c682f_1316x876.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 aria-hidden="true" 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><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><ul><li><p>Basic Memory (3.5k stars) has typed relations in markdown and a real agent API. But the types are freeform strings: no vocabulary, no rules, no validation.</p></li><li><p>Breadcrumbs, the veteran Obsidian plugin, has real graph engineering: typed links, automatic inverses, transitive rules. Built entirely for human navigation. No AI surface at all.</p></li><li><p>Penfield is the only team articulating the full vision, and they route your graph into their cloud for $10 to 20 a month. Your markdown is an import source, not the store.</p></li><li><p>Others (Rowboat at 13.1k stars, obra&#8217;s knowledge-graph, IWE) ship agent-facing graph tools over vaults with explicitly untyped edges.</p></li></ul><p>And two things, as of this weekend, exist nowhere:</p><ol><li><p>A linter for typed edges. Nothing validates a vault&#8217;s graph: unknown types, dangling targets, missing inverses, contradiction cycles. Zero tools.</p></li><li><p>An eval proving typing works. Nobody has published evidence that typed links measurably improve agent answers over plain links. Zero hits.</p></li></ol><p>A well-kept vault is already 80% of a GraphRAG index. Entity resolution: solved by wikilinks. Indexing cost: zero, the graph is built at write time. The missing 20% is exactly those two lists above. </p><h2>What I am doing about it</h2><p>I am building the missing 20% into <a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">obsidian-second-brain</a>, in the open, starting this week:</p><ol><li><p>A small typed-edge vocabulary (10 to 20 verbs: supersedes, depends_on, decided_by, caused) written as plain inline fields, so notes stay human-readable and Obsidian-native.</p></li><li><p>The linter. The thing that exists nowhere, and the cheapest to ship.</p></li><li><p>The eval: same vault, same questions, typed versus untyped retrieval, published numbers.</p></li></ol><p><strong>Update (July 21): the typed-edge vocabulary and the linter shipped in the <a href="https://github.com/eugeniughelbur/obsidian-second-brain">repo </a>the day after this post went out. The eval is the piece still open.</strong></p><p>The 2026 consensus from every serious system points the same way: small typed core, cheap indexing, hybrid retrieval, temporal supersession. All four of those are implementable on markdown files you own. That is the version of graph engineering that survives after the hype cycle moves on.</p><p>If you want to watch it get built (and get the benchmark numbers when the eval lands), subscribe. This is the kind of thing I ship here every two weeks.</p><p>Turns out the term everyone laughed at pointed at something real. The people laughing and the people building are not the same people.</p><h2>Frequently asked questions</h2><p><strong>What is graph engineering?</strong> Graph engineering is designing AI systems around explicit graphs: knowledge stored as nodes (entities) and typed edges (relationships) that an agent can traverse, instead of flat documents searched by similarity. The term went viral in July 2026, but the underlying discipline (knowledge graphs, GraphRAG, graph-based agent memory) predates the name by years.</p><p><strong>Is graph engineering the same as GraphRAG?</strong> GraphRAG is one part of it: retrieval-augmented generation where the retrieval step uses a graph. Graph engineering also covers agent memory graphs (like Zep&#8217;s Graphiti) and multi-agent orchestration graphs (like LangGraph).</p><p><strong>Is GraphRAG better than vector RAG?</strong> It depends on the question type. Independent benchmarks show graphs win multi-hop reasoning (53.4% vs 42.9%), temporal reasoning, and corpus-wide synthesis, and lose on simple fact lookups and cost. The practitioner consensus is to route by question type.</p><p><strong>What is a typed edge in a knowledge graph?</strong> An untyped edge only says two things are related. A typed edge names the relationship: supersedes, depends_on, decided_by, caused. Types are what let an agent reason over the graph instead of guessing what each link means.</p><p><strong>Can I build a knowledge graph in Obsidian?</strong> Yes. Every note is a node and every wikilink is an edge, which solves entity resolution by construction. What Obsidian lacks out of the box is typed edges, graph validation, and an AI retrieval layer, which is the gap this article describes.</p><p><strong>Why do knowledge graph projects fail in production?</strong> Entity resolution errors compound multiplicatively over hops: at 85% per-hop accuracy, a 5-hop chain is only 44% trustworthy. Stale graphs and indexing cost are the other two killers.</p><h2>Key takeaways</h2><ul><li><p>Vector search finds things that sound like your question. Graphs find things that are connected to your answer.</p></li><li><p>&#8220;Graph engineering&#8221; was born on X on July 18, 2026 with three competing meanings. Only graph-structured knowledge and memory has benchmarks and production evidence behind it.</p></li><li><p>Graphs win multi-hop, temporal, and synthesis questions by wide margins, and lose simple lookups and cost. Route by question type.</p></li><li><p>An untyped link carries one bit. A typed edge (supersedes, depends_on, caused) is what turns a pile of links into something an agent can reason over.</p></li><li><p>Entity resolution, not graph algorithms, is where graph projects die: at 85% per-hop accuracy, a 5-hop traversal is 44% trustworthy. Human-curated wikilinks solve it by construction.</p></li><li><p>Typed edges plus graph rules plus agent retrieval on plain markdown exists nowhere as one local-first package. The linter and the typed-vs-untyped eval have never been shipped by anyone.</p></li></ul><h2>Further reading</h2><ul><li><p><a href="https://arxiv.org/abs/2502.14802">HippoRAG 2 (arXiv 2502.14802)</a> - the benchmark-king paper; also the independent evaluation where LightRAG collapsed.</p></li><li><p><a href="https://arxiv.org/abs/2501.13956">Zep: temporal knowledge graphs for agent memory (arXiv 2501.13956)</a> - the bi-temporal model behind &#8220;facts expire, not die.&#8221;</p></li><li><p><a href="https://arxiv.org/abs/2506.05690">GraphRAG-Bench (arXiv 2506.05690)</a> - the honest scoreboard: where graphs win and lose by task type.</p></li><li><p><a href="https://www.drjoshcsimmons.com/writing/we-are-entering-the-graph-engineering-phase">We are entering the graph engineering phase</a> - the July 4 post that quietly coined the term before the meme wave.</p></li><li><p><a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">I rebuilt Karpathy&#8217;s LLM Wiki. Here&#8217;s what&#8217;s missing.</a> - my earlier piece on what a working second brain needs beyond the static wiki pattern.</p></li></ul><h2>About the author</h2><p><span>Eugeniu Ghelbur is an AI Automation Engineer and the creator of </span><a href="https://github.com/eugeniughelbur/obsidian-second-brain"><span>obsidian-second-brain, an open-source</span></a><span> Claude Code skill starred by over 3,400 developers on GitHub. He builds production AI systems for marketing and sales workflows, and his personal research covers AI agent memory, AI-first knowledge management, and second brains that maintain themselves. He writes The AI Operator (</span><a href="https://theaioperator.io/"><span>theaioperator.io</span></a><span>), a weekly systems newsletter where every post documents a working build, including this one. The fastest way to reach him is </span><a href="mailto:e.ghelbur@gmail.com">e.ghelbur@gmail.com</a><span>, and his open-source work lives at </span><a href="https://github.com/eugeniughelbur/obsidian-second-brain"><span>github.com/eugeniughelbur.</span></a></p>]]></content:encoded></item><item><title><![CDATA[How I gave Claude Code memory without a vector DB]]></title><description><![CDATA[A small hook injects at most 4 notes from my Obsidian vault into every prompt. No embeddings, no database, and it knows when to stay silent.]]></description><link>https://theaioperator.io/p/how-i-gave-claude-code-memory-without</link><guid isPermaLink="false">https://theaioperator.io/p/how-i-gave-claude-code-memory-without</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Sat, 18 Jul 2026 18:45:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!K7Fl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>TL;DR</strong></p><ul><li><p>Claude forgets everything between sessions, and the popular fixes are vector databases and memory frameworks.</p></li><li><p>I shipped a bounded recall hook instead: at most 4 relevant notes from my Obsidian vault per prompt, and silence when nothing truly matches.</p></li><li><p>Under roughly 50,000 notes, plain lexical search with a hard budget beats a vector database. Your notes are already the memory.</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_!K7Fl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K7Fl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.png 424w, https://substackcdn.com/image/fetch/$s_!K7Fl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.png 848w, https://substackcdn.com/image/fetch/$s_!K7Fl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.png 1272w, https://substackcdn.com/image/fetch/$s_!K7Fl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K7Fl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.png" width="1316" height="878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:1316,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2128955,&quot;alt&quot;:&quot;Hand-drawn sketchnote titled \&quot;Memory without a database\&quot;. A stack of four notes flows into a terminal window labeled AI agent with an arrow reading \&quot;4 notes max\&quot;, while a crossed-out database cylinder is marked \&quot;not needed\&quot;. Tagline: your notes are the memory.&quot;,&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://theaioperator.io/i/207580971?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hand-drawn sketchnote titled &quot;Memory without a database&quot;. A stack of four notes flows into a terminal window labeled AI agent with an arrow reading &quot;4 notes max&quot;, while a crossed-out database cylinder is marked &quot;not needed&quot;. Tagline: your notes are the memory." title="Hand-drawn sketchnote titled &quot;Memory without a database&quot;. A stack of four notes flows into a terminal window labeled AI agent with an arrow reading &quot;4 notes max&quot;, while a crossed-out database cylinder is marked &quot;not needed&quot;. Tagline: your notes are the memory." srcset="https://substackcdn.com/image/fetch/$s_!K7Fl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.png 424w, https://substackcdn.com/image/fetch/$s_!K7Fl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.png 848w, https://substackcdn.com/image/fetch/$s_!K7Fl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.png 1272w, https://substackcdn.com/image/fetch/$s_!K7Fl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feccdc3ce-4eed-4b29-b8da-df6f7ad2fa55_1316x878.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 aria-hidden="true" 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><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><strong>You can give Claude Code persistent memory with markdown files you already have.</strong> No vector database, no memory framework, no new service. Here is the version I run every day, and why the boring approach wins.</p><p>I run Claude Code all day. Every session used to start the same way: re-explaining who I am, what I decided last month, which approach I already rejected. The model is brilliant and amnesiac at the same time.</p><p>The standard advice for fixing this is heavy. Spin up a vector database. Add an embeddings pipeline. Install a memory framework. Mem0 alone has 48,000 GitHub stars and $24M in funding riding on that advice.</p><p>I took the opposite bet. My memory layer is a folder of markdown notes and one small hook. It has been running on my vault of 1,700+ notes, and it is <a href="https://github.com/eugeniughelbur/obsidian-second-brain">free and open source</a>.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>The memory problem nobody names</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g-7z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f1280eb-2ee3-448b-9838-9588f70b9711_1290x868.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g-7z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f1280eb-2ee3-448b-9838-9588f70b9711_1290x868.png 424w, https://substackcdn.com/image/fetch/$s_!g-7z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f1280eb-2ee3-448b-9838-9588f70b9711_1290x868.png 848w, https://substackcdn.com/image/fetch/$s_!g-7z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f1280eb-2ee3-448b-9838-9588f70b9711_1290x868.png 1272w, https://substackcdn.com/image/fetch/$s_!g-7z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f1280eb-2ee3-448b-9838-9588f70b9711_1290x868.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g-7z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f1280eb-2ee3-448b-9838-9588f70b9711_1290x868.png" width="1290" height="868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f1280eb-2ee3-448b-9838-9588f70b9711_1290x868.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:868,&quot;width&quot;:1290,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2006526,&quot;alt&quot;:&quot;Sketchnote comparing two prompts. Without a budget, a huge memory blob squeezes the task into a corner. With a recall budget, memory is a thin capped strip labeled \&quot;memory: 4 notes\&quot; and the task fills the space.&quot;,&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://theaioperator.io/i/207580971?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f1280eb-2ee3-448b-9838-9588f70b9711_1290x868.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote comparing two prompts. Without a budget, a huge memory blob squeezes the task into a corner. With a recall budget, memory is a thin capped strip labeled &quot;memory: 4 notes&quot; and the task fills the space." title="Sketchnote comparing two prompts. Without a budget, a huge memory blob squeezes the task into a corner. With a recall budget, memory is a thin capped strip labeled &quot;memory: 4 notes&quot; and the task fills the space." srcset="https://substackcdn.com/image/fetch/$s_!g-7z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f1280eb-2ee3-448b-9838-9588f70b9711_1290x868.png 424w, https://substackcdn.com/image/fetch/$s_!g-7z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f1280eb-2ee3-448b-9838-9588f70b9711_1290x868.png 848w, https://substackcdn.com/image/fetch/$s_!g-7z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f1280eb-2ee3-448b-9838-9588f70b9711_1290x868.png 1272w, https://substackcdn.com/image/fetch/$s_!g-7z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f1280eb-2ee3-448b-9838-9588f70b9711_1290x868.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 aria-hidden="true" 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><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 &#8220;Claude memory&#8221; guides are feature tours. They list the layers, show the config flags, and stop.</p><p>The unsolved problems sit one level deeper. Context inflation: memory tokens crowd out task tokens until the model reads more about you than about the work. Memory poisoning: one bad write and the agent believes it forever. Stale beliefs: the note says X, reality moved to Y months ago.</p><p>Every one of these is a retrieval problem, not a storage problem. Storing knowledge is easy. Deciding what deserves to enter the prompt, and how much, is the hard part.</p><h2>What Anthropic gives you out of the box</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0O0X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dbd564a-9439-43ef-92c2-6cb6306eb0a5_1294x858.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0O0X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dbd564a-9439-43ef-92c2-6cb6306eb0a5_1294x858.png 424w, https://substackcdn.com/image/fetch/$s_!0O0X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dbd564a-9439-43ef-92c2-6cb6306eb0a5_1294x858.png 848w, https://substackcdn.com/image/fetch/$s_!0O0X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dbd564a-9439-43ef-92c2-6cb6306eb0a5_1294x858.png 1272w, https://substackcdn.com/image/fetch/$s_!0O0X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dbd564a-9439-43ef-92c2-6cb6306eb0a5_1294x858.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0O0X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dbd564a-9439-43ef-92c2-6cb6306eb0a5_1294x858.png" width="1294" height="858" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3dbd564a-9439-43ef-92c2-6cb6306eb0a5_1294x858.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:858,&quot;width&quot;:1294,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1930983,&quot;alt&quot;:&quot;Sketchnote of a three-shelf bookcase: a chat bubble for chat memory, a single MEMORY.md document holding 200 lines, and a wide row of notes labeled \&quot;your vault, 1,700 notes\&quot;, bracketed as the subject of this post.&quot;,&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://theaioperator.io/i/207580971?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dbd564a-9439-43ef-92c2-6cb6306eb0a5_1294x858.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote of a three-shelf bookcase: a chat bubble for chat memory, a single MEMORY.md document holding 200 lines, and a wide row of notes labeled &quot;your vault, 1,700 notes&quot;, bracketed as the subject of this post." title="Sketchnote of a three-shelf bookcase: a chat bubble for chat memory, a single MEMORY.md document holding 200 lines, and a wide row of notes labeled &quot;your vault, 1,700 notes&quot;, bracketed as the subject of this post." srcset="https://substackcdn.com/image/fetch/$s_!0O0X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dbd564a-9439-43ef-92c2-6cb6306eb0a5_1294x858.png 424w, https://substackcdn.com/image/fetch/$s_!0O0X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dbd564a-9439-43ef-92c2-6cb6306eb0a5_1294x858.png 848w, https://substackcdn.com/image/fetch/$s_!0O0X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dbd564a-9439-43ef-92c2-6cb6306eb0a5_1294x858.png 1272w, https://substackcdn.com/image/fetch/$s_!0O0X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dbd564a-9439-43ef-92c2-6cb6306eb0a5_1294x858.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 aria-hidden="true" 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><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>Claude ships three memory layers now. Chat memory in the apps, which reached free users earlier this year. Projects, which scope context to a workspace. And in Claude Code, Auto Memory: on by default, it writes a MEMORY.md per project and loads the first 200 lines, about 25KB, into the system prompt.</p><p>This is genuinely useful, and I keep it on. But it remembers the project, not you. It holds &#8220;this repo uses ruff with line-length 100&#8221;, not the decision you made in March, the person you met at that call, or the approach you already tried and killed.</p><p>That second kind of memory lives in my notes. I have written before about <a href="https://theaioperator.io/p/the-claudemd-behind-a-tool-3000-developers">what belongs in a CLAUDE.md</a> and the answer is: not this. Your accumulated knowledge does not fit in 200 lines.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>A recall budget, not a database</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WeXF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1484aeb0-fb29-4ce4-a0e4-b54b3dfad29e_1290x862.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WeXF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1484aeb0-fb29-4ce4-a0e4-b54b3dfad29e_1290x862.png 424w, https://substackcdn.com/image/fetch/$s_!WeXF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1484aeb0-fb29-4ce4-a0e4-b54b3dfad29e_1290x862.png 848w, https://substackcdn.com/image/fetch/$s_!WeXF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1484aeb0-fb29-4ce4-a0e4-b54b3dfad29e_1290x862.png 1272w, https://substackcdn.com/image/fetch/$s_!WeXF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1484aeb0-fb29-4ce4-a0e4-b54b3dfad29e_1290x862.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WeXF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1484aeb0-fb29-4ce4-a0e4-b54b3dfad29e_1290x862.png" width="1290" height="862" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1484aeb0-fb29-4ce4-a0e4-b54b3dfad29e_1290x862.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:862,&quot;width&quot;:1290,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1839582,&quot;alt&quot;:&quot;Sketchnote of a horizontal axis with a tick at 50,000 items. Left of the tick, note cards labeled \&quot;text search wins\&quot;; right of it, a database cylinder labeled \&quot;vectors win\&quot;. A small dot near zero marks \&quot;your vault: 1,700\&quot;.&quot;,&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://theaioperator.io/i/207580971?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1484aeb0-fb29-4ce4-a0e4-b54b3dfad29e_1290x862.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote of a horizontal axis with a tick at 50,000 items. Left of the tick, note cards labeled &quot;text search wins&quot;; right of it, a database cylinder labeled &quot;vectors win&quot;. A small dot near zero marks &quot;your vault: 1,700&quot;." title="Sketchnote of a horizontal axis with a tick at 50,000 items. Left of the tick, note cards labeled &quot;text search wins&quot;; right of it, a database cylinder labeled &quot;vectors win&quot;. A small dot near zero marks &quot;your vault: 1,700&quot;." srcset="https://substackcdn.com/image/fetch/$s_!WeXF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1484aeb0-fb29-4ce4-a0e4-b54b3dfad29e_1290x862.png 424w, https://substackcdn.com/image/fetch/$s_!WeXF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1484aeb0-fb29-4ce4-a0e4-b54b3dfad29e_1290x862.png 848w, https://substackcdn.com/image/fetch/$s_!WeXF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1484aeb0-fb29-4ce4-a0e4-b54b3dfad29e_1290x862.png 1272w, https://substackcdn.com/image/fetch/$s_!WeXF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1484aeb0-fb29-4ce4-a0e4-b54b3dfad29e_1290x862.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 aria-hidden="true" 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><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>Here is the claim that made me build instead of install: below a threshold, vector databases are overhead.</p><p>One 2026 analysis puts the crossover near 50,000 stored items. Under that, lexical search (BM25 plus a simple index) beats a vector setup on latency and on operability. Even Anthropic&#8217;s own managed agents default to filesystem memory, not a vector store.</p><p>A personal vault sits far below 50,000 notes. Mine is around 1,700 after two years of daily use. At that scale the expensive question is not &#8220;can I find related notes&#8221;, it is &#8220;how much found material should I inject&#8221;.</p><p>So the design flips. The scarce resource is prompt space, not recall. What Claude Code needs is a recall budget.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>The hook: 4 notes, 900 characters, or silence</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J8rH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb632cf4b-3031-4d83-99d6-536692fdce89_1294x862.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J8rH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb632cf4b-3031-4d83-99d6-536692fdce89_1294x862.png 424w, https://substackcdn.com/image/fetch/$s_!J8rH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb632cf4b-3031-4d83-99d6-536692fdce89_1294x862.png 848w, https://substackcdn.com/image/fetch/$s_!J8rH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb632cf4b-3031-4d83-99d6-536692fdce89_1294x862.png 1272w, https://substackcdn.com/image/fetch/$s_!J8rH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb632cf4b-3031-4d83-99d6-536692fdce89_1294x862.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J8rH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb632cf4b-3031-4d83-99d6-536692fdce89_1294x862.png" width="1294" height="862" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b632cf4b-3031-4d83-99d6-536692fdce89_1294x862.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:862,&quot;width&quot;:1294,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1848586,&quot;alt&quot;:&quot;Sketchnote pipeline in four numbered steps: your prompt, a magnifying glass searching the vault, a funnel capping output at max 4 notes, and injection into the AI agent terminal. A side arrow below the funnel reads \&quot;no match: silence\&quot;.&quot;,&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://theaioperator.io/i/207580971?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb632cf4b-3031-4d83-99d6-536692fdce89_1294x862.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote pipeline in four numbered steps: your prompt, a magnifying glass searching the vault, a funnel capping output at max 4 notes, and injection into the AI agent terminal. A side arrow below the funnel reads &quot;no match: silence&quot;." title="Sketchnote pipeline in four numbered steps: your prompt, a magnifying glass searching the vault, a funnel capping output at max 4 notes, and injection into the AI agent terminal. A side arrow below the funnel reads &quot;no match: silence&quot;." srcset="https://substackcdn.com/image/fetch/$s_!J8rH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb632cf4b-3031-4d83-99d6-536692fdce89_1294x862.png 424w, https://substackcdn.com/image/fetch/$s_!J8rH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb632cf4b-3031-4d83-99d6-536692fdce89_1294x862.png 848w, https://substackcdn.com/image/fetch/$s_!J8rH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb632cf4b-3031-4d83-99d6-536692fdce89_1294x862.png 1272w, https://substackcdn.com/image/fetch/$s_!J8rH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb632cf4b-3031-4d83-99d6-536692fdce89_1294x862.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 aria-hidden="true" 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><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 implementation is one UserPromptSubmit hook. On every prompt, it searches the vault and injects a small brief of the most relevant notes. Four rules make it work:</p><p><strong>Bounded.</strong> Hard cap of 4 notes, about 900 characters total. Memory can never crowd out the task. That is the whole answer to context inflation.</p><p><strong>Abstaining.</strong> If confidence is low, it injects nothing. Silence beats noise. A memory system that always says something is a noise generator with a database attached.</p><p><strong>Fail-closed.</strong> Any error and it exits silently. Recall must never break a prompt.</p><p><strong>Observable.</strong> Every inject and every abstain decision is logged to a JSONL file, so I can audit what my agent was told and when.</p><p>There is a fifth rule hiding in the design: no per-prompt index rebuild. An earlier fork of this idea re-indexed the whole vault on every prompt, which means latency grows with vault size. The hook reuses the index the vault already maintains, so a prompt costs the same at 1,700 notes as it did at 200.</p><p>The search underneath is the same one my vault uses everywhere: lexical scoring with freshness and supersession reranking. When a note is superseded by a newer decision, the old one steps back automatically. That is the practical answer to stale beliefs, and it is why <a href="https://theaioperator.io/p/i-built-a-tool-that-lets-my-obsidian">my Obsidian vault argues with me</a> instead of parroting my past mistakes.</p><p>Memory poisoning gets the same structural answer. Writes into the vault go through validation, and because memory is notes, a bad memory is a file I can open, read, and fix. Try doing that with a corrupted embedding.</p><p>Nothing runs until you set two environment variables and register the hook. Memory that reads your private notes should be opt-in, twice.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>What changed in practice</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NA0F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2635a1b3-a0e8-4c2a-8fb2-c47c3fb6f52b_1286x860.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NA0F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2635a1b3-a0e8-4c2a-8fb2-c47c3fb6f52b_1286x860.png 424w, https://substackcdn.com/image/fetch/$s_!NA0F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2635a1b3-a0e8-4c2a-8fb2-c47c3fb6f52b_1286x860.png 848w, https://substackcdn.com/image/fetch/$s_!NA0F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2635a1b3-a0e8-4c2a-8fb2-c47c3fb6f52b_1286x860.png 1272w, https://substackcdn.com/image/fetch/$s_!NA0F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2635a1b3-a0e8-4c2a-8fb2-c47c3fb6f52b_1286x860.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NA0F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2635a1b3-a0e8-4c2a-8fb2-c47c3fb6f52b_1286x860.png" width="1286" height="860" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2635a1b3-a0e8-4c2a-8fb2-c47c3fb6f52b_1286x860.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:860,&quot;width&quot;:1286,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1803305,&quot;alt&quot;:&quot;Sketchnote split panel. Before: a terminal window with a thought bubble asking \&quot;who are you?\&quot;. After: the same terminal connected by arrows to three notes labeled meeting, person, and decision, with a checkmark.&quot;,&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://theaioperator.io/i/207580971?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2635a1b3-a0e8-4c2a-8fb2-c47c3fb6f52b_1286x860.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote split panel. Before: a terminal window with a thought bubble asking &quot;who are you?&quot;. After: the same terminal connected by arrows to three notes labeled meeting, person, and decision, with a checkmark." title="Sketchnote split panel. Before: a terminal window with a thought bubble asking &quot;who are you?&quot;. After: the same terminal connected by arrows to three notes labeled meeting, person, and decision, with a checkmark." srcset="https://substackcdn.com/image/fetch/$s_!NA0F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2635a1b3-a0e8-4c2a-8fb2-c47c3fb6f52b_1286x860.png 424w, https://substackcdn.com/image/fetch/$s_!NA0F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2635a1b3-a0e8-4c2a-8fb2-c47c3fb6f52b_1286x860.png 848w, https://substackcdn.com/image/fetch/$s_!NA0F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2635a1b3-a0e8-4c2a-8fb2-c47c3fb6f52b_1286x860.png 1272w, https://substackcdn.com/image/fetch/$s_!NA0F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2635a1b3-a0e8-4c2a-8fb2-c47c3fb6f52b_1286x860.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 aria-hidden="true" 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><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 visible change is small and constant. I ask about a project, and the context of past decisions is just there. I mention a person, and the agent knows our history. No &#8220;as I mentioned before&#8221; theater, no re-pasting.</p><p>A concrete morning: I typed &#8220;draft the follow-up for yesterday&#8217;s call&#8221;. The hook matched three notes: the meeting note from the call, the person&#8217;s card, and a decision record from May that ruled out the approach I was about to suggest again. Four seconds of retrieval saved me from re-proposing something we killed two months ago.</p><p>One thing this system will not do is invent structure. The recall is only as good as the notes, and the notes stay good because the vault maintains itself: new information rewrites old pages, contradictions get flagged, and decisions carry dates. Retrieval and note quality are the same problem wearing two hats.</p><p>The invisible change matters more. Because the budget is 4 notes, I never wonder whether my prompt is drowning in memory. Because it abstains, unrelated prompts stay clean. Because everything is logged, I have caught bad matches and fixed the notes, not the model. The same pattern powered the <a href="https://theaioperator.io/p/karpathys-llm-wiki-v2-what-to-keep">LLM wiki experiment</a> that this system grew out of: the notes are the product, the AI is the librarian.</p><p>Honest limits: this is personal-scale memory. If you are building agent memory for millions of users, the vector people are right, and you should hire them. For one builder with one vault, they are solving a problem you do not have.</p><p>The other limit is discipline-shaped. If you do not write things down, there is nothing to recall. The hook made my notes more valuable, which made me write more of them. That loop was the point all along.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>Try it</h2><p>The hook ships inside obsidian-second-brain, MIT licensed, on GitHub at github.com/eugeniughelbur/obsidian-second-brain. Point it at any folder of markdown notes, set the two variables, register the hook, and your next Claude Code prompt starts with your own knowledge behind it.</p><h2>Frequently asked questions</h2><p><strong>How do I give Claude Code persistent memory?</strong><br>Three options: Claude Code&#8217;s built-in Auto Memory (on by default, per-project MEMORY.md), a memory framework with a vector database, or a recall hook over your existing notes. This post covers the third: a UserPromptSubmit hook that injects up to 4 relevant notes per prompt.</p><p><strong>Does Claude Code have built-in memory?</strong><br>Yes. Auto Memory writes a MEMORY.md per project and loads the first 200 lines (about 25KB) into the system prompt. It captures project conventions well, but it is not designed to hold your accumulated decisions, people, and research.</p><p><strong>Do I need a vector database for AI agent memory?</strong><br>Below roughly 50,000 stored items, no. Lexical search with a hard injection budget is faster to run and easier to operate. A personal notes vault is far below that threshold.</p><p><strong>What is a recall budget?</strong><br>A hard cap on how much memory can enter a prompt. Mine is 4 notes, about 900 characters. The cap solves context inflation: memory can inform the task but never crowd it out.</p><p><strong>Can Claude read my Obsidian vault?</strong><br>Yes, locally. The hook searches the vault files on your machine and injects short excerpts into the prompt. Nothing is uploaded anywhere; the vault stays plain markdown on disk.</p><p><strong>Is it safe to give an AI hook access to my notes?</strong><br>The hook is double-gated (two environment variables must be set), fail-closed (any error exits silently), and logged (every inject or abstain is written to a JSONL audit file). You can read every decision it made.</p><h2>Key takeaways</h2><ul><li><p>Agent memory is a retrieval problem, not a storage problem. Your notes already store the knowledge.</p></li><li><p>Below about 50,000 items, lexical search plus a hard budget beats a vector database on latency and operability.</p></li><li><p>A recall budget (4 notes, ~900 characters) solves context inflation by construction.</p></li><li><p>A memory system must be allowed to say nothing. Abstaining beats injecting noise.</p></li><li><p>Supersession-aware search answers stale memory: replaced decisions step back automatically.</p></li><li><p>Claude Code&#8217;s Auto Memory remembers the project. A vault recall hook remembers you. Run both.</p></li></ul><h2>Further reading</h2><ul><li><p>Claude Code memory docs: <a href="https://code.claude.com/docs/en/memory">https://code.claude.com/docs/en/memory</a></p></li><li><p>The obsidian-second-brain repo (the hook ships in v0.13+): <a href="https://github.com/eugeniughelbur/obsidian-second-brain">https://github.com/eugeniughelbur/obsidian-second-brain</a></p></li><li><p>thedeepfeed.ai analysis (2026-04-30) on the lexical-vs-vector crossover near 50,000 items: <a href="https://www.thedeepfeed.ai/">https://www.thedeepfeed.ai/</a></p></li><li><p>The launch story: <a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">I built this for myself. Then 1,374 strangers cloned it.</a></p></li><li><p>Anthropic on managed agents and filesystem memory: <a href="https://www.anthropic.com/engineering/managed-agents">https://www.anthropic.com/engineering/managed-agents</a></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>About the author</h2><p>Eugeniu Ghelbur is an AI Automation Engineer and the creator of <a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain</a>, an open-source Claude Code skill starred by over 3,300 developers on GitHub. He builds production AI systems for marketing and sales workflows, and his personal research covers AI agent memory, AI-first knowledge management, and second brains that maintain themselves. He writes The AI Operator (<a href="https://theaioperator.io/">theaioperator.io</a>), a weekly systems newsletter where every post documents a working build, including this one. The fastest way to reach him is <a href="mailto:e.ghelbur@gmail.com">e.ghelbur@gmail.com</a>, and his open-source work lives at github.com/eugeniughelbur.</p>]]></content:encoded></item><item><title><![CDATA[I built an AI tutor that fits on one screen]]></title><description><![CDATA[doceo is an open-source AI tutor built as a Claude Code skill. It turns any topic, file, or URL into a one-screen visual lesson, calibrated to what you already know. A NotebookLM alternative for learn]]></description><link>https://theaioperator.io/p/i-built-an-ai-tutor-that-fits-on</link><guid isPermaLink="false">https://theaioperator.io/p/i-built-an-ai-tutor-that-fits-on</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Tue, 07 Jul 2026 16:15:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!28kw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a9be370-1cc0-432f-986a-43fb80493162_1316x880.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>TL;DR</strong></p><ul><li><p>Ask AI to explain something and you get a wall of text you have to re-read three times.</p></li><li><p>I built doceo, an open-source Claude Code skill that turns any topic, file, folder, or URL into a one-screen visual lesson: one answer, one diagram, one analogy, a quiz.</p></li><li><p>It runs locally, remembers what you already know, and gets sharper after every lesson.</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_!28kw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a9be370-1cc0-432f-986a-43fb80493162_1316x880.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!28kw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a9be370-1cc0-432f-986a-43fb80493162_1316x880.png 424w, https://substackcdn.com/image/fetch/$s_!28kw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a9be370-1cc0-432f-986a-43fb80493162_1316x880.png 848w, https://substackcdn.com/image/fetch/$s_!28kw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a9be370-1cc0-432f-986a-43fb80493162_1316x880.png 1272w, https://substackcdn.com/image/fetch/$s_!28kw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a9be370-1cc0-432f-986a-43fb80493162_1316x880.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!28kw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a9be370-1cc0-432f-986a-43fb80493162_1316x880.png" width="1316" height="880" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a9be370-1cc0-432f-986a-43fb80493162_1316x880.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:880,&quot;width&quot;:1316,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2252591,&quot;alt&quot;:&quot;Hand-drawn sketchnote titled \&quot;An AI tutor that fits one screen.\&quot; A scribbled block crossed out and labeled \&quot;wall of text\&quot; turns, via a \&quot;becomes\&quot; arrow, into a tidy screen showing a small diagram, a checkmark, and a lightbulb, labeled \&quot;one screen.\&quot; Caption: one answer, one diagram, one analogy.&quot;,&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://theaioperator.io/i/205741823?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a9be370-1cc0-432f-986a-43fb80493162_1316x880.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hand-drawn sketchnote titled &quot;An AI tutor that fits one screen.&quot; A scribbled block crossed out and labeled &quot;wall of text&quot; turns, via a &quot;becomes&quot; arrow, into a tidy screen showing a small diagram, a checkmark, and a lightbulb, labeled &quot;one screen.&quot; Caption: one answer, one diagram, one analogy." title="Hand-drawn sketchnote titled &quot;An AI tutor that fits one screen.&quot; A scribbled block crossed out and labeled &quot;wall of text&quot; turns, via a &quot;becomes&quot; arrow, into a tidy screen showing a small diagram, a checkmark, and a lightbulb, labeled &quot;one screen.&quot; Caption: one answer, one diagram, one analogy." srcset="https://substackcdn.com/image/fetch/$s_!28kw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a9be370-1cc0-432f-986a-43fb80493162_1316x880.png 424w, https://substackcdn.com/image/fetch/$s_!28kw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a9be370-1cc0-432f-986a-43fb80493162_1316x880.png 848w, https://substackcdn.com/image/fetch/$s_!28kw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a9be370-1cc0-432f-986a-43fb80493162_1316x880.png 1272w, https://substackcdn.com/image/fetch/$s_!28kw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a9be370-1cc0-432f-986a-43fb80493162_1316x880.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 aria-hidden="true" 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><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><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p><strong>doceo is a free, open-source Claude Code skill that turns any topic, file, or URL into a one-screen visual lesson: one plain answer, one diagram, one analogy, and a quick quiz.</strong> Here is why I built it.</p><p>I ask AI to explain things all day. A new codebase, a config format I have not touched in a year, a concept three layers below what I actually work on.</p><p>The answer is almost always the same shape. A wall of text. Correct, thorough, and impossible to hold in my head. I read it, I get the gist, and an hour later I could not redraw it for you.</p><p>The problem is not the model. The model knows the thing. The problem is the format. A paragraph is how you store an explanation, not how you learn one.</p><p>So I built a tool that changes the format. It is called doceo, Latin for &#8220;I teach&#8221;, and it is a Claude Code skill I open-sourced. This is what it does and why it works.</p><h2>A lesson is not a paragraph</h2><p>Before I wrote any code I wrote down what a lesson should actually contain. Not an article. A lesson. The kind a good teacher gives you at a whiteboard in five minutes.</p><p>It has a shape:</p><ul><li><p>One sentence that answers the question directly, before anything else.</p></li><li><p>One diagram, because a picture holds in memory where a paragraph does not.</p></li><li><p>One analogy that maps the new thing onto something you already understand.</p></li><li><p>Where it fits, so the idea has a place to live next to what you know.</p></li><li><p>Baby steps, when the thing you asked is a task and not a concept.</p></li><li><p>A short self-quiz, because you do not know a thing until you can answer a question about it.</p></li><li><p>A couple of go-deeper links for when you want the full version.</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_!QK6s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc663c3bf-1482-4f52-8346-0bc61e87de3f_1312x878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QK6s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc663c3bf-1482-4f52-8346-0bc61e87de3f_1312x878.png 424w, https://substackcdn.com/image/fetch/$s_!QK6s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc663c3bf-1482-4f52-8346-0bc61e87de3f_1312x878.png 848w, https://substackcdn.com/image/fetch/$s_!QK6s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc663c3bf-1482-4f52-8346-0bc61e87de3f_1312x878.png 1272w, https://substackcdn.com/image/fetch/$s_!QK6s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc663c3bf-1482-4f52-8346-0bc61e87de3f_1312x878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QK6s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc663c3bf-1482-4f52-8346-0bc61e87de3f_1312x878.png" width="1312" height="878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c663c3bf-1482-4f52-8346-0bc61e87de3f_1312x878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:878,&quot;width&quot;:1312,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2133487,&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://theaioperator.io/i/205741823?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc663c3bf-1482-4f52-8346-0bc61e87de3f_1312x878.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_!QK6s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc663c3bf-1482-4f52-8346-0bc61e87de3f_1312x878.png 424w, https://substackcdn.com/image/fetch/$s_!QK6s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc663c3bf-1482-4f52-8346-0bc61e87de3f_1312x878.png 848w, https://substackcdn.com/image/fetch/$s_!QK6s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc663c3bf-1482-4f52-8346-0bc61e87de3f_1312x878.png 1272w, https://substackcdn.com/image/fetch/$s_!QK6s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc663c3bf-1482-4f52-8346-0bc61e87de3f_1312x878.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 aria-hidden="true" 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><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>That is the whole spec. One screen, seven parts. If it does not fit on one screen, it is not a lesson yet, it is reading.</p><h2>What I built</h2><p>doceo is a slash command. You type <code>/doceo</code> and point it at anything:</p><ul><li><p>a topic (&#8221;explain vector databases&#8221;)</p></li><li><p>a file or a folder (&#8221;what does this script do&#8221;)</p></li><li><p>a URL (&#8221;teach me this docs page&#8221;)</p></li></ul><p>It produces two things. A one-screen visual lesson as an HTML artifact you can open in a browser, and a plain markdown note that lands in my vault so the lesson does not evaporate when I close the tab.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!54jl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd93db8c-6842-4af6-af66-c9855aaf776b_1236x830.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!54jl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd93db8c-6842-4af6-af66-c9855aaf776b_1236x830.png 424w, https://substackcdn.com/image/fetch/$s_!54jl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd93db8c-6842-4af6-af66-c9855aaf776b_1236x830.png 848w, https://substackcdn.com/image/fetch/$s_!54jl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd93db8c-6842-4af6-af66-c9855aaf776b_1236x830.png 1272w, https://substackcdn.com/image/fetch/$s_!54jl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd93db8c-6842-4af6-af66-c9855aaf776b_1236x830.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!54jl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd93db8c-6842-4af6-af66-c9855aaf776b_1236x830.png" width="1236" height="830" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd93db8c-6842-4af6-af66-c9855aaf776b_1236x830.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:830,&quot;width&quot;:1236,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1875807,&quot;alt&quot;:&quot;Sketchnote titled \&quot;Point it at anything.\&quot; Three inputs, a topic tag, a file, and a URL link, feed into a terminal window labeled /doceo, which \&quot;produces\&quot; a card labeled \&quot;one-screen lesson.\&quot;&quot;,&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://theaioperator.io/i/205741823?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd93db8c-6842-4af6-af66-c9855aaf776b_1236x830.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote titled &quot;Point it at anything.&quot; Three inputs, a topic tag, a file, and a URL link, feed into a terminal window labeled /doceo, which &quot;produces&quot; a card labeled &quot;one-screen lesson.&quot;" title="Sketchnote titled &quot;Point it at anything.&quot; Three inputs, a topic tag, a file, and a URL link, feed into a terminal window labeled /doceo, which &quot;produces&quot; a card labeled &quot;one-screen lesson.&quot;" srcset="https://substackcdn.com/image/fetch/$s_!54jl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd93db8c-6842-4af6-af66-c9855aaf776b_1236x830.png 424w, https://substackcdn.com/image/fetch/$s_!54jl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd93db8c-6842-4af6-af66-c9855aaf776b_1236x830.png 848w, https://substackcdn.com/image/fetch/$s_!54jl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd93db8c-6842-4af6-af66-c9855aaf776b_1236x830.png 1272w, https://substackcdn.com/image/fetch/$s_!54jl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd93db8c-6842-4af6-af66-c9855aaf776b_1236x830.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 aria-hidden="true" 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><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>It is a Claude Code skill, so there is no app to install and no account to make. It is a folder of instructions Claude reads. It is public on GitHub under MIT. I built the first version and pushed it live the same day, which matters for a reason I will get to.</p><p>This is the same pattern I have used before with <a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">obsidian-second-brain</a>: a small, sharp skill that does one thing, lives in the open, and improves in public.</p><h2>The part that matters: it remembers you</h2><p>A generic explainer treats every reader as the same blank person. That is why the answers are so long. The tool has no idea what you already know, so it explains everything, just in case.</p><p>doceo keeps a local memory of who is learning. On my machine it lives in a <code>wiki/learning/</code> folder: a profile of what I already understand, a running file of things I have learned, my feedback, and a style file. It reads that at the start of every lesson.</p><p>So when I ask it to explain something adjacent to what I already know, it skips the part I know and spends the screen on the part I do not. The lesson gets shorter and sharper because it is calibrated to one specific person instead of everyone.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tbcS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a04e1f8-6eda-4c77-a8e2-cc0f3bbf576e_1238x826.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tbcS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a04e1f8-6eda-4c77-a8e2-cc0f3bbf576e_1238x826.png 424w, https://substackcdn.com/image/fetch/$s_!tbcS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a04e1f8-6eda-4c77-a8e2-cc0f3bbf576e_1238x826.png 848w, https://substackcdn.com/image/fetch/$s_!tbcS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a04e1f8-6eda-4c77-a8e2-cc0f3bbf576e_1238x826.png 1272w, https://substackcdn.com/image/fetch/$s_!tbcS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a04e1f8-6eda-4c77-a8e2-cc0f3bbf576e_1238x826.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tbcS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a04e1f8-6eda-4c77-a8e2-cc0f3bbf576e_1238x826.png" width="1238" height="826" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a04e1f8-6eda-4c77-a8e2-cc0f3bbf576e_1238x826.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:826,&quot;width&quot;:1238,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1936796,&quot;alt&quot;:&quot;Sketchnote titled \&quot;It spends the screen on what you don't know.\&quot; A padlocked local notebook labeled \&quot;what you already know\&quot; skips a greyed, crossed-out block labeled \&quot;known,\&quot; while a magnifier highlights a block labeled \&quot;new.\&quot;&quot;,&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://theaioperator.io/i/205741823?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a04e1f8-6eda-4c77-a8e2-cc0f3bbf576e_1238x826.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote titled &quot;It spends the screen on what you don't know.&quot; A padlocked local notebook labeled &quot;what you already know&quot; skips a greyed, crossed-out block labeled &quot;known,&quot; while a magnifier highlights a block labeled &quot;new.&quot;" title="Sketchnote titled &quot;It spends the screen on what you don't know.&quot; A padlocked local notebook labeled &quot;what you already know&quot; skips a greyed, crossed-out block labeled &quot;known,&quot; while a magnifier highlights a block labeled &quot;new.&quot;" srcset="https://substackcdn.com/image/fetch/$s_!tbcS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a04e1f8-6eda-4c77-a8e2-cc0f3bbf576e_1238x826.png 424w, https://substackcdn.com/image/fetch/$s_!tbcS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a04e1f8-6eda-4c77-a8e2-cc0f3bbf576e_1238x826.png 848w, https://substackcdn.com/image/fetch/$s_!tbcS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a04e1f8-6eda-4c77-a8e2-cc0f3bbf576e_1238x826.png 1272w, https://substackcdn.com/image/fetch/$s_!tbcS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a04e1f8-6eda-4c77-a8e2-cc0f3bbf576e_1238x826.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 aria-hidden="true" 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><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 memory is strictly local. Each machine keeps its own. Nothing personal ever ships in the repo. What is public is the skill. What is private is what it learned about me.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>It gets sharper every time you use it</h2><p>Here is the decision I am most sure about. I shipped doceo before it was good.</p><p>After every lesson it asks me exactly one question. Was this too long, too short, right? That answer goes into a feedback file. Then it gets distilled into rules in a learnings file, and those rules are read at the start of the next run.</p><p>So the tool corrects itself against my taste with every use. Lesson four is better than lesson one, not because I rewrote the prompt, but because it learned that my lessons were running too short and adjusted.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5ByA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1459abc-e85d-4cf9-9daf-8dd8ec61354d_1236x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5ByA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1459abc-e85d-4cf9-9daf-8dd8ec61354d_1236x816.png 424w, https://substackcdn.com/image/fetch/$s_!5ByA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1459abc-e85d-4cf9-9daf-8dd8ec61354d_1236x816.png 848w, https://substackcdn.com/image/fetch/$s_!5ByA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1459abc-e85d-4cf9-9daf-8dd8ec61354d_1236x816.png 1272w, https://substackcdn.com/image/fetch/$s_!5ByA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1459abc-e85d-4cf9-9daf-8dd8ec61354d_1236x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5ByA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1459abc-e85d-4cf9-9daf-8dd8ec61354d_1236x816.png" width="1236" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1459abc-e85d-4cf9-9daf-8dd8ec61354d_1236x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1236,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1833907,&quot;alt&quot;:&quot;Sketchnote titled \&quot;Gets sharper each use.\&quot; A cycle where a lesson leads to one question, which creates learned rules, which refine the next lesson. Beside it, a rough \&quot;lesson 1\&quot; improves into a crisper \&quot;lesson 4.\&quot;&quot;,&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://theaioperator.io/i/205741823?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1459abc-e85d-4cf9-9daf-8dd8ec61354d_1236x816.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote titled &quot;Gets sharper each use.&quot; A cycle where a lesson leads to one question, which creates learned rules, which refine the next lesson. Beside it, a rough &quot;lesson 1&quot; improves into a crisper &quot;lesson 4.&quot;" title="Sketchnote titled &quot;Gets sharper each use.&quot; A cycle where a lesson leads to one question, which creates learned rules, which refine the next lesson. Beside it, a rough &quot;lesson 1&quot; improves into a crisper &quot;lesson 4.&quot;" srcset="https://substackcdn.com/image/fetch/$s_!5ByA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1459abc-e85d-4cf9-9daf-8dd8ec61354d_1236x816.png 424w, https://substackcdn.com/image/fetch/$s_!5ByA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1459abc-e85d-4cf9-9daf-8dd8ec61354d_1236x816.png 848w, https://substackcdn.com/image/fetch/$s_!5ByA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1459abc-e85d-4cf9-9daf-8dd8ec61354d_1236x816.png 1272w, https://substackcdn.com/image/fetch/$s_!5ByA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1459abc-e85d-4cf9-9daf-8dd8ec61354d_1236x816.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 aria-hidden="true" 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><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 could have polished it for a week first. I did not, on purpose. A tool with a feedback loop that ships today beats a perfect tool that ships in a month, because the today version starts learning today. This is the same bet behind <a href="https://theaioperator.io/p/the-claudemd-behind-a-tool-3000-developers">what I keep in a CLAUDE.md</a>: start rough, let real use file down the edges.</p><h2>doceo vs NotebookLM, DeepWiki, and codebase walkthroughs</h2><p>A fair thing to ask, since these tools sit next to each other. They do different jobs.</p><p>NotebookLM is a research surface. It summarizes and answers questions across sources you upload. DeepWiki and codebase-walkthrough tools map a repository into browsable docs. Diagram tools draw the structure of a system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OKQC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121310c8-c2cb-471d-8b5a-5ac8d247bea7_1236x830.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OKQC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121310c8-c2cb-471d-8b5a-5ac8d247bea7_1236x830.png 424w, https://substackcdn.com/image/fetch/$s_!OKQC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121310c8-c2cb-471d-8b5a-5ac8d247bea7_1236x830.png 848w, https://substackcdn.com/image/fetch/$s_!OKQC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121310c8-c2cb-471d-8b5a-5ac8d247bea7_1236x830.png 1272w, https://substackcdn.com/image/fetch/$s_!OKQC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121310c8-c2cb-471d-8b5a-5ac8d247bea7_1236x830.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OKQC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121310c8-c2cb-471d-8b5a-5ac8d247bea7_1236x830.png" width="1236" height="830" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/121310c8-c2cb-471d-8b5a-5ac8d247bea7_1236x830.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:830,&quot;width&quot;:1236,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1987490,&quot;alt&quot;:&quot;Sketchnote titled \&quot;Different jobs.\&quot; Three panels: NotebookLM equals summarize (stacked documents), DeepWiki equals map (a branching tree), and doceo equals teach (a whiteboard with a lightbulb), with \&quot;teach\&quot; underlined.&quot;,&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://theaioperator.io/i/205741823?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121310c8-c2cb-471d-8b5a-5ac8d247bea7_1236x830.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketchnote titled &quot;Different jobs.&quot; Three panels: NotebookLM equals summarize (stacked documents), DeepWiki equals map (a branching tree), and doceo equals teach (a whiteboard with a lightbulb), with &quot;teach&quot; underlined." title="Sketchnote titled &quot;Different jobs.&quot; Three panels: NotebookLM equals summarize (stacked documents), DeepWiki equals map (a branching tree), and doceo equals teach (a whiteboard with a lightbulb), with &quot;teach&quot; underlined." srcset="https://substackcdn.com/image/fetch/$s_!OKQC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121310c8-c2cb-471d-8b5a-5ac8d247bea7_1236x830.png 424w, https://substackcdn.com/image/fetch/$s_!OKQC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121310c8-c2cb-471d-8b5a-5ac8d247bea7_1236x830.png 848w, https://substackcdn.com/image/fetch/$s_!OKQC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121310c8-c2cb-471d-8b5a-5ac8d247bea7_1236x830.png 1272w, https://substackcdn.com/image/fetch/$s_!OKQC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121310c8-c2cb-471d-8b5a-5ac8d247bea7_1236x830.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 aria-hidden="true" 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><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>None of them teach. They summarize, map, or answer. doceo is aimed at the moment before that, when you do not yet understand the thing well enough to ask a good question about it. It hands you an analogy, a diagram, and a path, calibrated to what you already know. When I checked the field before building, that specific gap, teaching with analogy and a progressive path over mixed knowledge, was the part nothing else was doing.</p><h2>Try it</h2><p>The skill is public: <a href="https://github.com/eugeniughelbur/doceo">github.com/eugeniughelbur/doceo</a>. Clone it, drop it into your Claude Code skills, and point <code>/doceo</code> at the next thing you do not understand.</p><p>It will not be perfect on your first lesson. It is not supposed to be. Give it the one-question feedback, and by your fourth lesson it will fit you better than any generic explainer ever could.</p><h2>Frequently asked questions</h2><p><strong>What is doceo? -</strong> doceo is an open-source Claude Code skill that turns any topic, file, folder, or URL into a one-screen visual lesson: a one-sentence answer, a diagram, an analogy, a self-quiz, and go-deeper links. The name is Latin for &#8220;I teach&#8221;.</p><p><strong>How is it different from NotebookLM? -</strong> NotebookLM summarizes and answers questions across documents you upload. doceo teaches a single idea on one screen with an analogy and a diagram, calibrated to what you already know. Different job: NotebookLM is for research, doceo is for the moment before you understand something.</p><p><strong>Do I need to install an app or make an account?</strong> - No. It is a Claude Code skill, a folder of instructions Claude reads. Clone the repo, add it to your skills, and run <code>/doceo</code>.</p><p><strong>Where does it store what it learns about me? -</strong> Locally, in a learning folder on your own machine. Each machine keeps its own memory. Nothing personal is ever pushed to the public repo.</p><p><strong>How does it get better?</strong> - After each lesson it asks one feedback question. The answer is saved, distilled into rules, and read at the start of the next lesson. It corrects itself against your taste over time.</p><p><strong>Is it free?</strong> - Yes. It is open source under the MIT license.</p><h2>Key takeaways</h2><ul><li><p>AI explanations are usually a storage format (a paragraph), not a learning format (a lesson). Changing the format does more than changing the model.</p></li><li><p>A lesson should fit one screen: one answer, one diagram, one analogy, where it fits, an optional set of baby steps, a quiz, and go-deeper links.</p></li><li><p>Calibration is what makes an explanation short. A tool that knows what you already understand can skip it and spend the screen on what you do not.</p></li><li><p>Keep the learner&#8217;s memory local. The skill is what you share, not what it learned about you.</p></li><li><p>Ship the version with a feedback loop before it is perfect. It starts improving on real use immediately, which the perfect-in-a-month version cannot.</p></li><li><p>doceo fills a specific gap next to NotebookLM and codebase-mappers: teaching with analogy and a progressive path over mixed knowledge.</p></li></ul><h2>Further reading</h2><ul><li><p><a href="https://github.com/eugeniughelbur/doceo">doceo on GitHub</a> - the skill, open source, MIT.</p></li><li><p><a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">I built this for myself. Then 1,374 strangers cloned it.</a> - the obsidian-second-brain launch and the small-sharp-skill pattern doceo follows.</p></li><li><p><a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">I rebuilt Karpathy&#8217;s LLM Wiki. Here&#8217;s what&#8217;s missing.</a> - what a working knowledge tool has to do that a static one does not.</p></li><li><p><a href="https://theaioperator.io/p/the-claudemd-behind-a-tool-3000-developers">The CLAUDE.md behind a tool 3,000 developers use</a> - the ship-rough-and-improve approach in practice.</p></li><li><p>blader/humanizer - the anti-AI-slop reference doceo&#8217;s writing pass is distilled from (github.com/blader/humanizer).</p></li></ul><h2>About the author</h2><p>Eugeniu Ghelbur is an AI automation engineer who builds production AI systems and ships open-source Claude Code skills. He writes about AI knowledge management and agent patterns at theaioperator.io. The doceo skill described here is live on GitHub at github.com/eugeniughelbur/doceo, and his obsidian-second-brain skill has been starred by over 3,000 developers.</p>]]></content:encoded></item><item><title><![CDATA[The CLAUDE.md behind a tool 3,000 developers use]]></title><description><![CDATA[This one file is the difference between an AI you can trust to run real work and one you babysit line by line. Here is my actual file, what I deleted, and the rule that keeps it working.]]></description><link>https://theaioperator.io/p/the-claudemd-behind-a-tool-3000-developers</link><guid isPermaLink="false">https://theaioperator.io/p/the-claudemd-behind-a-tool-3000-developers</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Sat, 04 Jul 2026 14:01:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HnYq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>TL;DR</strong></p><ul><li><p>A CLAUDE.md is the operating manual an AI coding agent reads before every task. Get it wrong and the agent is unreliable. Get it right and you can hand it real work.</p></li><li><p>I run one across an open-source tool that 3,000 developers have adopted. Every real win came from deleting, not adding.</p></li><li><p>Keep it short and enforceable, push detail into skills and commands, and never write a rule the agent can&#8217;t actually follow.</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_!HnYq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HnYq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.png 424w, https://substackcdn.com/image/fetch/$s_!HnYq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.png 848w, https://substackcdn.com/image/fetch/$s_!HnYq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.png 1272w, https://substackcdn.com/image/fetch/$s_!HnYq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HnYq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.png" width="1298" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:1298,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2071318,&quot;alt&quot;:&quot;A hand-drawn sketchnote titled \&quot;The CLAUDE.md behind a tool 3,000 developers use,\&quot; showing a CLAUDE.md configuration file as the operating manual for a Claude Code AI agent.&quot;,&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://theaioperator.io/i/204983799?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A hand-drawn sketchnote titled &quot;The CLAUDE.md behind a tool 3,000 developers use,&quot; showing a CLAUDE.md configuration file as the operating manual for a Claude Code AI agent." title="A hand-drawn sketchnote titled &quot;The CLAUDE.md behind a tool 3,000 developers use,&quot; showing a CLAUDE.md configuration file as the operating manual for a Claude Code AI agent." srcset="https://substackcdn.com/image/fetch/$s_!HnYq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.png 424w, https://substackcdn.com/image/fetch/$s_!HnYq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.png 848w, https://substackcdn.com/image/fetch/$s_!HnYq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.png 1272w, https://substackcdn.com/image/fetch/$s_!HnYq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbdd52a-4746-4216-9b06-b837531466f4_1298x866.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 aria-hidden="true" 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><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><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>If you have ever asked an AI to do real work, you have felt the problem underneath this post. You explain what you want once. The next time, it has forgotten all of it. You re-explain the same context, the same rules, the same &#8220;no, not like that.&#8221; Every session starts from zero, so you never quite trust it with anything that matters.</p><p>That distrust is the real ceiling on AI at work right now. Not the model&#8217;s intelligence. The fact that it forgets, so a person has to sit next to it and check.</p><p>For AI coding agents there is a fix, and it turns out to be most of the game. It is a plain text file called CLAUDE.md. The agent reads it before it touches anything, so your standing rules load automatically and the same mistakes stop repeating. That file is the line between an assistant you check constantly and one you can point at a task and walk away from.</p><p>I ran one across <strong><a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain</a></strong><a href="https://github.com/eugeniughelbur/obsidian-second-brain">,</a> an open-source tool I <a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">built for myself and then watched thousands of strangers adopt</a>. Roughly 3,000 developers now run it. It is the same pattern I used when I <a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">rebuilt Karpathy&#8217;s LLM wiki gist</a> into a working system.</p><p>Here is what actually holds up, after the file got worse before it got better.</p><h2>What a CLAUDE.md actually is</h2><p>Start with the mental model, because most people get it wrong, and the wrong model is why their file bloats.</p><p>A CLAUDE.md is not documentation. It is not a README. It is the set of standing instructions the agent loads into its working memory on every run, before it reads a single line of your code. <a href="https://code.claude.com/docs/en/memory">Anthropic&#8217;s own docs</a> describe it as memory that persists across sessions. That is the right way to hold it in your head: it is the agent&#8217;s memory, and memory has a budget.</p><p>So there is only one question that matters for any line in the file. Does the agent need this loaded every single time, or not? If the answer is no, that line is not helping. It is crowding out the lines that are.</p><h2>Why more rules made it worse</h2><p>Search &#8220;CLAUDE.md best practices&#8221; and you get the same advice everywhere. Add a rules section. Add your tech stack. Add coding standards. Add a testing policy. Add, add, add.</p><p>I did all of it. My file grew past 300 lines. And the agent got less reliable, not more.</p><p>The reason is simple once you see it. A bloated CLAUDE.md is a wall of text the model skims. Bury the three rules that actually matter inside forty rules that don&#8217;t, and the model weights them all the same. You did not give it a manual. You gave it noise, and noise is what it acts on.</p><p>The strongest outside voice on this agrees. <a href="https://www.humanlayer.dev/blog/writing-a-good-claude-md">HumanLayer runs a roughly 60-line CLAUDE.md on purpose</a> and argues most of what people cram in there is a linter&#8217;s job. They are right, and the shift from long to short is the single biggest quality change I made.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mqvX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F068b75eb-511d-4e0a-b472-f132cc423692_1206x804.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mqvX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F068b75eb-511d-4e0a-b472-f132cc423692_1206x804.png 424w, https://substackcdn.com/image/fetch/$s_!mqvX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F068b75eb-511d-4e0a-b472-f132cc423692_1206x804.png 848w, https://substackcdn.com/image/fetch/$s_!mqvX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F068b75eb-511d-4e0a-b472-f132cc423692_1206x804.png 1272w, https://substackcdn.com/image/fetch/$s_!mqvX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F068b75eb-511d-4e0a-b472-f132cc423692_1206x804.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mqvX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F068b75eb-511d-4e0a-b472-f132cc423692_1206x804.png" width="1206" height="804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/068b75eb-511d-4e0a-b472-f132cc423692_1206x804.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1819621,&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://theaioperator.io/i/204983799?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F068b75eb-511d-4e0a-b472-f132cc423692_1206x804.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_!mqvX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F068b75eb-511d-4e0a-b472-f132cc423692_1206x804.png 424w, https://substackcdn.com/image/fetch/$s_!mqvX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F068b75eb-511d-4e0a-b472-f132cc423692_1206x804.png 848w, https://substackcdn.com/image/fetch/$s_!mqvX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F068b75eb-511d-4e0a-b472-f132cc423692_1206x804.png 1272w, https://substackcdn.com/image/fetch/$s_!mqvX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F068b75eb-511d-4e0a-b472-f132cc423692_1206x804.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What I deleted</h2><p>The turnaround came from cutting. Here is what left the file.</p><p>The linter rules. &#8220;Use single quotes, max line length 100, sort imports.&#8221; That is not the agent&#8217;s job, it is the formatter&#8217;s job. I deleted every style rule a tool already enforces and let the tool fail the agent instead. The tool never forgets and never skims.</p><p>The obvious rules. &#8220;Write clean code. Add tests where appropriate.&#8221; The agent already tries to do this. A rule that restates the default does nothing but take up space and dilute the rules that don&#8217;t.</p><p>The aspirational rules. This is the sneaky one. &#8220;Always achieve 100% test coverage.&#8221; I was never going to enforce that, and the agent could not verify it, so the line was pure decoration. If you would not fail the work over a rule, it does not belong in the file.</p><p>What stayed is the handful of things specific to my project and non-obvious. Use uv, not pip. Vault writes follow the AI-first rule. Never touch these three protected files. Sentence-case headers, no em-dashes. Rules the agent would get wrong without being told, and that I actually check.</p><h2>The three places instructions live</h2><p>This is the part almost nobody writing about CLAUDE.md gets to, and it is the one that changed everything for me.</p><p>You have three places to put instructions, not one.</p><p>CLAUDE.md is always on. It loads every session, so it pays a permanent tax on the agent&#8217;s memory budget. Reserve it for the rules that apply to almost every task.</p><p>Skills load on demand. When the work matches a skill, the agent pulls in that detailed instruction set, and only then. So the deep procedure for one kind of task lives in a skill, and it costs nothing until the moment it is needed.</p><p>Commands are explicit workflows you trigger by name. The multi-step recipe you run the same way every time lives in a command, where you invoke it deliberately.</p><p>Once I understood this, the CLAUDE.md shrank on its own. Most of what I had crammed into it was not always-on knowledge. It was task-specific detail that belonged in a skill, or a workflow that belonged in a command. The same instinct that makes a good <a href="https://theaioperator.io/p/karpathys-llm-wiki-v2-what-to-keep">second brain rewrite itself instead of piling up notes</a> applies here. Structure beats volume. A small file that points to the right place beats a big file that holds everything.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1dlW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff885ca03-2fae-4fed-a115-66cb2aba91d7_1204x804.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1dlW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff885ca03-2fae-4fed-a115-66cb2aba91d7_1204x804.png 424w, https://substackcdn.com/image/fetch/$s_!1dlW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff885ca03-2fae-4fed-a115-66cb2aba91d7_1204x804.png 848w, https://substackcdn.com/image/fetch/$s_!1dlW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff885ca03-2fae-4fed-a115-66cb2aba91d7_1204x804.png 1272w, https://substackcdn.com/image/fetch/$s_!1dlW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff885ca03-2fae-4fed-a115-66cb2aba91d7_1204x804.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1dlW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff885ca03-2fae-4fed-a115-66cb2aba91d7_1204x804.png" width="1204" height="804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f885ca03-2fae-4fed-a115-66cb2aba91d7_1204x804.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1204,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1851822,&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://theaioperator.io/i/204983799?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff885ca03-2fae-4fed-a115-66cb2aba91d7_1204x804.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_!1dlW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff885ca03-2fae-4fed-a115-66cb2aba91d7_1204x804.png 424w, https://substackcdn.com/image/fetch/$s_!1dlW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff885ca03-2fae-4fed-a115-66cb2aba91d7_1204x804.png 848w, https://substackcdn.com/image/fetch/$s_!1dlW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff885ca03-2fae-4fed-a115-66cb2aba91d7_1204x804.png 1272w, https://substackcdn.com/image/fetch/$s_!1dlW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff885ca03-2fae-4fed-a115-66cb2aba91d7_1204x804.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 aria-hidden="true" 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><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><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>The one test that decides every line</h2><p>Here is the test I run on every line now. Can the agent verify it did this, and would I fail the work if it didn&#8217;t?</p><p>A rule that passes both is enforceable. &#8220;Run the voice linter before saving, the file must pass.&#8221; The agent runs it, sees pass or fail, and I can check the file afterward. That rule works because there is a real check behind it.</p><p>A rule that fails the test is decoration. &#8220;Write thoughtful, high-quality code.&#8221; There is nothing to verify and nothing to fail. It reads well and does nothing.</p><p>The enforceable rules are almost always the specific ones. A named command to run. A file that must not change. A format the output has to match. The vague ones feel productive to write, and they are the first thing the model drops under load. If you want the agent to hold a line, give it a line it can check.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vYIf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba4a787-44b7-41d8-a1fc-c39f04f74519_1204x802.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vYIf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba4a787-44b7-41d8-a1fc-c39f04f74519_1204x802.png 424w, https://substackcdn.com/image/fetch/$s_!vYIf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba4a787-44b7-41d8-a1fc-c39f04f74519_1204x802.png 848w, https://substackcdn.com/image/fetch/$s_!vYIf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba4a787-44b7-41d8-a1fc-c39f04f74519_1204x802.png 1272w, https://substackcdn.com/image/fetch/$s_!vYIf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba4a787-44b7-41d8-a1fc-c39f04f74519_1204x802.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vYIf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba4a787-44b7-41d8-a1fc-c39f04f74519_1204x802.png" width="1204" height="802" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8ba4a787-44b7-41d8-a1fc-c39f04f74519_1204x802.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:802,&quot;width&quot;:1204,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1818246,&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://theaioperator.io/i/204983799?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba4a787-44b7-41d8-a1fc-c39f04f74519_1204x802.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_!vYIf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba4a787-44b7-41d8-a1fc-c39f04f74519_1204x802.png 424w, https://substackcdn.com/image/fetch/$s_!vYIf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba4a787-44b7-41d8-a1fc-c39f04f74519_1204x802.png 848w, https://substackcdn.com/image/fetch/$s_!vYIf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba4a787-44b7-41d8-a1fc-c39f04f74519_1204x802.png 1272w, https://substackcdn.com/image/fetch/$s_!vYIf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ba4a787-44b7-41d8-a1fc-c39f04f74519_1204x802.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What this means if you don&#8217;t write code</h2><p>If you run a team instead of a codebase, this is the part that matters.</p><p>The reason most companies cannot trust AI with real work is not the model. Every team has access to the same models. The difference is whether anyone wrote down the standing rules the AI needs, in a form it reads every time and a human can actually check. That is what a good CLAUDE.md is. It is institutional memory for the agent.</p><p>So the skill that separates people getting real leverage from AI is not prompting. It is knowing which rules to write down, keeping the list short enough that all of it gets read, and making every rule checkable. That is a discipline, and it is the same discipline whether you are running one agent or a whole team of them.</p><p>Strip it all back and a CLAUDE.md is one thing. It is a compression of the decisions you are tired of re-explaining. Not everything you know. The specific, non-obvious calls the agent would get wrong and that you would otherwise correct by hand every single time. Written down once, loaded automatically, kept small enough that every line still gets read.</p><p>Mine is under 150 lines now and does more than the 300-line version did. The detail did not disappear. It moved to skills and commands, where it loads when it is needed instead of taxing every task.</p><p>Add less. Delete more. Point to the real system instead of trying to be it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7rP-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3971c3c-d5b6-483a-93be-c6fcbb93e90d_1202x802.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7rP-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3971c3c-d5b6-483a-93be-c6fcbb93e90d_1202x802.png 424w, https://substackcdn.com/image/fetch/$s_!7rP-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3971c3c-d5b6-483a-93be-c6fcbb93e90d_1202x802.png 848w, https://substackcdn.com/image/fetch/$s_!7rP-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3971c3c-d5b6-483a-93be-c6fcbb93e90d_1202x802.png 1272w, https://substackcdn.com/image/fetch/$s_!7rP-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3971c3c-d5b6-483a-93be-c6fcbb93e90d_1202x802.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7rP-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3971c3c-d5b6-483a-93be-c6fcbb93e90d_1202x802.png" width="1202" height="802" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3971c3c-d5b6-483a-93be-c6fcbb93e90d_1202x802.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:802,&quot;width&quot;:1202,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1661031,&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://theaioperator.io/i/204983799?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3971c3c-d5b6-483a-93be-c6fcbb93e90d_1202x802.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_!7rP-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3971c3c-d5b6-483a-93be-c6fcbb93e90d_1202x802.png 424w, https://substackcdn.com/image/fetch/$s_!7rP-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3971c3c-d5b6-483a-93be-c6fcbb93e90d_1202x802.png 848w, https://substackcdn.com/image/fetch/$s_!7rP-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3971c3c-d5b6-483a-93be-c6fcbb93e90d_1202x802.png 1272w, https://substackcdn.com/image/fetch/$s_!7rP-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3971c3c-d5b6-483a-93be-c6fcbb93e90d_1202x802.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 aria-hidden="true" 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><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><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Frequently asked questions</h2><p><strong>What is a CLAUDE.md file?</strong> It is a markdown file an AI coding agent like Claude Code reads automatically before every task. It holds your project&#8217;s standing rules and conventions so the agent does not start each session from scratch.</p><p><strong>Where do I put CLAUDE.md?</strong> In your repo root for project-wide rules. Claude Code also reads a personal one at ~/.claude/CLAUDE.md that applies across all your projects, and you can nest one in a subfolder for rules that only apply there.</p><p><strong>How long should a CLAUDE.md be?</strong> Short. Aim well under 150 lines. Every line loads on every task and competes for the model&#8217;s attention, so length has a real cost. If a rule is not needed on almost every task, move it to a skill or command.</p><p><strong>What should I not put in CLAUDE.md?</strong> Anything a linter or formatter already enforces, anything that just restates the model&#8217;s default behavior, and any aspirational rule you would not actually fail the work over.</p><p><strong>What is the difference between CLAUDE.md, skills, and commands?</strong> CLAUDE.md is always loaded. Skills load on demand when the task matches. Commands are explicit workflows you trigger by name. Detail belongs in skills and commands, not in the always-on file.</p><p><strong>Does CLAUDE.md work with AGENTS.md?</strong> They serve the same purpose for different tools. <a href="https://agents.md/">AGENTS.md</a> is the cross-tool standard several agents read. The discipline is identical for both: keep it short, keep it enforceable.</p><h2>Key takeaways</h2><ul><li><p>A CLAUDE.md is the operating manual your agent reads before every task, and it is the real difference between an AI you babysit and one you can trust with work.</p></li><li><p>Bloat is the main failure mode. A long file buries the rules that matter inside rules that don&#8217;t, and the model weights them all the same.</p></li><li><p>The biggest wins come from deleting: linter rules, obvious rules, and aspirational rules you will never enforce.</p></li><li><p>Instructions live in three places. CLAUDE.md is always-on, skills load on demand, commands are triggered by name. Most CLAUDE.md content actually belongs in the other two.</p></li><li><p>The test for any line: can the agent verify it, and would you fail the work if it didn&#8217;t? If not, it is decoration.</p></li><li><p>The skill is not prompting. It is knowing which rules to write down and keeping the list short enough that every line still gets read.</p></li></ul><h2>Further reading</h2><ul><li><p><a href="https://code.claude.com/docs/en/memory">Claude Code memory and CLAUDE.md</a> - Anthropic&#8217;s official reference on how the file loads.</p></li><li><p><a href="https://www.humanlayer.dev/blog/writing-a-good-claude-md">Writing a good CLAUDE.md</a> - HumanLayer&#8217;s short-file thesis, the strongest outside take.</p></li><li><p><a href="https://agents.md/">AGENTS.md</a> - the cross-tool standard, same rules for other agents.</p></li><li><p><a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">I rebuilt Karpathy&#8217;s LLM wiki gist</a> - the working system this CLAUDE.md runs.</p></li><li><p><a href="https://theaioperator.io/p/karpathys-llm-wiki-v2-what-to-keep">Karpathy&#8217;s LLM Wiki v2: what to keep, what to skip</a> - why structure beats volume in an AI-maintained system.</p></li><li><p><a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain on GitHub</a> - the open-source repo, CLAUDE.md and all.</p></li></ul><h2>About the author</h2><p>Eugeniu Ghelbur is an AI Tooling Engineer who builds production AI systems. He ships open-source Claude Code skills and writes about AI knowledge management at theaioperator.io. The obsidian-second-brain skill described here is live on GitHub at <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a>, where it has been adopted by over 3,000 developers.</p>]]></content:encoded></item><item><title><![CDATA[I Run My Second Brain on Four AI CLIs]]></title><description><![CDATA[Claude Code, Codex, Gemini, OpenCode. One codebase, the same 45 commands. Your AI knowledge setup should not be hostage to one company's tool.]]></description><link>https://theaioperator.io/p/i-run-my-second-brain-on-four-ai</link><guid isPermaLink="false">https://theaioperator.io/p/i-run-my-second-brain-on-four-ai</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Tue, 23 Jun 2026 21:02:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VVlh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>TL;DR</strong><span><br></span><strong>Most people build their AI second brain inside one vendor's CLI, then they are married to it. I build mine once and it runs on four: Claude Code, Codex, Gemini, and OpenCode, even on local open models. Same vault, same commands, no lock-in. Here is how it works and why it matters more than which model is best this month.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VVlh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VVlh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.png 424w, https://substackcdn.com/image/fetch/$s_!VVlh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.png 848w, https://substackcdn.com/image/fetch/$s_!VVlh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.png 1272w, https://substackcdn.com/image/fetch/$s_!VVlh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VVlh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.png" width="1312" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1312,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2201792,&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://theaioperator.io/i/203307891?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.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_!VVlh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.png 424w, https://substackcdn.com/image/fetch/$s_!VVlh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.png 848w, https://substackcdn.com/image/fetch/$s_!VVlh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.png 1272w, https://substackcdn.com/image/fetch/$s_!VVlh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55c0c18-37b2-465b-a214-89a4e4affddd_1312x876.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 aria-hidden="true" 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><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>Here is a question nobody building an AI second brain asks until it is too late: what happens when the tool you built it inside changes?</p><p>Most people pour months into a setup that lives inside one CLI. Every command, every workflow, every habit is wired to Claude Code, or to whatever they started with. It feels great. Until that tool raises its price, changes a policy, ships a breaking update, or you simply want to try another one. Then you find out your second brain was never really yours. It was renting space inside someone else&#8217;s product.</p><p>I did not want that. So my second brain runs on four CLIs, from one codebase. Here is the idea and the build.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y06Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca23a30-f91f-4173-a5e1-3b98da8dbaad_1440x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y06Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca23a30-f91f-4173-a5e1-3b98da8dbaad_1440x960.png 424w, https://substackcdn.com/image/fetch/$s_!Y06Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca23a30-f91f-4173-a5e1-3b98da8dbaad_1440x960.png 848w, https://substackcdn.com/image/fetch/$s_!Y06Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca23a30-f91f-4173-a5e1-3b98da8dbaad_1440x960.png 1272w, https://substackcdn.com/image/fetch/$s_!Y06Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca23a30-f91f-4173-a5e1-3b98da8dbaad_1440x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y06Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca23a30-f91f-4173-a5e1-3b98da8dbaad_1440x960.png" width="1440" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ca23a30-f91f-4173-a5e1-3b98da8dbaad_1440x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2366559,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://theaioperator.io/i/203307891?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca23a30-f91f-4173-a5e1-3b98da8dbaad_1440x960.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_!Y06Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca23a30-f91f-4173-a5e1-3b98da8dbaad_1440x960.png 424w, https://substackcdn.com/image/fetch/$s_!Y06Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca23a30-f91f-4173-a5e1-3b98da8dbaad_1440x960.png 848w, https://substackcdn.com/image/fetch/$s_!Y06Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca23a30-f91f-4173-a5e1-3b98da8dbaad_1440x960.png 1272w, https://substackcdn.com/image/fetch/$s_!Y06Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca23a30-f91f-4173-a5e1-3b98da8dbaad_1440x960.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>The brain is the files. The CLI is just the hands.</h2><p>The whole thing rests on one separation most people never make.</p><p>Your knowledge is a folder of plain markdown. That is the brain. It does not care what reads it. I made the full case for <strong><a href="https://theaioperator.io/p/how-to-build-a-folder-native-ai-agent">keeping an AI&#8217;s memory in plain folders</a></strong> in its own post. The CLI, Claude Code or anything else, is just the pair of hands that reads, writes, and reasons over those files. Hands are replaceable. The brain should not be.</p><p>Once you see it that way, locking your brain to one set of hands looks like a mistake. So I stopped doing it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Z45n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051058d5-4ecd-4688-85a5-1f2336d61b0f_1434x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z45n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051058d5-4ecd-4688-85a5-1f2336d61b0f_1434x960.png 424w, https://substackcdn.com/image/fetch/$s_!Z45n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051058d5-4ecd-4688-85a5-1f2336d61b0f_1434x960.png 848w, https://substackcdn.com/image/fetch/$s_!Z45n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051058d5-4ecd-4688-85a5-1f2336d61b0f_1434x960.png 1272w, https://substackcdn.com/image/fetch/$s_!Z45n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051058d5-4ecd-4688-85a5-1f2336d61b0f_1434x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z45n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051058d5-4ecd-4688-85a5-1f2336d61b0f_1434x960.png" width="1434" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/051058d5-4ecd-4688-85a5-1f2336d61b0f_1434x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1434,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2467455,&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://theaioperator.io/i/203307891?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051058d5-4ecd-4688-85a5-1f2336d61b0f_1434x960.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_!Z45n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051058d5-4ecd-4688-85a5-1f2336d61b0f_1434x960.png 424w, https://substackcdn.com/image/fetch/$s_!Z45n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051058d5-4ecd-4688-85a5-1f2336d61b0f_1434x960.png 848w, https://substackcdn.com/image/fetch/$s_!Z45n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051058d5-4ecd-4688-85a5-1f2336d61b0f_1434x960.png 1272w, https://substackcdn.com/image/fetch/$s_!Z45n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051058d5-4ecd-4688-85a5-1f2336d61b0f_1434x960.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 aria-hidden="true" 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><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><hr></div><h2>One codebase, four builds</h2><p>The commands are written once. A build step turns that one codebase into a package for each CLI.</p><p>I run a build script and it produces a version for Claude Code, Codex, Gemini, and OpenCode. Each build gets its own dispatcher file (the CLIs expect different names) and an auto-generated routing table that maps plain-English triggers to the right command. The vault behaves identically across all four. The only differences are the install path and the wiring underneath.</p><p>It is 45 commands in total. Four of them are Claude-Code-only (they touch Google Calendar), so the other three CLIs ship 40. Beyond that, same brain, same behavior, four front doors.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Duyh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cdfa06a-276d-4219-b64c-21891ca5ba0f_1426x950.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Duyh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cdfa06a-276d-4219-b64c-21891ca5ba0f_1426x950.png 424w, https://substackcdn.com/image/fetch/$s_!Duyh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cdfa06a-276d-4219-b64c-21891ca5ba0f_1426x950.png 848w, https://substackcdn.com/image/fetch/$s_!Duyh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cdfa06a-276d-4219-b64c-21891ca5ba0f_1426x950.png 1272w, https://substackcdn.com/image/fetch/$s_!Duyh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cdfa06a-276d-4219-b64c-21891ca5ba0f_1426x950.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Duyh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cdfa06a-276d-4219-b64c-21891ca5ba0f_1426x950.png" width="1426" height="950" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9cdfa06a-276d-4219-b64c-21891ca5ba0f_1426x950.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:950,&quot;width&quot;:1426,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2419858,&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://theaioperator.io/i/203307891?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cdfa06a-276d-4219-b64c-21891ca5ba0f_1426x950.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_!Duyh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cdfa06a-276d-4219-b64c-21891ca5ba0f_1426x950.png 424w, https://substackcdn.com/image/fetch/$s_!Duyh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cdfa06a-276d-4219-b64c-21891ca5ba0f_1426x950.png 848w, https://substackcdn.com/image/fetch/$s_!Duyh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cdfa06a-276d-4219-b64c-21891ca5ba0f_1426x950.png 1272w, https://substackcdn.com/image/fetch/$s_!Duyh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cdfa06a-276d-4219-b64c-21891ca5ba0f_1426x950.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 aria-hidden="true" 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><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><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>You are not locked to a model either</h2><p>This is the part that goes deeper than CLIs.</p><p>Because the builds are plain instruction files, not code tied to one provider, they run on whatever model the host CLI points at. The OpenCode build will happily run on an open model like Nous Hermes through OpenRouter. Point it at a small model running locally through Ollama, and nothing leaves your machine. Same commands, same vault, your choice of brain behind the hands.</p><p>So the lock-in disappears on both axes. Not chained to one company&#8217;s CLI, and not chained to one company&#8217;s model.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rw1Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb78603-5550-4883-9921-ebbd5354b493_1444x962.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rw1Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb78603-5550-4883-9921-ebbd5354b493_1444x962.png 424w, https://substackcdn.com/image/fetch/$s_!Rw1Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb78603-5550-4883-9921-ebbd5354b493_1444x962.png 848w, https://substackcdn.com/image/fetch/$s_!Rw1Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb78603-5550-4883-9921-ebbd5354b493_1444x962.png 1272w, https://substackcdn.com/image/fetch/$s_!Rw1Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb78603-5550-4883-9921-ebbd5354b493_1444x962.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rw1Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb78603-5550-4883-9921-ebbd5354b493_1444x962.png" width="1444" height="962" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1bb78603-5550-4883-9921-ebbd5354b493_1444x962.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:962,&quot;width&quot;:1444,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2450397,&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://theaioperator.io/i/203307891?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb78603-5550-4883-9921-ebbd5354b493_1444x962.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_!Rw1Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb78603-5550-4883-9921-ebbd5354b493_1444x962.png 424w, https://substackcdn.com/image/fetch/$s_!Rw1Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb78603-5550-4883-9921-ebbd5354b493_1444x962.png 848w, https://substackcdn.com/image/fetch/$s_!Rw1Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb78603-5550-4883-9921-ebbd5354b493_1444x962.png 1272w, https://substackcdn.com/image/fetch/$s_!Rw1Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bb78603-5550-4883-9921-ebbd5354b493_1444x962.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 aria-hidden="true" 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><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><hr></div><h2>Why this matters more than the model race</h2><p>Everyone is arguing about which model is smartest this month. That argument resets every few weeks. The thing that actually protects you is whether your setup survives the churn.</p><p>CLIs and models in 2026 change fast. Prices move, terms change, favorites get deprecated, new ones appear. If your knowledge system is welded to one of them, every one of those changes is your problem. If your knowledge system is plain files plus commands that build for anything, the churn is just Tuesday. You switch the hands and keep the brain.</p><p>That portability is the real moat. Not the model. The model is rented. The files are yours.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rbgl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7330105-bbcd-4a98-abee-c12667019ff4_1432x948.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rbgl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7330105-bbcd-4a98-abee-c12667019ff4_1432x948.png 424w, https://substackcdn.com/image/fetch/$s_!rbgl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7330105-bbcd-4a98-abee-c12667019ff4_1432x948.png 848w, https://substackcdn.com/image/fetch/$s_!rbgl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7330105-bbcd-4a98-abee-c12667019ff4_1432x948.png 1272w, https://substackcdn.com/image/fetch/$s_!rbgl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7330105-bbcd-4a98-abee-c12667019ff4_1432x948.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rbgl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7330105-bbcd-4a98-abee-c12667019ff4_1432x948.png" width="1432" height="948" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7330105-bbcd-4a98-abee-c12667019ff4_1432x948.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:948,&quot;width&quot;:1432,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2431017,&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://theaioperator.io/i/203307891?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7330105-bbcd-4a98-abee-c12667019ff4_1432x948.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_!rbgl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7330105-bbcd-4a98-abee-c12667019ff4_1432x948.png 424w, https://substackcdn.com/image/fetch/$s_!rbgl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7330105-bbcd-4a98-abee-c12667019ff4_1432x948.png 848w, https://substackcdn.com/image/fetch/$s_!rbgl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7330105-bbcd-4a98-abee-c12667019ff4_1432x948.png 1272w, https://substackcdn.com/image/fetch/$s_!rbgl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7330105-bbcd-4a98-abee-c12667019ff4_1432x948.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 aria-hidden="true" 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><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><hr></div><h2>Where it breaks</h2><p>I am not going to pretend this is free.</p><p>Maintaining four builds is real overhead. Every time I add a command I make sure it builds cleanly for all four, and a few features genuinely cannot be portable (the calendar commands lean on Claude Code specifics). If you only ever use one CLI and never plan to switch, you do not need this. Single-CLI is simpler, and simpler is correct until portability actually buys you something.</p><p>The honest rule: build for one CLI until the day a price change or a policy or a shiny new tool makes you wish you could move. The people who set it up to be portable before that day are the ones who move in an afternoon instead of a month.</p><h2>If you want to do this</h2><p>Start with the separation, even if you never build for four CLIs. Keep your knowledge as plain markdown in git, and keep your commands as plain instruction files, not code bolted to one provider. That alone makes you portable.</p><p>The full setup is open source. The <strong><a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain skill</a></strong> ships the build script and all four targets: one codebase, four CLIs, 45 commands, MIT licensed. Clone it, run the build for your CLI, or read it to copy the pattern.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eyld!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282b7ce7-0894-4207-82c8-72e2e5c95aad_1430x954.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eyld!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282b7ce7-0894-4207-82c8-72e2e5c95aad_1430x954.png 424w, https://substackcdn.com/image/fetch/$s_!eyld!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282b7ce7-0894-4207-82c8-72e2e5c95aad_1430x954.png 848w, https://substackcdn.com/image/fetch/$s_!eyld!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282b7ce7-0894-4207-82c8-72e2e5c95aad_1430x954.png 1272w, https://substackcdn.com/image/fetch/$s_!eyld!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282b7ce7-0894-4207-82c8-72e2e5c95aad_1430x954.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eyld!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282b7ce7-0894-4207-82c8-72e2e5c95aad_1430x954.png" width="1430" height="954" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/282b7ce7-0894-4207-82c8-72e2e5c95aad_1430x954.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:954,&quot;width&quot;:1430,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2417393,&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://theaioperator.io/i/203307891?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282b7ce7-0894-4207-82c8-72e2e5c95aad_1430x954.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_!eyld!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282b7ce7-0894-4207-82c8-72e2e5c95aad_1430x954.png 424w, https://substackcdn.com/image/fetch/$s_!eyld!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282b7ce7-0894-4207-82c8-72e2e5c95aad_1430x954.png 848w, https://substackcdn.com/image/fetch/$s_!eyld!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282b7ce7-0894-4207-82c8-72e2e5c95aad_1430x954.png 1272w, https://substackcdn.com/image/fetch/$s_!eyld!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F282b7ce7-0894-4207-82c8-72e2e5c95aad_1430x954.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 aria-hidden="true" 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><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 am not theorizing. This is the system <strong><a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">I built for myself and then watched 2,700 developers clone</a></strong>. It runs on four CLIs today because I refuse to let one company own my second brain.</p><h2>Frequently asked questions</h2><p><strong>Can one AI second brain run on Claude Code, Codex, and Gemini at once?</strong><br>Yes. You write the commands once and a build step produces a package for each CLI, with its own dispatcher file and a routing table. The vault behaves the same on all of them. Mine runs on Claude Code, Codex CLI, Gemini CLI, and OpenCode.</p><p><strong>Why not just pick one CLI and stick with it?</strong><br>You can, and if you never plan to switch, that is simpler. The reason to go portable is that CLIs and models change fast in 2026. If your setup is welded to one, every price or policy change is your problem. Portable means you switch tools in an afternoon, not a month.</p><p><strong>Is it locked to one AI provider&#8217;s model?</strong><br>No. Because the builds are plain instruction files, they run on whatever model the host CLI uses, including open models like Nous Hermes via OpenRouter or a local model through Ollama, so nothing has to leave your machine.</p><p><strong>Do all the commands work on every CLI?</strong><br>Almost. It is 45 commands total; four that touch Google Calendar are Claude-Code-only, so the other CLIs ship 40. Everything else is identical across the four.</p><p><strong>What is the actual brain made of?</strong><br>Plain markdown files in git. No database, no app. That is the whole point: the files are the brain and they do not care which CLI reads them, so they survive any tool change.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>Key takeaways</h2><ul><li><p>Your AI knowledge lives in plain files. The CLI is just the hands that read and write them, and hands should be swappable.</p></li><li><p>One codebase builds for four CLIs (Claude Code, Codex, Gemini, OpenCode) with the same 45 commands and identical vault behavior.</p></li><li><p>Because the builds are plain instruction files, you are not locked to one model either, including open and local models for privacy.</p></li><li><p>The real protection in a fast-churning 2026 is portability, not picking the smartest model this month.</p></li><li><p>Single-CLI is simpler and correct until a price or policy change makes you wish you could move. Set up portability before that day.</p></li><li><p>The files are yours. The model and the CLI are rented.</p></li></ul><h2>Further reading</h2><ul><li><p><strong><a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">I built this for myself. Then 1,374 strangers cloned it.</a></strong> (the open-source second brain this builds on).</p></li><li><p><strong><a href="https://theaioperator.io/p/how-to-build-a-folder-native-ai-agent">How to build a folder-native AI agent.</a></strong> (why the brain is plain folders of markdown).</p></li><li><p><strong><a href="https://theaioperator.io/p/karpathys-llm-wiki-v2-what-to-keep">Karpathy&#8217;s LLM Wiki v2: what to keep, what to skip.</a></strong> (the pattern the vault runs).</p></li><li><p>OpenCode and the open-model route (Nous Hermes via OpenRouter, local models via Ollama). Search &#8220;OpenCode opencode.ai&#8221; and &#8220;Ollama&#8221;.</p></li><li><p>The obsidian-second-brain skill on GitHub: github.com/eugeniughelbur/obsidian-second-brain</p></li></ul><h2>About the author</h2><p>Eugeniu Ghelbur is an AI Automation Engineer at Single Grain, where he builds production AI systems for marketing and sales workflows. He ships open-source Claude Code skills and writes about AI knowledge management at theaioperator.io. The obsidian-second-brain skill described here is live on GitHub at <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a>, where it has been starred by over 2,700 developers.</p>]]></content:encoded></item><item><title><![CDATA[AI Agent Loops Decoded: What's Real, What's Hype]]></title><description><![CDATA[I ran a 112-agent research swarm to fact-check the viral "300 agents" thread. Here's the pattern that's real, the numbers that aren't, and how to build a loop that gets smarter every run.]]></description><link>https://theaioperator.io/p/ai-agent-loops-decoded-whats-real</link><guid isPermaLink="false">https://theaioperator.io/p/ai-agent-loops-decoded-whats-real</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Fri, 19 Jun 2026 20:14:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7THa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>TL;DR</strong><br><strong>The hype around AI &#8220;loops&#8221; and 300-agent swarms is half real. The pattern works: a cheap model generates at volume, a trusted model checks the work, and every run leaves behind a reusable skill so the next run is faster. The headline numbers (&#8221;300 agents, 4,000 steps&#8221;) are vendor marketing, not benchmarks. Build the loop once and it compounds. You can stand up a working version this week.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7THa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7THa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.png 424w, https://substackcdn.com/image/fetch/$s_!7THa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.png 848w, https://substackcdn.com/image/fetch/$s_!7THa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.png 1272w, https://substackcdn.com/image/fetch/$s_!7THa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7THa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.png" width="1456" height="973" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:973,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7026757,&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://theaioperator.io/i/202763556?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.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_!7THa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.png 424w, https://substackcdn.com/image/fetch/$s_!7THa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.png 848w, https://substackcdn.com/image/fetch/$s_!7THa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.png 1272w, https://substackcdn.com/image/fetch/$s_!7THa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb7cebb-4b9f-4e40-b4b6-dcc6446f4789_2500x1670.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 aria-hidden="true" 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><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>Last week a thread tore through builder Twitter. One screenshot: a free, open model running 300 agents in parallel across 4,000 steps from a single prompt, scoring higher on real research than models you pay five times more for. The replies were a mix of &#8220;this changes everything&#8221; and &#8220;this is nonsense.&#8221;</p><p>I wanted to know which.</p><p>So I did the obvious thing. I pointed an agent swarm at the claim about agent swarms. A 112-agent research run, fanning out across primary sources, then a second pass where independent agents tried to refute every claim before it survived. 24 of 25 claims passed. One got killed.</p><p>Here is what came back. The pattern is real and it is worth your time. Most of the specific numbers people are quoting are not. And the gap between those two things is where most builders are about to waste a month.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>What a loop actually is</h2><p>For three years the question was which model is smartest. You picked one, typed into a box, got an answer, closed the tab.</p><p>A loop kills that question. The unit stopped being the model. It became the system around it.</p><p>A prompt is a wish. You re-type it every time, and it forgets everything the moment the tab closes. Run number fifty is identical to run number one.</p><p>A loop is different. A goal goes in, work comes out, and the system keeps what it learned. The next run starts ahead of the last one, because the run before it left something behind. A reusable skill. A tighter spec. A rule that stops a past mistake from coming back. The single best line from that viral thread holds the whole idea: the system that ran your task yesterday should be smarter than the one running it today.</p><p>The model stays frozen. The system compounds. That is the whole game.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m8NM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b4d3e2e-4ad9-4900-8543-c46953e0ac16_2494x1664.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m8NM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b4d3e2e-4ad9-4900-8543-c46953e0ac16_2494x1664.png 424w, https://substackcdn.com/image/fetch/$s_!m8NM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b4d3e2e-4ad9-4900-8543-c46953e0ac16_2494x1664.png 848w, https://substackcdn.com/image/fetch/$s_!m8NM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b4d3e2e-4ad9-4900-8543-c46953e0ac16_2494x1664.png 1272w, https://substackcdn.com/image/fetch/$s_!m8NM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b4d3e2e-4ad9-4900-8543-c46953e0ac16_2494x1664.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m8NM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b4d3e2e-4ad9-4900-8543-c46953e0ac16_2494x1664.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b4d3e2e-4ad9-4900-8543-c46953e0ac16_2494x1664.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;:6154931,&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://theaioperator.io/i/202763556?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b4d3e2e-4ad9-4900-8543-c46953e0ac16_2494x1664.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_!m8NM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b4d3e2e-4ad9-4900-8543-c46953e0ac16_2494x1664.png 424w, https://substackcdn.com/image/fetch/$s_!m8NM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b4d3e2e-4ad9-4900-8543-c46953e0ac16_2494x1664.png 848w, https://substackcdn.com/image/fetch/$s_!m8NM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b4d3e2e-4ad9-4900-8543-c46953e0ac16_2494x1664.png 1272w, https://substackcdn.com/image/fetch/$s_!m8NM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b4d3e2e-4ad9-4900-8543-c46953e0ac16_2494x1664.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 aria-hidden="true" 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><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>The pattern is older than the hype</h2><p>None of this is new, which is exactly why it works.</p><p>The base loop was published in 2022 in a paper called ReAct: reason, act on a tool, observe the result, repeat. It cut hallucination from 56 percent to near zero on a standard benchmark, simply by grounding each step in a real lookup instead of the model&#8217;s guess. Every agent today is its descendant.</p><p>A 2023 project called Voyager added the part everyone is now selling. An agent that wrote its skills as reusable code, stored them in a library, and composed them into harder skills over time. Lifelong learning without retraining the model. Sound familiar? &#8220;Save the workflow as a skill&#8221; is Voyager in a suit.</p><p>Then in 2025 a team at Every gave it a name: compound engineering. Building systems where each run makes the next one faster, safer, and better. This is the same insight I built <strong><a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">my own setup</a></strong> on, and the same one behind <strong><a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">rebuilding Karpathy&#8217;s LLM Wiki</a></strong>: a model does not get bored maintaining its own knowledge, so the knowledge compounds instead of rotting.</p><p>If a term in here is new to you, I wrote a <strong><a href="https://theaioperator.io/p/5-ai-concepts-i-wish-someone-had">plain-language guide to the core AI concepts</a></strong> that pairs well with this post.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4KqP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2af4b4-77c4-426b-96a0-b2fe703ba816_2494x1666.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4KqP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2af4b4-77c4-426b-96a0-b2fe703ba816_2494x1666.png 424w, https://substackcdn.com/image/fetch/$s_!4KqP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2af4b4-77c4-426b-96a0-b2fe703ba816_2494x1666.png 848w, https://substackcdn.com/image/fetch/$s_!4KqP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2af4b4-77c4-426b-96a0-b2fe703ba816_2494x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!4KqP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2af4b4-77c4-426b-96a0-b2fe703ba816_2494x1666.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4KqP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2af4b4-77c4-426b-96a0-b2fe703ba816_2494x1666.png" width="1456" height="973" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c2af4b4-77c4-426b-96a0-b2fe703ba816_2494x1666.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:973,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6417857,&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://theaioperator.io/i/202763556?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2af4b4-77c4-426b-96a0-b2fe703ba816_2494x1666.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_!4KqP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2af4b4-77c4-426b-96a0-b2fe703ba816_2494x1666.png 424w, https://substackcdn.com/image/fetch/$s_!4KqP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2af4b4-77c4-426b-96a0-b2fe703ba816_2494x1666.png 848w, https://substackcdn.com/image/fetch/$s_!4KqP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2af4b4-77c4-426b-96a0-b2fe703ba816_2494x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!4KqP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c2af4b4-77c4-426b-96a0-b2fe703ba816_2494x1666.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 aria-hidden="true" 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><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>Why split it into a swarm</h2><p>Why fan a task out to many agents instead of asking one model to do it all? Because one agent on a long task fills its context window until it starts to drift. Researchers call it context rot. Past a point, every step gets a little worse, because the model is reasoning over a window stuffed with its own earlier output.</p><p>A swarm fixes this. A coordinator splits the job, each agent works on one piece in its own clean context, and only a short summary flows back to be assembled. Nobody drowns in a giant context, so the system holds up on work that would break a single agent. That is the real reason the parallel setup wins, and it has nothing to do with the agent count on the marketing page.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hp_s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff8c64c-3046-445e-989d-1c8396577493_2500x1668.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hp_s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff8c64c-3046-445e-989d-1c8396577493_2500x1668.png 424w, https://substackcdn.com/image/fetch/$s_!Hp_s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff8c64c-3046-445e-989d-1c8396577493_2500x1668.png 848w, https://substackcdn.com/image/fetch/$s_!Hp_s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff8c64c-3046-445e-989d-1c8396577493_2500x1668.png 1272w, https://substackcdn.com/image/fetch/$s_!Hp_s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff8c64c-3046-445e-989d-1c8396577493_2500x1668.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hp_s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff8c64c-3046-445e-989d-1c8396577493_2500x1668.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ff8c64c-3046-445e-989d-1c8396577493_2500x1668.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;:6298801,&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://theaioperator.io/i/202763556?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff8c64c-3046-445e-989d-1c8396577493_2500x1668.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_!Hp_s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff8c64c-3046-445e-989d-1c8396577493_2500x1668.png 424w, https://substackcdn.com/image/fetch/$s_!Hp_s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff8c64c-3046-445e-989d-1c8396577493_2500x1668.png 848w, https://substackcdn.com/image/fetch/$s_!Hp_s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff8c64c-3046-445e-989d-1c8396577493_2500x1668.png 1272w, https://substackcdn.com/image/fetch/$s_!Hp_s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ff8c64c-3046-445e-989d-1c8396577493_2500x1668.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 aria-hidden="true" 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><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_!ZtyZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7418909f-b0db-4f5f-aced-3cb27c20cfd1_2500x1666.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZtyZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7418909f-b0db-4f5f-aced-3cb27c20cfd1_2500x1666.png 424w, https://substackcdn.com/image/fetch/$s_!ZtyZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7418909f-b0db-4f5f-aced-3cb27c20cfd1_2500x1666.png 848w, https://substackcdn.com/image/fetch/$s_!ZtyZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7418909f-b0db-4f5f-aced-3cb27c20cfd1_2500x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!ZtyZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7418909f-b0db-4f5f-aced-3cb27c20cfd1_2500x1666.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZtyZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7418909f-b0db-4f5f-aced-3cb27c20cfd1_2500x1666.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7418909f-b0db-4f5f-aced-3cb27c20cfd1_2500x1666.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6475476,&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://theaioperator.io/i/202763556?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7418909f-b0db-4f5f-aced-3cb27c20cfd1_2500x1666.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_!ZtyZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7418909f-b0db-4f5f-aced-3cb27c20cfd1_2500x1666.png 424w, https://substackcdn.com/image/fetch/$s_!ZtyZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7418909f-b0db-4f5f-aced-3cb27c20cfd1_2500x1666.png 848w, https://substackcdn.com/image/fetch/$s_!ZtyZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7418909f-b0db-4f5f-aced-3cb27c20cfd1_2500x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!ZtyZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7418909f-b0db-4f5f-aced-3cb27c20cfd1_2500x1666.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 aria-hidden="true" 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><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><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>The one move that separates a loop from a toy</h2><p>Here is the part most threads skip, and it is the most important one.</p><p>A swarm of cheap agents will produce confident, under-cited work. Run enough of them and some will quietly contradict each other. &#8220;Looks done&#8221; and &#8220;is correct&#8221; are different planets. The first wave of autonomous agents in 2023, the AutoGPT era, failed for exactly this reason: nothing was checking the work.</p><p>The fix is a verify gate. You point a second, trusted model at the output and tell it one thing: refute, do not praise. List what is wrong.</p><p>Why this works comes down to a single asymmetry. Checking an answer is easier than producing it. So you generate cheap at high volume, and you spend your expensive, careful tokens only on the gate that catches the silent flaw. A loop without that gate is just AutoGPT again, now at scale and on your invoice.</p><p>This is the real shape of the hybrid stack everyone is excited about. A cheap open model does the work. A premium model sits at one gate and keeps it honest.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g-3b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff440d9-62a1-4c3f-9320-20ea608d91f3_2496x1664.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g-3b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff440d9-62a1-4c3f-9320-20ea608d91f3_2496x1664.png 424w, https://substackcdn.com/image/fetch/$s_!g-3b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff440d9-62a1-4c3f-9320-20ea608d91f3_2496x1664.png 848w, https://substackcdn.com/image/fetch/$s_!g-3b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff440d9-62a1-4c3f-9320-20ea608d91f3_2496x1664.png 1272w, https://substackcdn.com/image/fetch/$s_!g-3b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff440d9-62a1-4c3f-9320-20ea608d91f3_2496x1664.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g-3b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff440d9-62a1-4c3f-9320-20ea608d91f3_2496x1664.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ff440d9-62a1-4c3f-9320-20ea608d91f3_2496x1664.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;:6557092,&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://theaioperator.io/i/202763556?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff440d9-62a1-4c3f-9320-20ea608d91f3_2496x1664.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!g-3b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff440d9-62a1-4c3f-9320-20ea608d91f3_2496x1664.png 424w, https://substackcdn.com/image/fetch/$s_!g-3b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff440d9-62a1-4c3f-9320-20ea608d91f3_2496x1664.png 848w, https://substackcdn.com/image/fetch/$s_!g-3b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff440d9-62a1-4c3f-9320-20ea608d91f3_2496x1664.png 1272w, https://substackcdn.com/image/fetch/$s_!g-3b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff440d9-62a1-4c3f-9320-20ea608d91f3_2496x1664.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 aria-hidden="true" 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><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_!D5__!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b964c7d-5cc2-4ce5-b15f-bf241f38fcea_2494x1668.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D5__!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b964c7d-5cc2-4ce5-b15f-bf241f38fcea_2494x1668.png 424w, https://substackcdn.com/image/fetch/$s_!D5__!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b964c7d-5cc2-4ce5-b15f-bf241f38fcea_2494x1668.png 848w, https://substackcdn.com/image/fetch/$s_!D5__!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b964c7d-5cc2-4ce5-b15f-bf241f38fcea_2494x1668.png 1272w, https://substackcdn.com/image/fetch/$s_!D5__!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b964c7d-5cc2-4ce5-b15f-bf241f38fcea_2494x1668.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D5__!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b964c7d-5cc2-4ce5-b15f-bf241f38fcea_2494x1668.png" width="1456" height="974" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b964c7d-5cc2-4ce5-b15f-bf241f38fcea_2494x1668.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:974,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6748326,&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://theaioperator.io/i/202763556?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b964c7d-5cc2-4ce5-b15f-bf241f38fcea_2494x1668.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_!D5__!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b964c7d-5cc2-4ce5-b15f-bf241f38fcea_2494x1668.png 424w, https://substackcdn.com/image/fetch/$s_!D5__!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b964c7d-5cc2-4ce5-b15f-bf241f38fcea_2494x1668.png 848w, https://substackcdn.com/image/fetch/$s_!D5__!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b964c7d-5cc2-4ce5-b15f-bf241f38fcea_2494x1668.png 1272w, https://substackcdn.com/image/fetch/$s_!D5__!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b964c7d-5cc2-4ce5-b15f-bf241f38fcea_2494x1668.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What&#8217;s real, and what&#8217;s vendor marketing</h2><p>This is where the swarm I ran earned its keep. Three findings matter.</p><p>The viral &#8220;300 agents, 4,000 steps&#8221; is a capability ceiling, not a benchmark. It is a line in the open model&#8217;s own product page. The vendor&#8217;s actual public demos topped out around 100 agents on one task and about 30 on another. The &#8220;4,000&#8221; came from a separate, unrelated run. It describes what the system can be told to attempt, not the quality of what comes out at that size.</p><p>The famous &#8220;this model is four times less likely to pass its own code flaws&#8221; line is real, but softer than it sounds. It does not appear in the technical safety report at all. I checked the full document. It lives in a launch announcement, it is self-reported with no published method, and it measures honesty, that the model flags its own uncertainty, not that the code it writes is four times better.</p><p>The head-to-head benchmark numbers people are reposting, where the open model beats the big paid ones on specific tests, did not hold up. That is the one claim my refute pass killed. They could not be substantiated across sources. The open-versus-closed gap is genuinely unsettled, not won.</p><p>None of this means the tools are bad. The open model is genuinely open-weight and genuinely cheap, which is the part that actually matters. Cheap tokens are what make &#8220;run it twice and throw the first attempt away&#8221; a sane thing to do. That is the same shift that hit the field when DeepSeek landed. The economics are the story, not the leaderboard screenshots.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Prh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c62daa-84ef-48d7-af30-f4ddb38356d9_2502x1666.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Prh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c62daa-84ef-48d7-af30-f4ddb38356d9_2502x1666.png 424w, https://substackcdn.com/image/fetch/$s_!7Prh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c62daa-84ef-48d7-af30-f4ddb38356d9_2502x1666.png 848w, https://substackcdn.com/image/fetch/$s_!7Prh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c62daa-84ef-48d7-af30-f4ddb38356d9_2502x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!7Prh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c62daa-84ef-48d7-af30-f4ddb38356d9_2502x1666.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Prh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c62daa-84ef-48d7-af30-f4ddb38356d9_2502x1666.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9c62daa-84ef-48d7-af30-f4ddb38356d9_2502x1666.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6308513,&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://theaioperator.io/i/202763556?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c62daa-84ef-48d7-af30-f4ddb38356d9_2502x1666.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_!7Prh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c62daa-84ef-48d7-af30-f4ddb38356d9_2502x1666.png 424w, https://substackcdn.com/image/fetch/$s_!7Prh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c62daa-84ef-48d7-af30-f4ddb38356d9_2502x1666.png 848w, https://substackcdn.com/image/fetch/$s_!7Prh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c62daa-84ef-48d7-af30-f4ddb38356d9_2502x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!7Prh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c62daa-84ef-48d7-af30-f4ddb38356d9_2502x1666.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 aria-hidden="true" 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><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><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>Why it compounds, and why that is the real moat</h2><p>The reason to build a loop instead of a better prompt is defensibility.</p><p>Anyone can rent the same model you use. Nobody can copy three things: your skill library, the documents you fed in to make the output sound like you, and your constraints file, the running list of every mistake the verify gate caught and turned into a permanent rule. Those were built from months of your real runs.</p><p>That is why the first run takes twenty minutes and the fiftieth takes thirty seconds, sharper each time. The model did not get smarter. Your system did. I have watched three model generations come and go while the same files kept running, and each one got better at the job, not because of the model, but because the scaffolding around it kept absorbing what I learned.</p><p>&#8220;Self-improving&#8221; does not mean the weights retrain on your runs. They do not. The system around the model improves. Anyone telling you otherwise is selling something.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CV6m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34448109-cccc-437d-8748-41dbd5b6cf47_2498x1662.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CV6m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34448109-cccc-437d-8748-41dbd5b6cf47_2498x1662.png 424w, https://substackcdn.com/image/fetch/$s_!CV6m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34448109-cccc-437d-8748-41dbd5b6cf47_2498x1662.png 848w, https://substackcdn.com/image/fetch/$s_!CV6m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34448109-cccc-437d-8748-41dbd5b6cf47_2498x1662.png 1272w, https://substackcdn.com/image/fetch/$s_!CV6m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34448109-cccc-437d-8748-41dbd5b6cf47_2498x1662.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CV6m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34448109-cccc-437d-8748-41dbd5b6cf47_2498x1662.png" width="1456" height="969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34448109-cccc-437d-8748-41dbd5b6cf47_2498x1662.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6781542,&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://theaioperator.io/i/202763556?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34448109-cccc-437d-8748-41dbd5b6cf47_2498x1662.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_!CV6m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34448109-cccc-437d-8748-41dbd5b6cf47_2498x1662.png 424w, https://substackcdn.com/image/fetch/$s_!CV6m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34448109-cccc-437d-8748-41dbd5b6cf47_2498x1662.png 848w, https://substackcdn.com/image/fetch/$s_!CV6m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34448109-cccc-437d-8748-41dbd5b6cf47_2498x1662.png 1272w, https://substackcdn.com/image/fetch/$s_!CV6m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34448109-cccc-437d-8748-41dbd5b6cf47_2498x1662.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 aria-hidden="true" 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><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>When not to build one</h2><p>I am not going to pretend swarms are for everything, because they are not, and the honest version of this is what separates builders from resharers.</p><p>The strongest counter-argument is simple: the same loop that compounds wins also compounds errors. With no human-anchored ground truth, a flawed spec drifts and the system gets confidently wrong faster. The mitigations are the verify gate, the constraints file as a ratchet, and a human who stays on the question and the final decision.</p><p>Cost is the other catch. The lab that builds these said it plainly: running parallel agents this way burns roughly fifteen times the tokens of a normal chat, so it only pays off on high-value work. And it is a poor fit for tasks that need one coherent thread of reasoning, like writing a single long argument, or anything where the parts depend tightly on each other. Swarms shine on work you can split, run in parallel, and check: research, monitoring, broad data gathering. Not everything.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8HW4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed60c5d5-2ced-46e6-a744-cdbc7dddd5e3_2498x1666.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8HW4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed60c5d5-2ced-46e6-a744-cdbc7dddd5e3_2498x1666.png 424w, https://substackcdn.com/image/fetch/$s_!8HW4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed60c5d5-2ced-46e6-a744-cdbc7dddd5e3_2498x1666.png 848w, https://substackcdn.com/image/fetch/$s_!8HW4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed60c5d5-2ced-46e6-a744-cdbc7dddd5e3_2498x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!8HW4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed60c5d5-2ced-46e6-a744-cdbc7dddd5e3_2498x1666.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8HW4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed60c5d5-2ced-46e6-a744-cdbc7dddd5e3_2498x1666.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed60c5d5-2ced-46e6-a744-cdbc7dddd5e3_2498x1666.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;:6577751,&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://theaioperator.io/i/202763556?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed60c5d5-2ced-46e6-a744-cdbc7dddd5e3_2498x1666.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_!8HW4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed60c5d5-2ced-46e6-a744-cdbc7dddd5e3_2498x1666.png 424w, https://substackcdn.com/image/fetch/$s_!8HW4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed60c5d5-2ced-46e6-a744-cdbc7dddd5e3_2498x1666.png 848w, https://substackcdn.com/image/fetch/$s_!8HW4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed60c5d5-2ced-46e6-a744-cdbc7dddd5e3_2498x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!8HW4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed60c5d5-2ced-46e6-a744-cdbc7dddd5e3_2498x1666.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 aria-hidden="true" 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><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>Build one this week</h2><p>You do not need the 300-agent setup to get the benefit. Here is the smallest version that is a real loop and not a toy.</p><p>Start with a spec, not a prompt. Pick one task you actually repeat, like a weekly competitive brief. Write down what to collect, which sources count, the exact output format, and what to do when sources conflict. Treat the system like a contractor, not a genie.</p><p>Fan the independent parts out to separate agents, each working in its own clean context and handing back a short summary. Then add the gate: a second pass that tries to tear the output apart before you trust it. Capture the whole thing as a reusable skill so next week starts from it. Every flaw the gate catches becomes one line in a constraints file the system reads first, every time. Once it is stable, put it on a schedule and let it surface only the result and anything that looks off.</p><p>That is the loop. The only human left in it is the question you set and the decision you make on the answer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eT5d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e5b307-7c0a-483f-aa92-65629b17d20a_2494x1662.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eT5d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e5b307-7c0a-483f-aa92-65629b17d20a_2494x1662.png 424w, https://substackcdn.com/image/fetch/$s_!eT5d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e5b307-7c0a-483f-aa92-65629b17d20a_2494x1662.png 848w, https://substackcdn.com/image/fetch/$s_!eT5d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e5b307-7c0a-483f-aa92-65629b17d20a_2494x1662.png 1272w, https://substackcdn.com/image/fetch/$s_!eT5d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e5b307-7c0a-483f-aa92-65629b17d20a_2494x1662.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eT5d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e5b307-7c0a-483f-aa92-65629b17d20a_2494x1662.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82e5b307-7c0a-483f-aa92-65629b17d20a_2494x1662.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6788548,&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://theaioperator.io/i/202763556?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e5b307-7c0a-483f-aa92-65629b17d20a_2494x1662.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_!eT5d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e5b307-7c0a-483f-aa92-65629b17d20a_2494x1662.png 424w, https://substackcdn.com/image/fetch/$s_!eT5d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e5b307-7c0a-483f-aa92-65629b17d20a_2494x1662.png 848w, https://substackcdn.com/image/fetch/$s_!eT5d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e5b307-7c0a-483f-aa92-65629b17d20a_2494x1662.png 1272w, https://substackcdn.com/image/fetch/$s_!eT5d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e5b307-7c0a-483f-aa92-65629b17d20a_2494x1662.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 aria-hidden="true" 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><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><span data-color="rgb(227, 237, 237)" style="color: rgb(227, 237, 237);">I am not theorizing here. I maintain an </span><strong><a href="https://github.com/eugeniughelbur/obsidian-second-brain">open-source second brain</a></strong><span data-color="rgb(227, 237, 237)" style="color: rgb(227, 237, 237);"> that has been cloned and starred by over 2,500 developers. It is a loop: it reads its own notes, does the work in steps I can check, and writes back what it learned so the next run starts smarter. Plain files, in git, no framework. The model underneath has changed three times. The loop kept running.</span></p><p>Build it once. Verify it. Distill it. Then watch it get cheaper and sharper every single time you run it.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Frequently asked questions</h2><p><strong>What is an AI agent loop?</strong><br>It is a system where a model does a task, checks the result, and saves what it learned so the next run starts from a better place. Unlike a one-off prompt, a loop accumulates skills and rules over time, so it improves with use even though the model itself never changes.</p><p><strong>What is an AI agent swarm?</strong><br>It is many agents running in parallel on pieces of one task. A coordinator splits the job, each agent works in its own context and returns a short summary, and the coordinator assembles the result. It beats a single agent on tasks you can break apart, because each piece gets a clean, focused context.</p><p><strong>Can an open model really run 300 agents at once?</strong><br>That number is the vendor&#8217;s stated maximum, not a measured benchmark. Real public demos ran closer to 30 to 100 agents. The capability to orchestrate many agents is real. The &#8220;300 and 4,000 steps&#8221; figure is a marketing ceiling, so treat it as such.</p><p><strong>Is &#8220;self-improving AI&#8221; actually the model learning?</strong><br>No. The model&#8217;s weights stay frozen. What improves is the system around it: a growing library of saved skills, fed documents, and a constraints file of past mistakes. The loop gets smarter. The model does not. Anyone implying live retraining from your runs is overselling.</p><p><strong>Why do I need a verify gate?</strong><br>Because a swarm produces confident, under-checked output, and some of it is quietly wrong. A second model told to refute the work catches flaws before they get saved as a permanent skill. Checking is cheaper than generating, which is why this step pays for itself.</p><p><strong>When should I not use an agent swarm?</strong><br>Skip it for tasks that need one coherent line of reasoning, for tightly interdependent work, and for low-value jobs where the extra cost is not worth it. Parallel swarms can use around fifteen times the tokens of a normal chat, so they fit high-value, splittable, checkable work.</p><h2>Key takeaways</h2><ul><li><p>An AI loop beats a prompt because it compounds: every run leaves behind a skill, a document, or a rule that makes the next run faster and sharper, while the model stays frozen.</p></li><li><p>The pattern is not new. ReAct (2022) gave us the base loop, Voyager (2023) gave us reusable skills, and &#8220;compound engineering&#8221; (2025) gave it a name.</p></li><li><p>A swarm beats one long agent because each piece runs in its own clean context, avoiding the context rot that degrades a single agent on a long task.</p></li><li><p>The verify gate is the one non-optional move. A cheap model generates at volume, a trusted model refutes the output, because checking is easier than generating.</p></li><li><p>The viral numbers are vendor marketing. &#8220;300 agents, 4,000 steps&#8221; is a capability ceiling, not a benchmark, and the head-to-head leaderboard claims did not survive fact-checking.</p></li><li><p>The real advantage of open models is cost, not benchmarks. Cheap tokens make &#8220;run it twice, throw the first away&#8221; rational, the same shift DeepSeek triggered.</p></li><li><p>Swarms are for splittable, checkable, high-value work. They burn roughly fifteen times the tokens of a chat and are a poor fit for single coherent arguments or tightly coupled tasks.</p></li></ul><h2>Further reading</h2><ul><li><p>Anthropic, Building Effective Agents (the canonical taxonomy of workflows versus agents, and the orchestrator-worker and evaluator-optimizer patterns). Search &#8220;Anthropic Building Effective Agents&#8221;.</p></li><li><p>Yao et al., ReAct: Synergizing Reasoning and Acting in Language Models (ICLR 2023, the origin of the agent loop). On arXiv.</p></li><li><p>Every, the compound engineering essays by Kieran Klaassen (where the self-improving-system thesis got its name).</p></li><li><p>Cognition AI, Don&#8217;t Build Multi-Agents (the strongest skeptic case, on when parallel agents hurt you).</p></li><li><p><strong><a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">I built this for myself. Then 1,374 strangers cloned it.</a></strong></p></li><li><p>The obsidian-second-brain skill on GitHub: <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>About the author</h2><p><a href="https://www.linkedin.com/in/eugeniu-ghelbur/">Eugeniu Ghelbur</a> is an AI Automation Engineer at Single Grain, where he builds production AI systems for marketing and sales workflows. He ships open-source Claude Code skills and writes about AI knowledge management at theaioperator.io. The obsidian-second-brain skill described here is live on GitHub at <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a>, where it has been starred by over 3,000 developers.</p><p></p>]]></content:encoded></item><item><title><![CDATA[How to Build a Folder-Native AI Agent]]></title><description><![CDATA[AI memory and AI work are both just folders of markdown. Here's how to wire them into one agent.]]></description><link>https://theaioperator.io/p/how-to-build-a-folder-native-ai-agent</link><guid isPermaLink="false">https://theaioperator.io/p/how-to-build-a-folder-native-ai-agent</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Tue, 16 Jun 2026 14:03:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!H4Zs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Google&#8217;s Open Knowledge Format gives an agent its memory. A University of Edinburgh paper gives it a workflow. Both are just folders of markdown. Here is how to wire them into one agent you can build this week.</em></p><p><strong>TL;DR</strong><br><strong>A folder-native AI agent keeps its memory and its work in the same place: folders of plain markdown, in git, with no database and no framework. Google&#8217;s Open Knowledge Format (OKF) standardizes the memory half. The University of Edinburgh&#8217;s Interpretable Context Methodology (ICM) standardizes the workflow half. Wire them together and you get one agent that reads its own memory, does the work in steps you can check, and writes what it learned back, so it starts smarter every run. This post gives you the exact folder layout, what goes in each file, the loop that makes it compound, and where it breaks.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H4Zs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H4Zs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.png 424w, https://substackcdn.com/image/fetch/$s_!H4Zs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.png 848w, https://substackcdn.com/image/fetch/$s_!H4Zs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.png 1272w, https://substackcdn.com/image/fetch/$s_!H4Zs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H4Zs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.png" width="1456" height="969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6106082,&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://theaioperator.io/i/202264090?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.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_!H4Zs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.png 424w, https://substackcdn.com/image/fetch/$s_!H4Zs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.png 848w, https://substackcdn.com/image/fetch/$s_!H4Zs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.png 1272w, https://substackcdn.com/image/fetch/$s_!H4Zs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ea5d42-1f6b-44a9-9f0b-29dd23023341_2332x1552.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 aria-hidden="true" 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><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>Two research groups shipped the same idea three months apart, and nobody put the two halves together.</p><p>In March 2026, two researchers at the University of Edinburgh published a paper arguing you do not need a multi-agent framework to run an AI workflow. You need numbered folders, each holding a markdown file that tells the agent what to do at that step. The folder structure is the program. <a href="https://www.linkedin.com/in/jake-van-clief/">Jake Van Clief</a>, who co-authored the ICM paper, has been one of the most consistent public voices explaining how it works.</p><p>In June 2026, Google shipped the Open Knowledge Format. Its claim: you do not need a vector database to give an agent its knowledge. You need a folder of markdown files with a little metadata on top, readable by any agent or any human.</p><p>One group described how an agent <strong>does work</strong>. The other described how an agent <strong>remembers</strong>. Both landed on the same answer: plain markdown, in folders, in git. I wired the two halves into one agent. Here is exactly how it works, and how to build your own.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>What &#8220;folder-native&#8221; actually means</h2><p>A folder-native AI agent is an agent whose memory and workflow are both ordinary files on disk, not records in a database or steps inside a framework.</p><p>That is the whole definition. No special runtime. If you can open a file, you can read its memory. If you can clone a repo, you can ship the whole agent. Three pieces make it work, and you already understand all three:</p><ul><li><p><strong>Markdown</strong> is the format. Human-readable text with light structure.</p></li><li><p><strong>Folders</strong> are the organization. Nesting and naming carry meaning the agent can follow.</p></li><li><p><strong>Git</strong> is the spine. Version history, diffs, and rollback come for free.</p></li></ul><p>Everything below is built from those three pieces and nothing else.</p><h2>The filesystem keeps winning</h2><p>This is not new, which is exactly why I trust it.</p><p>In 1978, Doug McIlroy wrote the rule that made Unix powerful: make each program do one thing well, and let plain text pass between them as the universal interface. Fifty years later, every clever layer we bolted on top has aged worse than the plain-text idea underneath. (<a href="https://en.wikipedia.org/wiki/Unix_philosophy">the Unix philosophy</a>, McIlroy, Bell Labs)</p><p>AI is repeating the pattern. We spent two years building scaffolding around language models: vector stores, orchestration frameworks, memory layers with their own SDKs. The quiet result of the last few months is that a folder of markdown beats most of it for the work people actually do.</p><p>I wrote about <a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">Karpathy&#8217;s LLM Wiki</a> when it first went around. The insight: humans abandon wikis because keeping them current is tedious, but a model does not get bored. It will update a cross-reference for the thousandth time without complaint. OKF and ICM are what that insight looks like once it grows into a standard.</p><h2>Two halves nobody put together</h2><p>Here is the part worth your attention.</p><p><strong>OKF is memory.</strong> It is where knowledge lives: facts, context, decisions, people, written as markdown and updated over time. The brain the agent reads from.</p><p><strong>ICM is work.</strong> It is how a job gets done in stages: research, then draft, then produce, with a human checking the output between steps. The hands.</p><p>Every write-up I have seen treats these as separate. They are not. They share the same material, folders of markdown, which means the workflow can read straight from memory and write straight back into it. No glue code. No translation layer. The brain and the hands speak the same language because they are made of the same thing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J5c2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5fb7917-ad53-40a3-9b8c-99f1b13ae450_2374x1580.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J5c2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5fb7917-ad53-40a3-9b8c-99f1b13ae450_2374x1580.png 424w, https://substackcdn.com/image/fetch/$s_!J5c2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5fb7917-ad53-40a3-9b8c-99f1b13ae450_2374x1580.png 848w, https://substackcdn.com/image/fetch/$s_!J5c2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5fb7917-ad53-40a3-9b8c-99f1b13ae450_2374x1580.png 1272w, https://substackcdn.com/image/fetch/$s_!J5c2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5fb7917-ad53-40a3-9b8c-99f1b13ae450_2374x1580.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J5c2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5fb7917-ad53-40a3-9b8c-99f1b13ae450_2374x1580.png" width="1456" height="969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5fb7917-ad53-40a3-9b8c-99f1b13ae450_2374x1580.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6167127,&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://theaioperator.io/i/202264090?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5fb7917-ad53-40a3-9b8c-99f1b13ae450_2374x1580.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_!J5c2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5fb7917-ad53-40a3-9b8c-99f1b13ae450_2374x1580.png 424w, https://substackcdn.com/image/fetch/$s_!J5c2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5fb7917-ad53-40a3-9b8c-99f1b13ae450_2374x1580.png 848w, https://substackcdn.com/image/fetch/$s_!J5c2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5fb7917-ad53-40a3-9b8c-99f1b13ae450_2374x1580.png 1272w, https://substackcdn.com/image/fetch/$s_!J5c2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5fb7917-ad53-40a3-9b8c-99f1b13ae450_2374x1580.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What the agent actually looks like</h2><p>Here is the literal anatomy. One repo, two top-level folders, all markdown.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;6758bb23-06c1-49c9-81f2-621629c3c25a&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">my-agent/
  memory/                  &lt;- OKF: what the agent knows
    people/
      john-smith.md
    projects/
      weekly-report.md
    decisions/
      pricing-2026.md
    MEMORY.md              &lt;- index: one line per note
  workflow/                &lt;- ICM: how the agent does a job
    01-research/
      CONTEXT.md           &lt;- instructions for this step
      output.md            &lt;- what the step produced
    02-draft/
      CONTEXT.md
      output.md
    03-produce/
      CONTEXT.md
      output.md
  README.md                &lt;- how to run it</code></pre></div><p>Read that tree once, and you understand the entire system. <code>memory/</code> is the brain. <code>workflow/</code> is the job, broken into numbered steps a human can read in order. There is no hidden state anywhere. The folder structure <strong>is</strong> the program.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ikDr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13145318-0e42-4f14-bd69-900606106b4e_2362x1572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ikDr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13145318-0e42-4f14-bd69-900606106b4e_2362x1572.png 424w, https://substackcdn.com/image/fetch/$s_!ikDr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13145318-0e42-4f14-bd69-900606106b4e_2362x1572.png 848w, https://substackcdn.com/image/fetch/$s_!ikDr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13145318-0e42-4f14-bd69-900606106b4e_2362x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!ikDr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13145318-0e42-4f14-bd69-900606106b4e_2362x1572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ikDr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13145318-0e42-4f14-bd69-900606106b4e_2362x1572.png" width="1456" height="969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13145318-0e42-4f14-bd69-900606106b4e_2362x1572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5983716,&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://theaioperator.io/i/202264090?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13145318-0e42-4f14-bd69-900606106b4e_2362x1572.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_!ikDr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13145318-0e42-4f14-bd69-900606106b4e_2362x1572.png 424w, https://substackcdn.com/image/fetch/$s_!ikDr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13145318-0e42-4f14-bd69-900606106b4e_2362x1572.png 848w, https://substackcdn.com/image/fetch/$s_!ikDr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13145318-0e42-4f14-bd69-900606106b4e_2362x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!ikDr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13145318-0e42-4f14-bd69-900606106b4e_2362x1572.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 aria-hidden="true" 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><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><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>Inside a single stage</h2><p>Each numbered folder holds two files. A <code>CONTEXT.md</code> that tells the agent what to do (this is the contract file the ICM paper is built around), and an <code>output.md</code> where it writes the result. Here is what a <code>CONTEXT.md</code> looks like:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;2cf6b73b-698b-4132-a898-5e52cea80327&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown"># Stage 02 - Draft

## Read first
- memory/projects/weekly-report.md
- ../01-research/output.md

## Do
Write a 1-page client report. Use last week's numbersfrom the research step. 
Match the client's tone from their note in memory.

## Write to
output.md

## Stop
Wait for the human to approve before stage 03 runs.</code></pre></div><p>That is the entire instruction set for one step. Plain English, two file paths to read, one file to write, and an explicit stop. The agent opens <code>CONTEXT.md</code>, pulls exactly the memory it names, does the work, and writes <code>output.md</code>. Then it stops and waits for you.</p><p>This is the part frameworks make hard and folders make trivial: every step is a file you can open, read, and correct before the next one runs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JrIB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cf9514-aaeb-4af3-b4d3-50f745f61313_2140x1422.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JrIB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cf9514-aaeb-4af3-b4d3-50f745f61313_2140x1422.png 424w, https://substackcdn.com/image/fetch/$s_!JrIB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cf9514-aaeb-4af3-b4d3-50f745f61313_2140x1422.png 848w, https://substackcdn.com/image/fetch/$s_!JrIB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cf9514-aaeb-4af3-b4d3-50f745f61313_2140x1422.png 1272w, https://substackcdn.com/image/fetch/$s_!JrIB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cf9514-aaeb-4af3-b4d3-50f745f61313_2140x1422.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JrIB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cf9514-aaeb-4af3-b4d3-50f745f61313_2140x1422.png" width="1456" height="967" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93cf9514-aaeb-4af3-b4d3-50f745f61313_2140x1422.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:967,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4948797,&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://theaioperator.io/i/202264090?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cf9514-aaeb-4af3-b4d3-50f745f61313_2140x1422.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_!JrIB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cf9514-aaeb-4af3-b4d3-50f745f61313_2140x1422.png 424w, https://substackcdn.com/image/fetch/$s_!JrIB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cf9514-aaeb-4af3-b4d3-50f745f61313_2140x1422.png 848w, https://substackcdn.com/image/fetch/$s_!JrIB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cf9514-aaeb-4af3-b4d3-50f745f61313_2140x1422.png 1272w, https://substackcdn.com/image/fetch/$s_!JrIB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cf9514-aaeb-4af3-b4d3-50f745f61313_2140x1422.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 aria-hidden="true" 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><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>The loop that makes it compound</h2><p>A pipeline of stages is useful. The loop is what makes it an agent that gets better.</p><p>After the work ships, the agent does one more thing: it takes the new facts it learned this run and writes them back into <code>memory/</code>. Next run, it starts from a smarter place, because the work it did became part of what it knows.</p><p>The full cycle, all in files:</p><ol><li><p><strong>Read</strong> the relevant notes from <code>memory/</code>.</p></li><li><p><strong>Do</strong> the stage, writing <code>output.md</code>.</p></li><li><p><strong>You check</strong> the output and fix it in the file if the angle is off.</p></li><li><p><strong>Write back</strong> the new facts into <code>memory/</code>.</p></li><li><p>Next run starts from the updated memory.</p></li></ol><p>That is a complete agent. Memory it reads, work it runs, and a loop where the work makes the memory better. All of it plain files you can read on a Tuesday afternoon with nothing open but a text editor.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5sx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4450d6c-799d-4f5c-96ed-007d8a8632c2_2270x1512.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5sx4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4450d6c-799d-4f5c-96ed-007d8a8632c2_2270x1512.png 424w, https://substackcdn.com/image/fetch/$s_!5sx4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4450d6c-799d-4f5c-96ed-007d8a8632c2_2270x1512.png 848w, https://substackcdn.com/image/fetch/$s_!5sx4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4450d6c-799d-4f5c-96ed-007d8a8632c2_2270x1512.png 1272w, https://substackcdn.com/image/fetch/$s_!5sx4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4450d6c-799d-4f5c-96ed-007d8a8632c2_2270x1512.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5sx4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4450d6c-799d-4f5c-96ed-007d8a8632c2_2270x1512.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4450d6c-799d-4f5c-96ed-007d8a8632c2_2270x1512.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5621197,&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://theaioperator.io/i/202264090?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4450d6c-799d-4f5c-96ed-007d8a8632c2_2270x1512.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_!5sx4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4450d6c-799d-4f5c-96ed-007d8a8632c2_2270x1512.png 424w, https://substackcdn.com/image/fetch/$s_!5sx4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4450d6c-799d-4f5c-96ed-007d8a8632c2_2270x1512.png 848w, https://substackcdn.com/image/fetch/$s_!5sx4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4450d6c-799d-4f5c-96ed-007d8a8632c2_2270x1512.png 1272w, https://substackcdn.com/image/fetch/$s_!5sx4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4450d6c-799d-4f5c-96ed-007d8a8632c2_2270x1512.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 aria-hidden="true" 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><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>A worked example: the weekly client report</h2><p>Concrete beats abstract. Say you want an agent to write your weekly client report.</p><p>Stage 01 reads the client&#8217;s note from <code>memory/people/</code>, pulls this week&#8217;s numbers, and writes a research summary to <code>output.md</code>. You glance at it. If a number is wrong, you fix it in the file.</p><p>Stage 02 reads the client&#8217;s project note and the research output, then drafts the report into its own <code>output.md</code>. You read the draft. If the angle is off, you correct it right there before anything else runs.</p><p>Stage 03 polishes the draft into the final report.</p><p>Then the loop closes: the agent writes the new facts it learned this week (a changed priority, a new contact, a decision the client made) back into <code>memory/people/</code> and <code>memory/decisions/</code>. Next Monday, the agent starts from a smarter place. You did not retrain anything. You did not migrate a database. You edited text files.</p><h2>Why this beats the stack you were about to build</h2><p>Three reasons, and none are about benchmarks.</p><p><strong>You can see everything.</strong> No hidden state, no opaque vector index, no &#8220;trust me&#8221; black box. Every intermediate step is a file. When the output is wrong, you open the folder and find where it went wrong. The system is inspectable by default, not because someone bolted on a logging dashboard.</p><p><strong>You can change anything.</strong> A non-technical person can edit a markdown file. The person who owns the work can correct the agent without calling a developer. The control surface is a text editor.</p><p><strong>It outlives the model.</strong> Your knowledge and workflows are not trapped inside a product. They are files in a folder in git. When the next model drops, you point it at the same folder. Nothing to migrate, nothing to rebuild. I have watched three model generations come and go while <a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">my own setup</a> kept running on the same files.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aMPV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05cb369-2d9d-4729-8aee-21a944584c31_1854x1234.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aMPV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05cb369-2d9d-4729-8aee-21a944584c31_1854x1234.png 424w, https://substackcdn.com/image/fetch/$s_!aMPV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05cb369-2d9d-4729-8aee-21a944584c31_1854x1234.png 848w, https://substackcdn.com/image/fetch/$s_!aMPV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05cb369-2d9d-4729-8aee-21a944584c31_1854x1234.png 1272w, https://substackcdn.com/image/fetch/$s_!aMPV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05cb369-2d9d-4729-8aee-21a944584c31_1854x1234.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aMPV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05cb369-2d9d-4729-8aee-21a944584c31_1854x1234.png" width="1456" height="969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f05cb369-2d9d-4729-8aee-21a944584c31_1854x1234.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3989204,&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://theaioperator.io/i/202264090?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05cb369-2d9d-4729-8aee-21a944584c31_1854x1234.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_!aMPV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05cb369-2d9d-4729-8aee-21a944584c31_1854x1234.png 424w, https://substackcdn.com/image/fetch/$s_!aMPV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05cb369-2d9d-4729-8aee-21a944584c31_1854x1234.png 848w, https://substackcdn.com/image/fetch/$s_!aMPV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05cb369-2d9d-4729-8aee-21a944584c31_1854x1234.png 1272w, https://substackcdn.com/image/fetch/$s_!aMPV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05cb369-2d9d-4729-8aee-21a944584c31_1854x1234.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 aria-hidden="true" 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><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>How to build your own this week</h2><p>You do not need either standard to start. You need a folder. Here is the smallest version that works:</p><ol><li><p><strong>Make two folders:</strong> <code>memory/</code> and <code>workflow/</code>. Put them in a git repo.</p></li><li><p><strong>Seed memory.</strong> Drop in a handful of markdown notes about the things your agent needs to know. One fact per file. Add a <code>MEMORY.md</code> Index with one line per note.</p></li><li><p><strong>Write one stage.</strong> Create <code>workflow/01-do-the-thing/CONTEXT.md</code> with three sections: what to read, what to do, what to write. Point an agent (Claude Code, or any tool that can read and write files) at it.</p></li><li><p><strong>Run it and read the output.</strong> Fix the output file by hand if it is off. This is the human-in-the-loop, and it is the point, not a workaround.</p></li><li><p><strong>Close the loop.</strong> Add a final instruction: write any new facts back into <code>memory/</code>. Run it again next week and watch it start smarter.</p></li><li><p><strong>Add stages only when a single one gets crowded.</strong> Split <code>01</code> into <code>01-research</code> and <code>02-draft</code> When the instructions stop fitting on one screen.</p></li></ol><p>Add the heavy machinery (a database, a framework) only when a folder genuinely cannot do the job. That moment is later and rarer than you think.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>Where this breaks</h2><p>I am not going to tell you that folders solve everything, because they do not.</p><p>The Edinburgh paper is honest about this, and so am I. This pattern fits <strong>sequential work that a human reviews.</strong> It is not built for real-time, many-agents-talking-at-once systems, or high-concurrency services where you need queues and proper infrastructure. For that, the frameworks earn their complexity.</p><p>Both standards are also early. OKF is a version 0.1 from a single company. ICM is a young methodology with a small community. This is the start of something, not a settled stack. I am betting on the direction, not claiming the destination.</p><p>But for the large, boring middle, the reports and the research and the content and the knowledge work most of us spend our days on, the folder wins. It is simpler than the problem we built frameworks to solve.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NHlB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bd2da1-3637-454d-90d5-a6c2d77ce2df_1854x1234.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NHlB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bd2da1-3637-454d-90d5-a6c2d77ce2df_1854x1234.png 424w, https://substackcdn.com/image/fetch/$s_!NHlB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bd2da1-3637-454d-90d5-a6c2d77ce2df_1854x1234.png 848w, https://substackcdn.com/image/fetch/$s_!NHlB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bd2da1-3637-454d-90d5-a6c2d77ce2df_1854x1234.png 1272w, https://substackcdn.com/image/fetch/$s_!NHlB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bd2da1-3637-454d-90d5-a6c2d77ce2df_1854x1234.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NHlB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bd2da1-3637-454d-90d5-a6c2d77ce2df_1854x1234.png" width="1456" height="969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37bd2da1-3637-454d-90d5-a6c2d77ce2df_1854x1234.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4152378,&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://theaioperator.io/i/202264090?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bd2da1-3637-454d-90d5-a6c2d77ce2df_1854x1234.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_!NHlB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bd2da1-3637-454d-90d5-a6c2d77ce2df_1854x1234.png 424w, https://substackcdn.com/image/fetch/$s_!NHlB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bd2da1-3637-454d-90d5-a6c2d77ce2df_1854x1234.png 848w, https://substackcdn.com/image/fetch/$s_!NHlB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bd2da1-3637-454d-90d5-a6c2d77ce2df_1854x1234.png 1272w, https://substackcdn.com/image/fetch/$s_!NHlB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37bd2da1-3637-454d-90d5-a6c2d77ce2df_1854x1234.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 aria-hidden="true" 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><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>I am not theorizing</h2><p>I maintain an open-source second brain that has been cloned and starred by over 3,000 developers. It is folders of markdown, maintained by AI, on the exact pattern OKF describes. The code is public: <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a>.</p><p>This week I made it speak the standard directly. It now exports a valid OKF bundle, so the vault any of those developers run is portable to anything that reads the format. I also run a capture pipeline that takes a voice note or a photo from my phone and files it into the right note, plus a step that means the agent never leaves a dead link: when it references a person or project that has no note yet, it creates that note and fills it.</p><p>None of that is a demo. It is what I use every day. The point is not the specific tool. The point is that the architecture works, you can see it working, and you can build it yourself, because it is just files.</p><h2>Start with a folder</h2><p>If you take one thing from this: stop reaching for a database or a framework as the first move. Start with a folder of markdown. Let the agent read it, work in it, and keep it current.</p><p>The filesystem won the first time, in 1978. It is winning again, for the same reason: plain text outlasts the scaffolding built on top of it. The only question is whether you start now or after everyone else has.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Frequently asked questions</h2><p><strong>What is a folder-native AI agent?</strong><br>A folder-native AI agent is an AI agent whose memory and workflow are both stored as plain markdown files in folders, versioned in git, with no database and no orchestration framework. The agent reads its memory from files, does work in numbered stage folders, and writes new facts back to memory.</p><p><strong>What is the Open Knowledge Format (OKF)?</strong><br>OKF is a standard from Google Cloud, released in June 2026, for packaging knowledge as a folder of markdown files with simple metadata, so AI agents can read and maintain it without a database or scraping. It defines the memory layer of a folder-native agent.</p><p><strong>What is Interpretable Context Methodology (ICM)?</strong><br>ICM is a method from a 2026 University of Edinburgh paper for running multi-step AI workflows using numbered folders and markdown instead of a coding framework. One agent reads the right file at each stage, and a human reviews the output between stages. It defines the workflow layer.</p><p><strong>How are OKF and ICM related?</strong><br>They are the same idea applied to two halves of one agent. OKF is the memory (what the agent knows). ICM is the workflow (how the agent does work). Because both are folders of markdown, you can wire them together so a workflow reads from memory and writes back to it.</p><p><strong>Do I need a vector database for AI memory?</strong><br>For a lot of everyday knowledge work, no. A folder of markdown the model reads directly avoids the &#8220;lost in the middle&#8221; problem of stuffing everything into one prompt (<a href="https://arxiv.org/abs/2307.03172">Liu et al., 2023</a>), and it is far simpler to inspect and edit. Databases earn their place at scale, not by default.</p><p><strong>Is folder-native AI ready for production?</strong><br>For sequential, human-reviewed workflows, yes, people run it today. For real-time, high-concurrency, or many-agent systems, no, you still want proper infrastructure. Both OKF and ICM are early, so treat this as a direction to build toward, not a finished standard.</p><p><strong>Can I use this with my existing Obsidian vault?</strong><br>Yes. An Obsidian vault is already folders of markdown, which is most of the way to OKF. That is why the pattern is spreading fast among people who already keep notes this way.</p><h2>Key takeaways</h2><ul><li><p>A folder-native AI agent keeps memory and work as plain markdown in folders, in git, with no database and no framework.</p></li><li><p>Two 2026 standards landed on the same answer independently: Google&#8217;s OKF for the memory layer, the Edinburgh ICM paper for the workflow layer.</p></li><li><p>Wire them together and a workflow reads from memory and writes back to it, so each run makes the agent&#8217;s memory smarter.</p></li><li><p>The build is simple: two folders (<code>memory/</code> and <code>workflow/</code>), one markdown note per fact, one <code>CONTEXT.md</code> per step, a human check between steps, and a loop that writes new facts back.</p></li><li><p>The real advantages are inspectability, editability by non-developers, and surviving the next model with zero migration. Not speed.</p></li><li><p>Folders are not for everything. Real-time and high-concurrency systems still need real infrastructure. This fits the large, sequential, human-reviewed middle.</p></li></ul><h2>Further reading</h2><ul><li><p>Google Cloud, <em><a href="https://cloud.google.com/blog/products/data-analytics/how-the-open-knowledge-format-can-improve-data-sharing/">How the Open Knowledge Format can improve data sharing</a></em> (the OKF v0.1 announcement, June 2026).</p></li><li><p>Van Clief &amp; McDermott, <em><a href="https://arxiv.org/abs/2603.16021">Interpretable Context Methodology: Folder Structure as Agentic Architecture</a></em> (University of Edinburgh, arXiv:2603.16021, March 2026).</p></li><li><p>The ICM reference implementation on GitHub: <a href="https://github.com/RinDig/Interpreted-Context-Methdology">github.com/RinDig/Interpreted-Context-Methdology</a>.</p></li><li><p><a href="https://www.linkedin.com/in/jake-van-clief/">Jake Van Clief</a> on ICM (co-authored the paper and posts regularly about the methodology publicly).</p></li><li><p>Andrej Karpathy&#8217;s LLM Wiki gist (the origin of the &#8220;agents do not get bored maintaining a wiki&#8221; insight).</p></li><li><p>Liu et al., <em><a href="https://arxiv.org/abs/2307.03172">Lost in the Middle: How Language Models Use Long Contexts</a></em> (why folders the model reads directly beat one giant prompt).</p></li><li><p><a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">I rebuilt Karpathy&#8217;s LLM Wiki. Here&#8217;s what&#8217;s missing from the original.</a></p></li><li><p><a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">I built this for myself. Then 1,374 strangers cloned it.</a></p></li><li><p>The obsidian-second-brain skill on GitHub: <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>About the author</h2><p>Eugeniu Ghelbur is an AI Automation Engineer at Single Grain, where he builds production AI systems for marketing and sales workflows. He ships open-source Claude Code skills and writes about AI knowledge management at theaioperator.io. The obsidian-second-brain skill described here is live on GitHub at <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a>, where over 3,000 developers have starred it.</p>]]></content:encoded></item><item><title><![CDATA[Karpathy's LLM Wiki v2: What to Keep, What to Skip]]></title><description><![CDATA[I rebuilt it, ran it daily for months, and most of the v2 hype is overkill.]]></description><link>https://theaioperator.io/p/karpathys-llm-wiki-v2-what-to-keep</link><guid isPermaLink="false">https://theaioperator.io/p/karpathys-llm-wiki-v2-what-to-keep</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Tue, 09 Jun 2026 15:14:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kLIX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.png" 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_!kLIX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kLIX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.png 424w, https://substackcdn.com/image/fetch/$s_!kLIX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.png 848w, https://substackcdn.com/image/fetch/$s_!kLIX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.png 1272w, https://substackcdn.com/image/fetch/$s_!kLIX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kLIX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.png" width="1290" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:1290,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2074903,&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://theaioperator.io/i/201306608?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.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_!kLIX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.png 424w, https://substackcdn.com/image/fetch/$s_!kLIX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.png 848w, https://substackcdn.com/image/fetch/$s_!kLIX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.png 1272w, https://substackcdn.com/image/fetch/$s_!kLIX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea1804cb-8bab-413b-bbbb-5016e50931f8_1290x866.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 aria-hidden="true" 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><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><strong>The internet has spent two months designing a &#8220;v2&#8221; of Andrej Karpathy&#8217;s LLM Wiki: confidence scores, supersession chains, forgetting curves, vector search, lifecycle hooks.</strong><br><strong>I rebuilt the original and have run it every day for months across <a href="https://github.com/eugeniughelbur/obsidian-second-brain">a repo that 2,317 people have now starred.</a></strong><br><strong>Here is the honest report on which v2 ideas earn their place, and which are overkill you will rip out in a week.</strong></p><p>Andrej Karpathy posted a gist last year describing how he keeps an LLM-maintained wiki: raw sources go in untouched, the AI owns a folder of markdown notes, and a rules file tells it how to ingest, update, and query. I <strong><a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">rebuilt that pattern as a working system</a></strong> and wrote about what the original left out.</p><p>Since then a small genre has appeared. People are publishing &#8220;LLM Wiki v2&#8221; gists. The most-shared one (by a developer who goes by rohitg00) adds confidence scoring, supersession chains, forgetting curves, hybrid vector search, and event hooks. Other versions pile on audit trails, tiered memory, and quality scores.</p><p>It reads like a real upgrade. Most of it is not.</p><p>I am not theorizing. I have run my rebuilt wiki every day for months, and I open-sourced the whole thing as <strong><a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain</a></strong>. So here is the difference between the v2 ideas that survive contact with daily use and the ones that look smart in a gist and die in practice.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>First, the part everyone gets right</h2><p>If you landed here cold, the pattern is three layers, and it genuinely works.</p><p>One: raw sources, immutable. Whatever you feed it (an article, a transcript, a meeting) lands in a folder and never gets edited. That is your ground truth.</p><p>Two: the wiki. A folder of markdown notes the AI owns and rewrites. New information does not get appended to the bottom. It gets folded into the existing note, and contradictions get reconciled.</p><p>Three: the rules file. One markdown file that tells the AI how to ingest a source, how to update a page, how to record what it did. An <code>index.md</code> for navigation and an append-only <code>log.md</code> for history.</p><p>The reason it beats dumping everything into a giant context window: a curated wiki of 50,000 to 100,000 tokens answers most questions without loading your entire corpus. You spend tokens on the answer, not on the haystack. That part is real and v2 does not change it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ka3M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4d7331-f77b-4812-be27-df2912a5c20e_1292x862.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ka3M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4d7331-f77b-4812-be27-df2912a5c20e_1292x862.png 424w, https://substackcdn.com/image/fetch/$s_!Ka3M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4d7331-f77b-4812-be27-df2912a5c20e_1292x862.png 848w, https://substackcdn.com/image/fetch/$s_!Ka3M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4d7331-f77b-4812-be27-df2912a5c20e_1292x862.png 1272w, https://substackcdn.com/image/fetch/$s_!Ka3M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4d7331-f77b-4812-be27-df2912a5c20e_1292x862.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ka3M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4d7331-f77b-4812-be27-df2912a5c20e_1292x862.png" width="1292" height="862" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b4d7331-f77b-4812-be27-df2912a5c20e_1292x862.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:862,&quot;width&quot;:1292,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2105639,&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://theaioperator.io/i/201306608?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4d7331-f77b-4812-be27-df2912a5c20e_1292x862.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_!Ka3M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4d7331-f77b-4812-be27-df2912a5c20e_1292x862.png 424w, https://substackcdn.com/image/fetch/$s_!Ka3M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4d7331-f77b-4812-be27-df2912a5c20e_1292x862.png 848w, https://substackcdn.com/image/fetch/$s_!Ka3M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4d7331-f77b-4812-be27-df2912a5c20e_1292x862.png 1272w, https://substackcdn.com/image/fetch/$s_!Ka3M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4d7331-f77b-4812-be27-df2912a5c20e_1292x862.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What &#8220;v2&#8221; actually means right now</h2><p>There is no official v2. Karpathy&#8217;s gist is still the only canonical spec. &#8220;v2&#8221; is a community label for a pile of proposed additions, and they cluster into two buckets.</p><p>Governance features: confidence scores on claims, supersession chains so an old fact points to the new one that replaced it, and &#8220;forgetting curves&#8221; so stale notes decay instead of rotting in place.</p><p>Retrieval and infrastructure: hybrid search (keyword plus vector embeddings), lifecycle and event hooks, quality scoring, tiered memory.</p><p>The first bucket is about whether the wiki tells you the truth. The second is about machinery. After months of running this, the split between them is exactly the split between what works and what is overkill.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0CzH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f20328-1c06-44de-9f17-48691ceac221_1290x862.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0CzH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f20328-1c06-44de-9f17-48691ceac221_1290x862.png 424w, https://substackcdn.com/image/fetch/$s_!0CzH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f20328-1c06-44de-9f17-48691ceac221_1290x862.png 848w, https://substackcdn.com/image/fetch/$s_!0CzH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f20328-1c06-44de-9f17-48691ceac221_1290x862.png 1272w, https://substackcdn.com/image/fetch/$s_!0CzH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f20328-1c06-44de-9f17-48691ceac221_1290x862.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0CzH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f20328-1c06-44de-9f17-48691ceac221_1290x862.png" width="1290" height="862" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08f20328-1c06-44de-9f17-48691ceac221_1290x862.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:862,&quot;width&quot;:1290,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2065757,&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://theaioperator.io/i/201306608?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f20328-1c06-44de-9f17-48691ceac221_1290x862.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_!0CzH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f20328-1c06-44de-9f17-48691ceac221_1290x862.png 424w, https://substackcdn.com/image/fetch/$s_!0CzH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f20328-1c06-44de-9f17-48691ceac221_1290x862.png 848w, https://substackcdn.com/image/fetch/$s_!0CzH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f20328-1c06-44de-9f17-48691ceac221_1290x862.png 1272w, https://substackcdn.com/image/fetch/$s_!0CzH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f20328-1c06-44de-9f17-48691ceac221_1290x862.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 aria-hidden="true" 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><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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><h2>The v2 ideas I shipped and kept</h2><p>The governance bucket earns its place. Every one of these is in the system I run.</p><p><strong>Confidence markers.</strong> Every claim my wiki writes carries a tag: <code>stated</code>, <code>high</code>, or <code>low</code>. It costs almost nothing (one word per fact) and it changes how you read. When the AI synthesizes across notes, a <code>stated</code> claim gets treated as a quote, not a truth. This is the single highest-value v2 idea and it requires zero infrastructure.</p><p><strong>Supersession, done as reconciliation.</strong> When a new source contradicts an existing note, the wiki does not keep both and shrug. A command reconciles them: the note gets rewritten to the current truth, and the change is logged. You do not need a formal &#8220;supersession chain&#8221; data structure. You need the AI to actually resolve the conflict instead of hoarding it.</p><p><strong>A forgetting curve, but boring.</strong> The fancy version tracks decay scores and timestamps. Mine is simpler: lessons get reviewed, and the ones that stopped being true get pruned. <strong><a href="https://theaioperator.io/p/your-notes-are-a-graveyard">Notes that just accumulate become a graveyard</a></strong>. The point of a forgetting curve is not the math. It is that something deletes.</p><p><strong>Lifecycle hooks, as scheduled agents.</strong> This one is real and I run it. Background agents wake up on a schedule and maintain the wiki while I am not looking: reconcile contradictions, synthesize patterns, flag stale claims. You do not need an event-bus abstraction. You need cron and a rules file.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AEFK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e550cf4-bdc7-4406-b7f5-9477e4bdfce3_1290x856.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AEFK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e550cf4-bdc7-4406-b7f5-9477e4bdfce3_1290x856.png 424w, https://substackcdn.com/image/fetch/$s_!AEFK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e550cf4-bdc7-4406-b7f5-9477e4bdfce3_1290x856.png 848w, https://substackcdn.com/image/fetch/$s_!AEFK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e550cf4-bdc7-4406-b7f5-9477e4bdfce3_1290x856.png 1272w, https://substackcdn.com/image/fetch/$s_!AEFK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e550cf4-bdc7-4406-b7f5-9477e4bdfce3_1290x856.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AEFK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e550cf4-bdc7-4406-b7f5-9477e4bdfce3_1290x856.png" width="1290" height="856" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e550cf4-bdc7-4406-b7f5-9477e4bdfce3_1290x856.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:856,&quot;width&quot;:1290,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2064285,&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://theaioperator.io/i/201306608?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e550cf4-bdc7-4406-b7f5-9477e4bdfce3_1290x856.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_!AEFK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e550cf4-bdc7-4406-b7f5-9477e4bdfce3_1290x856.png 424w, https://substackcdn.com/image/fetch/$s_!AEFK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e550cf4-bdc7-4406-b7f5-9477e4bdfce3_1290x856.png 848w, https://substackcdn.com/image/fetch/$s_!AEFK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e550cf4-bdc7-4406-b7f5-9477e4bdfce3_1290x856.png 1272w, https://substackcdn.com/image/fetch/$s_!AEFK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e550cf4-bdc7-4406-b7f5-9477e4bdfce3_1290x856.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 aria-hidden="true" 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><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>The v2 idea I skipped, and why</h2><p>Hybrid vector search is the headline feature of almost every v2 gist. I tried it. I took it out.</p><p>Here is the thing nobody writing these gists seems to have measured: at wiki scale, you do not have a retrieval problem. A curated wiki is 50,000 to 100,000 tokens. That is small. Grep plus read finds the right note faster and more predictably than an embedding lookup, with no vector database to host, no index to keep fresh, and no &#8220;why did it return that chunk&#8221; debugging.</p><p>Vector search earns its keep at hundreds of thousands of documents. A personal or team wiki is not that. Bolting embeddings onto a 200-note vault is solving a problem you do not have, and paying for a database to do it.</p><p>The same goes for tiered memory and elaborate quality-scoring engines. They are answers to scale problems. At the scale where an LLM wiki is actually useful, they are weight.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_Wdm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907e4af4-c5d1-413e-8d0b-2f3631cc9da2_1290x860.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_Wdm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907e4af4-c5d1-413e-8d0b-2f3631cc9da2_1290x860.png 424w, https://substackcdn.com/image/fetch/$s_!_Wdm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907e4af4-c5d1-413e-8d0b-2f3631cc9da2_1290x860.png 848w, https://substackcdn.com/image/fetch/$s_!_Wdm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907e4af4-c5d1-413e-8d0b-2f3631cc9da2_1290x860.png 1272w, https://substackcdn.com/image/fetch/$s_!_Wdm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907e4af4-c5d1-413e-8d0b-2f3631cc9da2_1290x860.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_Wdm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907e4af4-c5d1-413e-8d0b-2f3631cc9da2_1290x860.png" width="1290" height="860" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/907e4af4-c5d1-413e-8d0b-2f3631cc9da2_1290x860.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:860,&quot;width&quot;:1290,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2047572,&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://theaioperator.io/i/201306608?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907e4af4-c5d1-413e-8d0b-2f3631cc9da2_1290x860.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_!_Wdm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907e4af4-c5d1-413e-8d0b-2f3631cc9da2_1290x860.png 424w, https://substackcdn.com/image/fetch/$s_!_Wdm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907e4af4-c5d1-413e-8d0b-2f3631cc9da2_1290x860.png 848w, https://substackcdn.com/image/fetch/$s_!_Wdm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907e4af4-c5d1-413e-8d0b-2f3631cc9da2_1290x860.png 1272w, https://substackcdn.com/image/fetch/$s_!_Wdm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907e4af4-c5d1-413e-8d0b-2f3631cc9da2_1290x860.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What is genuinely still missing</h2><p>Honesty cuts both ways, so here is the gap the v2 gists also miss.</p><p>None of them have a real guard against the AI lying about what is in the wiki. I learned this the hard way: when I read through the forks of my repo, a stranger had added the exact thing I lacked. The most common failure is not the AI making up a fact. It is the AI saying &#8220;there is no note about that&#8221; when there is, because it answered from memory instead of actually searching.</p><p>That is the real frontier of v2. Not fancier retrieval. A rule that forces the model to verify presence and absence by listing and grepping, never from memory, before it tells you something does not exist. I am merging that guard in now. No v2 gist I have seen includes it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bgzu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac4ed786-6c66-4cba-b530-0edc02d762af_1288x858.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bgzu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac4ed786-6c66-4cba-b530-0edc02d762af_1288x858.png 424w, https://substackcdn.com/image/fetch/$s_!bgzu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac4ed786-6c66-4cba-b530-0edc02d762af_1288x858.png 848w, https://substackcdn.com/image/fetch/$s_!bgzu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac4ed786-6c66-4cba-b530-0edc02d762af_1288x858.png 1272w, https://substackcdn.com/image/fetch/$s_!bgzu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac4ed786-6c66-4cba-b530-0edc02d762af_1288x858.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bgzu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac4ed786-6c66-4cba-b530-0edc02d762af_1288x858.png" width="1288" height="858" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac4ed786-6c66-4cba-b530-0edc02d762af_1288x858.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:858,&quot;width&quot;:1288,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2015067,&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://theaioperator.io/i/201306608?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac4ed786-6c66-4cba-b530-0edc02d762af_1288x858.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_!bgzu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac4ed786-6c66-4cba-b530-0edc02d762af_1288x858.png 424w, https://substackcdn.com/image/fetch/$s_!bgzu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac4ed786-6c66-4cba-b530-0edc02d762af_1288x858.png 848w, https://substackcdn.com/image/fetch/$s_!bgzu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac4ed786-6c66-4cba-b530-0edc02d762af_1288x858.png 1272w, https://substackcdn.com/image/fetch/$s_!bgzu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac4ed786-6c66-4cba-b530-0edc02d762af_1288x858.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 aria-hidden="true" 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><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>The actual lesson</h2><p>The v2 discourse has the direction backwards. It treats the upgrade as machinery you add: a vector store, a scoring engine, a memory hierarchy.</p><p>The version that works is the opposite. It is the smallest set of rules that makes the AI maintain its own truth. Confidence on every claim. Contradictions resolved, not hoarded. Stale notes deleted. An agent that does the maintenance on a schedule. All of that lives in the rules file, and none of it needs a database.</p><p>Karpathy&#8217;s original insight was that the wiki should be plain markdown the AI owns. The real v2 honors that. It does not drown it in infrastructure.</p><p>The full system is open source at <strong><a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain</a></strong>. I <strong><a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">built it for myself first</a></strong>, and the rules file is the part worth reading. That is where the v2 actually lives.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>Frequently asked questions</h2><p><strong>What is Karpathy&#8217;s LLM Wiki?</strong><br>A pattern Andrej Karpathy shared for letting an AI maintain a small markdown knowledge base. Three layers: raw sources kept immutable, a wiki of notes the AI owns and rewrites, and a rules file that tells it how to ingest, update, and query.</p><p><strong>What is &#8220;LLM Wiki v2&#8221;?</strong><br>A community label, not an official release. Karpathy&#8217;s gist is still the only canonical spec. &#8220;v2&#8221; refers to additions people propose in their own gists: confidence scores, supersession chains, forgetting curves, hybrid vector search, and lifecycle hooks.</p><p><strong>Do you need vector search for an LLM wiki?</strong><br>No, not at wiki scale. A curated wiki is 50,000 to 100,000 tokens, and grep plus read finds the right note faster and more predictably than embeddings, with no database to host. Vector search earns its place at hundreds of thousands of documents.</p><p><strong>Which v2 ideas are actually worth adding?</strong><br>The governance ones: confidence tags on claims, reconciling contradictions instead of hoarding them, pruning stale notes, and a scheduled agent that maintains the wiki. Each is a few lines in the rules file, not new infrastructure.</p><p><strong>How large can an LLM wiki get before it breaks?</strong><br>It is built for small, curated corpora, roughly 50,000 to 100,000 tokens. Past that, the scale features the v2 gists propose start to matter. At the size where an LLM wiki is most useful, they are weight.</p><p><strong>Where can I get a working implementation?</strong><br>The full system is open source as obsidian-second-brain, a Claude Code skill on GitHub.</p><div><hr></div><h2>Key takeaways</h2><ul><li><p>Karpathy&#8217;s three-layer pattern (immutable sources, an AI-owned wiki, a rules file) is solid, and v2 does not change it.</p></li><li><p>&#8220;LLM Wiki v2&#8221; is a community label, not an official release. Karpathy&#8217;s gist is still the only canonical spec.</p></li><li><p>The v2 ideas worth keeping are all governance: confidence tags, reconciliation, pruning, and scheduled agents. Each costs a few lines in the rules file.</p></li><li><p>Hybrid vector search is overkill at wiki scale. Grep plus read wins below hundreds of thousands of documents.</p></li><li><p>The real gap no v2 gist covers is an anti-hallucination guard against false absence: the AI claiming a note does not exist when it does.</p></li><li><p>The upgrade is rules the AI enforces on itself, not bolted-on machinery.</p></li></ul><div><hr></div><h2>Further reading</h2><ul><li><p>Andrej Karpathy&#8217;s original LLM Wiki gist (2026-02)</p></li><li><p>rohitg00&#8217;s LLM Wiki v2 gist (2026-03)</p></li><li><p><a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">I rebuilt Karpathy&#8217;s LLM Wiki. Here&#8217;s what&#8217;s missing from the original.</a></p></li><li><p><a href="https://theaioperator.io/p/your-notes-are-a-graveyard">Your notes are a graveyard. Here&#8217;s how to bring them back to life.</a></p></li><li><p><a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain on GitHub</a></p></li></ul><div><hr></div><h2>About the author</h2><p>Eugeniu Ghelbur is an AI Automation Engineer at Single Grain, where he builds production AI systems for marketing and sales workflows. He ships open-source Claude Code skills and writes about AI knowledge management at theaioperator.io. The obsidian-second-brain skill described here is live on GitHub at <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a>, where it has been starred by over 2,300 developers.</p>]]></content:encoded></item><item><title><![CDATA[HUGE update on obsidian-second-brain: The Architect]]></title><description><![CDATA[My open-source AI second brain now documents your code, not just your ideas. Here's the whole update, and why it changes how the thing works.]]></description><link>https://theaioperator.io/p/huge-update-on-obsidian-second-brain</link><guid isPermaLink="false">https://theaioperator.io/p/huge-update-on-obsidian-second-brain</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Tue, 02 Jun 2026 14:02:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5QQt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.png" 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_!5QQt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5QQt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.png 424w, https://substackcdn.com/image/fetch/$s_!5QQt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.png 848w, https://substackcdn.com/image/fetch/$s_!5QQt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.png 1272w, https://substackcdn.com/image/fetch/$s_!5QQt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5QQt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.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;:2710213,&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://theaioperator.io/i/200022588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.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_!5QQt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.png 424w, https://substackcdn.com/image/fetch/$s_!5QQt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.png 848w, https://substackcdn.com/image/fetch/$s_!5QQt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.png 1272w, https://substackcdn.com/image/fetch/$s_!5QQt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4f09924-b0bd-4dfe-9a64-2c8452e4926c_1470x980.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 aria-hidden="true" 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><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 note apps are where ideas go to die. You write something sharp, tag it, feel organized for an afternoon. Six months later you can&#8217;t find it, can&#8217;t remember the decision behind it, and you repeat a mistake you already made once and wrote down. (I wrote a whole piece on why <a href="https://theaioperator.io/p/your-notes-are-a-graveyard-heres">your notes are a graveyard</a> if you want the long version.)</p><p>I built obsidian-second-brain to end that. It&#8217;s an open-source system that turns a plain Obsidian vault into something that reads, writes, researches, and argues back, all driven by talking to an AI agent instead of clicking around. This week it got its biggest update yet. I call it The Architect, and it closes the one gap that bothered me most: the thing you spend most of your day inside, your codebase, never lived in your second brain. Now it does.</p><p>Let me show you what it could already do, then walk you through what just changed and how.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>What this thing actually is</h2><p>If you&#8217;re new here: this started as my own attempt to rebuild Andrej Karpathy&#8217;s old &#8220;LLM Wiki&#8221; idea, a vault that rewrites itself as you feed it. I wrote up <a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">what I rebuilt and what was missing from the original</a>. I built it for myself. Then <a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">1,374 strangers cloned it</a>, and it turned into a real project: 1,500+ stars, MIT licensed, and it runs on four different AI coding tools (Claude Code, Codex, Gemini, OpenCode) from one codebase.</p><p>It is not a notes app with AI bolted on the side. There&#8217;s no chat box in a corner. You operate the whole vault through commands you run by talking to the agent, and the agent does the filing, linking, and rewriting that you&#8217;d normally do by hand and never actually do.</p><div><hr></div><h2>Before: a second brain that already thinks</h2><p>Here are a few of the commands that were already in place, and what they actually do day to day:</p><ul><li><p><code>/obsidian-save</code> is the one that hooks people. You finish a long conversation with the AI and just say &#8220;save this.&#8221; It spins up parallel agents that pull out every person, project, decision, task, and idea from the chat, writes each one as a properly linked note, and updates your daily log. One command. You stop being a librarian for your own life.</p></li><li><p><code>/obsidian-ingest</code> takes a URL, a PDF, or a YouTube link. The vault doesn&#8217;t just file it in a folder. It rewrites itself around it: one source can touch 5 to 15 existing notes, updating what changed and linking what&#8217;s related.</p></li><li><p><code>/obsidian-challenge</code> is the one nobody expects. You pitch an idea and your own vault argues back, using your past notes and decisions as ammunition. It&#8217;s caught me about to repeat a mistake I&#8217;d already made and documented. I wrote about <a href="https://theaioperator.io/p/i-built-a-tool-that-lets-my-obsidian">building a tool that lets my vault argue with me</a> when I first shipped it.</p></li><li><p><code>/research-deep</code> reads what your vault already knows on a topic, finds the gaps, researches only those, and hands you the delta. No re-reading what you&#8217;ve already got.</p></li><li><p><code>/obsidian-daily</code><strong>, </strong><code>/obsidian-visualize</code><strong>, </strong><code>/obsidian-reconcile</code> give you your whole day pulled together each morning, a visual map of your entire knowledge graph, and a pass that hunts down contradictions across your notes and resolves them.</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_!poAo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876bbe81-2e27-4918-854f-45ef7f910922_1470x980.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!poAo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876bbe81-2e27-4918-854f-45ef7f910922_1470x980.png 424w, https://substackcdn.com/image/fetch/$s_!poAo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876bbe81-2e27-4918-854f-45ef7f910922_1470x980.png 848w, https://substackcdn.com/image/fetch/$s_!poAo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876bbe81-2e27-4918-854f-45ef7f910922_1470x980.png 1272w, https://substackcdn.com/image/fetch/$s_!poAo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876bbe81-2e27-4918-854f-45ef7f910922_1470x980.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!poAo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876bbe81-2e27-4918-854f-45ef7f910922_1470x980.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/876bbe81-2e27-4918-854f-45ef7f910922_1470x980.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;:2707188,&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://theaioperator.io/i/200022588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876bbe81-2e27-4918-854f-45ef7f910922_1470x980.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_!poAo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876bbe81-2e27-4918-854f-45ef7f910922_1470x980.png 424w, https://substackcdn.com/image/fetch/$s_!poAo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876bbe81-2e27-4918-854f-45ef7f910922_1470x980.png 848w, https://substackcdn.com/image/fetch/$s_!poAo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876bbe81-2e27-4918-854f-45ef7f910922_1470x980.png 1272w, https://substackcdn.com/image/fetch/$s_!poAo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F876bbe81-2e27-4918-854f-45ef7f910922_1470x980.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 aria-hidden="true" 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><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>That was already 30-some commands of &#8220;your notes, alive.&#8221; Useful. But there was a hole in it, and once I saw it I couldn&#8217;t unsee it.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>The gap: your code lived outside your brain</h2><p>The vault captured my ideas, my people, my decisions, my research. But the thing I spend the most hours inside, the actual codebase, lived nowhere near it. It lived in a stale README that was wrong the week after I wrote it, and in my own head, which is worse, because heads leak.</p><p>So I&#8217;d save a sharp architectural decision into the vault (&#8221;we&#8217;re queueing webhooks instead of processing them inline, because X&#8221;), and three months later the decision note and the code that the decision shaped had no idea the other one existed. The knowledge was split in two and both halves rotted at their own speed.</p><p>That&#8217;s the gap The Architect closes.</p><div><hr></div><h2>After: The Architect</h2><p><code>/obsidian-architect</code> points the system at a software project and turns it into part of your second brain.</p><pre><code><code>/obsidian-architect ~/Projects/my-app</code></code></pre><p>Here&#8217;s what it does, in three parts, because the third part is the one that matters most.</p><p><strong>What it does.</strong> It scans the whole project: languages, modules, dependencies, entry points. Then it writes a set of notes straight into your vault. An overview note with a diagram of how the pieces fit. One note per module, describing what that module does and what it depends on. And a &#8220;key decisions&#8221; note pulled from your own commit history, so the <em>why</em> behind the code gets captured, not just the <em>what</em>.</p><p><strong>Why it&#8217;s powerful.</strong> Those notes aren&#8217;t dead documentation sitting in a <code>docs/</code> folder nobody opens. They&#8217;re linked into everything else in your vault. A decision you saved months ago can now point straight at the module it shaped. &#8220;How does billing work again?&#8221; stops being a 40-minute code-reading session and becomes a question your vault answers in one note, with links out to the exact modules and the decisions behind them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JCSu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5142005f-fc31-4842-a229-ff3fbf988226_1468x982.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JCSu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5142005f-fc31-4842-a229-ff3fbf988226_1468x982.png 424w, https://substackcdn.com/image/fetch/$s_!JCSu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5142005f-fc31-4842-a229-ff3fbf988226_1468x982.png 848w, https://substackcdn.com/image/fetch/$s_!JCSu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5142005f-fc31-4842-a229-ff3fbf988226_1468x982.png 1272w, https://substackcdn.com/image/fetch/$s_!JCSu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5142005f-fc31-4842-a229-ff3fbf988226_1468x982.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JCSu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5142005f-fc31-4842-a229-ff3fbf988226_1468x982.png" width="1456" height="974" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5142005f-fc31-4842-a229-ff3fbf988226_1468x982.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:974,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2490019,&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://theaioperator.io/i/200022588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5142005f-fc31-4842-a229-ff3fbf988226_1468x982.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_!JCSu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5142005f-fc31-4842-a229-ff3fbf988226_1468x982.png 424w, https://substackcdn.com/image/fetch/$s_!JCSu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5142005f-fc31-4842-a229-ff3fbf988226_1468x982.png 848w, https://substackcdn.com/image/fetch/$s_!JCSu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5142005f-fc31-4842-a229-ff3fbf988226_1468x982.png 1272w, https://substackcdn.com/image/fetch/$s_!JCSu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5142005f-fc31-4842-a229-ff3fbf988226_1468x982.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 aria-hidden="true" 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><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><strong>The part that makes it stick.</strong> Documentation always rots because writing it is a one-time act and the code keeps moving. So I built the refresh to be safe to re-run. Run <code>/obsidian-architect</code> again any time and it refreshes only the parts it generated. Anything you wrote by hand inside those notes is fenced off and never touched.</p><p>That fencing is the whole trick. Under the hood, the generated sections live between markers, and your hand-written notes live outside them. On a re-run, the agent regenerates what&#8217;s inside the fence and leaves everything outside it exactly as you left it. So the docs stay true as the code moves, instead of being accurate for exactly one day.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3qvj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5969b08a-e34b-48ef-adc3-e2e2af5bb24f_1468x968.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3qvj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5969b08a-e34b-48ef-adc3-e2e2af5bb24f_1468x968.png 424w, https://substackcdn.com/image/fetch/$s_!3qvj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5969b08a-e34b-48ef-adc3-e2e2af5bb24f_1468x968.png 848w, https://substackcdn.com/image/fetch/$s_!3qvj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5969b08a-e34b-48ef-adc3-e2e2af5bb24f_1468x968.png 1272w, https://substackcdn.com/image/fetch/$s_!3qvj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5969b08a-e34b-48ef-adc3-e2e2af5bb24f_1468x968.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3qvj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5969b08a-e34b-48ef-adc3-e2e2af5bb24f_1468x968.png" width="1456" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5969b08a-e34b-48ef-adc3-e2e2af5bb24f_1468x968.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2568248,&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://theaioperator.io/i/200022588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5969b08a-e34b-48ef-adc3-e2e2af5bb24f_1468x968.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_!3qvj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5969b08a-e34b-48ef-adc3-e2e2af5bb24f_1468x968.png 424w, https://substackcdn.com/image/fetch/$s_!3qvj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5969b08a-e34b-48ef-adc3-e2e2af5bb24f_1468x968.png 848w, https://substackcdn.com/image/fetch/$s_!3qvj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5969b08a-e34b-48ef-adc3-e2e2af5bb24f_1468x968.png 1272w, https://substackcdn.com/image/fetch/$s_!3qvj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5969b08a-e34b-48ef-adc3-e2e2af5bb24f_1468x968.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 aria-hidden="true" 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><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>Before: my code knowledge lived in my head and decayed. After: it&#8217;s documented, linked, and self-updating, in the same brain as everything else I think about.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>Everything else that got more powerful</h2><p>The headline is The Architect, but this was a big release and the whole tool levelled up. The short version of what else landed:</p><ul><li><p><strong>Research went free.</strong> Before this, <code>/research</code> needed a paid Perplexity key or it just errored out, which was the single biggest reason people bounced on first install. Now, with no key at all, it pulls from free public sources (Wikipedia, Hacker News, arXiv, Reddit, and more) and the AI writes the dossier from those. It works, for free, the second you install it. If you do have a key, it still uses it for deeper pulls.</p></li><li><p><strong>It learned your calendar.</strong> New commands pull your week into a note, book an event straight from a task, and turn a meeting into a note. There&#8217;s also a reconcile pass that checks your vault against your calendar and flags commitments you wrote down but never actually scheduled.</p></li><li><p><strong>It stopped lying by omission.</strong> The sneakiest AI failure mode isn&#8217;t making things up. It&#8217;s confidently telling you &#8220;you have no note on that&#8221; when you do, because it didn&#8217;t look hard enough. There&#8217;s now a hard rule baked in: search the whole vault before ever claiming something is missing.</p></li><li><p><strong>New thinking tools.</strong> You can convene a panel of different perspectives on a decision (<code>/obsidian-panel</code>), cross-reference everything your vault knows on one topic (<code>/vault-deep-synthesis</code>), or surface what&#8217;s actually worth working on next (<code>/idea-discovery</code>).</p></li><li><p><strong>It got trustworthy.</strong> This release added the first automated tests and CI. That&#8217;s the line between a weekend hack and something you&#8217;d hand years of your own notes to. And as of this update it runs on Codex CLI too, not just Claude Code.</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_!EUnD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e79f776-755b-41b1-8b9e-e0bddffa231e_1468x976.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EUnD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e79f776-755b-41b1-8b9e-e0bddffa231e_1468x976.png 424w, https://substackcdn.com/image/fetch/$s_!EUnD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e79f776-755b-41b1-8b9e-e0bddffa231e_1468x976.png 848w, https://substackcdn.com/image/fetch/$s_!EUnD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e79f776-755b-41b1-8b9e-e0bddffa231e_1468x976.png 1272w, https://substackcdn.com/image/fetch/$s_!EUnD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e79f776-755b-41b1-8b9e-e0bddffa231e_1468x976.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EUnD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e79f776-755b-41b1-8b9e-e0bddffa231e_1468x976.png" width="1456" height="968" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e79f776-755b-41b1-8b9e-e0bddffa231e_1468x976.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:968,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2604437,&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://theaioperator.io/i/200022588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e79f776-755b-41b1-8b9e-e0bddffa231e_1468x976.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_!EUnD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e79f776-755b-41b1-8b9e-e0bddffa231e_1468x976.png 424w, https://substackcdn.com/image/fetch/$s_!EUnD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e79f776-755b-41b1-8b9e-e0bddffa231e_1468x976.png 848w, https://substackcdn.com/image/fetch/$s_!EUnD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e79f776-755b-41b1-8b9e-e0bddffa231e_1468x976.png 1272w, https://substackcdn.com/image/fetch/$s_!EUnD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e79f776-755b-41b1-8b9e-e0bddffa231e_1468x976.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 aria-hidden="true" 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><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>Put it together and the count is now 43 commands across four AI tools. One vault that reads, writes, argues, researches, and now maps your code.</p><p>If you want the wider tour of the commands I actually use in a normal week, I broke those down in <a href="https://theaioperator.io/p/i-built-30-ai-shortcuts-for-my-own">30+ AI shortcuts I built for my own work</a>.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Already using it?</h2><p>Pull the latest and that&#8217;s the whole upgrade. Everything is additive. Nothing breaks. One change worth knowing about: the optional background helper that quietly writes to your vault now ships off until you switch it on. Safer default, not a lost feature. If you relied on it, flip it back on and you&#8217;re exactly where you were.</p><h2>New here?</h2><p>It&#8217;s one line to install (the command is in the repo). Then run <code>/obsidian-init</code> to set up your vault structure, and <code>/obsidian-daily</code> to create your first note. After that, you mostly just talk to it.</p><p>Repo: <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a></p><p>A second brain shouldn&#8217;t stop at your ideas. The code you write is knowledge too, and the decisions behind it are the part you forget fastest. Now they live in the same place as everything else you think about, and they stay true on their own.</p><p>If you build with this, I want to hear what you point The Architect at first. Reply and tell me.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[I built 30+ AI shortcuts for my own work. Three save me three hours every day.]]></title><description><![CDATA[Three of them quietly took three hours off every workday. Here are the three.]]></description><link>https://theaioperator.io/p/i-built-30-ai-shortcuts-for-my-own</link><guid isPermaLink="false">https://theaioperator.io/p/i-built-30-ai-shortcuts-for-my-own</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Tue, 26 May 2026 14:03:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lOly!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181defbd-144b-49cc-b145-1faa03b12504_1048x696.png" 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_!lOly!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181defbd-144b-49cc-b145-1faa03b12504_1048x696.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lOly!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181defbd-144b-49cc-b145-1faa03b12504_1048x696.png 424w, https://substackcdn.com/image/fetch/$s_!lOly!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181defbd-144b-49cc-b145-1faa03b12504_1048x696.png 848w, https://substackcdn.com/image/fetch/$s_!lOly!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181defbd-144b-49cc-b145-1faa03b12504_1048x696.png 1272w, https://substackcdn.com/image/fetch/$s_!lOly!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181defbd-144b-49cc-b145-1faa03b12504_1048x696.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lOly!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181defbd-144b-49cc-b145-1faa03b12504_1048x696.png" width="1048" height="696" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/181defbd-144b-49cc-b145-1faa03b12504_1048x696.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:696,&quot;width&quot;:1048,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1551908,&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://theaioperator.io/i/199312770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181defbd-144b-49cc-b145-1faa03b12504_1048x696.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_!lOly!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181defbd-144b-49cc-b145-1faa03b12504_1048x696.png 424w, https://substackcdn.com/image/fetch/$s_!lOly!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181defbd-144b-49cc-b145-1faa03b12504_1048x696.png 848w, https://substackcdn.com/image/fetch/$s_!lOly!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181defbd-144b-49cc-b145-1faa03b12504_1048x696.png 1272w, https://substackcdn.com/image/fetch/$s_!lOly!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F181defbd-144b-49cc-b145-1faa03b12504_1048x696.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 aria-hidden="true" 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><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><blockquote><p>I built 30+ AI shortcuts for my own work over six months.</p><p>Three of them quietly took three hours off every workday.</p><p>This post is about those three, and what makes them load-bearing.</p></blockquote><p>I have a folder of small text files. Each file teaches my AI assistant to do one specific thing for me. I type a short name, hit enter, and Claude runs the recipe in that file. Some of these recipes take ten seconds to run. Some take six minutes. All of them replace work I used to do by hand.</p><p>There are thirty-something of these recipes now. Some are tiny. Some are mega-commands that pull data from five places, talk to three APIs, generate an image, and write five drafts in a row.</p><p>I do not use all of them every day. Most of them I built for one specific moment and then they sit there until that moment comes back. The interesting set is the small group I run every day, sometimes three or four times a day. Those three are the ones I want to write about. The other twenty-seven are good. These three are why my Tuesdays used to take a full day and now take a couple of hours.</p><h2>What I mean by &#8220;shortcut&#8221;</h2><p>If you have used ChatGPT, you have typed a prompt. A shortcut is a prompt I already wrote down for myself. Instead of typing the whole prompt every time, I type a short name and the AI loads the prompt and runs it on whatever context the conversation already has.</p><p>I work in a tool called Claude Code. It is the place I write code and the place I write everything else, including this post. Inside that tool, my shortcuts are stored as small Markdown files. There is no app to install, no SaaS to pay for, no UI. The shortcut is the prompt, and the prompt is the file. (The same setup is what I described when I <a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">rebuilt Karpathy&#8217;s LLM Wiki</a>, if you have not read that one yet.)</p><p>This matters because the shortcuts compound. Each one I build can call any of the others. A morning routine shortcut runs a research shortcut, which calls a vault-search shortcut, which calls a write-to-disk shortcut. The composition is the whole point.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J3hB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a46d8ca-c188-4fda-959e-6c75cd5e9120_1468x978.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J3hB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a46d8ca-c188-4fda-959e-6c75cd5e9120_1468x978.png 424w, https://substackcdn.com/image/fetch/$s_!J3hB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a46d8ca-c188-4fda-959e-6c75cd5e9120_1468x978.png 848w, https://substackcdn.com/image/fetch/$s_!J3hB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a46d8ca-c188-4fda-959e-6c75cd5e9120_1468x978.png 1272w, https://substackcdn.com/image/fetch/$s_!J3hB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a46d8ca-c188-4fda-959e-6c75cd5e9120_1468x978.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J3hB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a46d8ca-c188-4fda-959e-6c75cd5e9120_1468x978.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a46d8ca-c188-4fda-959e-6c75cd5e9120_1468x978.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2005408,&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://theaioperator.io/i/199312770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a46d8ca-c188-4fda-959e-6c75cd5e9120_1468x978.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_!J3hB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a46d8ca-c188-4fda-959e-6c75cd5e9120_1468x978.png 424w, https://substackcdn.com/image/fetch/$s_!J3hB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a46d8ca-c188-4fda-959e-6c75cd5e9120_1468x978.png 848w, https://substackcdn.com/image/fetch/$s_!J3hB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a46d8ca-c188-4fda-959e-6c75cd5e9120_1468x978.png 1272w, https://substackcdn.com/image/fetch/$s_!J3hB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a46d8ca-c188-4fda-959e-6c75cd5e9120_1468x978.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 aria-hidden="true" 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><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 one that writes my newsletter</h2><p>The newsletter you are reading right now was drafted by a shortcut I built last week.</p><p>When I type the name of it, the shortcut does this: it scans the last seven days of my private notes, the last seven days of Google search data on my website, the last seven days of analytics on which posts people read, the last fourteen days of any deep-research I ran in another tool, recent issues and merges on my public GitHub repository, and a few other places. It scores every possible topic against five rubrics, then surfaces the top five candidates to me. I pick one. It then runs a research pass on that topic, drafts the newsletter, drafts the X version, drafts the LinkedIn version, drafts the Medium version, generates a hero image, runs a voice check, and saves everything.</p><p>The first time I ran it, the full pipeline took six minutes and produced a draft I could ship after fifteen minutes of editing.</p><p>Before this shortcut existed, the same workflow took me four hours on a good day. On a bad day, it took two days, because deciding what to write about was its own meeting with myself. I would scroll, second-guess, draft three openings I deleted, lose the thread, and end up posting nothing.</p><p>The shortcut does not write better than I do. What it does is remove the part where I have to start, which is the only part of writing I actually struggle with.</p><p>Saved per use: about four hours. I run it once or twice a week. That alone is about an hour back per day if I average it out.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KnfG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d33196b-5559-48da-8f67-51ccef20164f_1464x982.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KnfG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d33196b-5559-48da-8f67-51ccef20164f_1464x982.png 424w, https://substackcdn.com/image/fetch/$s_!KnfG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d33196b-5559-48da-8f67-51ccef20164f_1464x982.png 848w, https://substackcdn.com/image/fetch/$s_!KnfG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d33196b-5559-48da-8f67-51ccef20164f_1464x982.png 1272w, https://substackcdn.com/image/fetch/$s_!KnfG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d33196b-5559-48da-8f67-51ccef20164f_1464x982.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KnfG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d33196b-5559-48da-8f67-51ccef20164f_1464x982.png" width="1456" height="977" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d33196b-5559-48da-8f67-51ccef20164f_1464x982.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:977,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2033448,&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://theaioperator.io/i/199312770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d33196b-5559-48da-8f67-51ccef20164f_1464x982.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_!KnfG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d33196b-5559-48da-8f67-51ccef20164f_1464x982.png 424w, https://substackcdn.com/image/fetch/$s_!KnfG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d33196b-5559-48da-8f67-51ccef20164f_1464x982.png 848w, https://substackcdn.com/image/fetch/$s_!KnfG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d33196b-5559-48da-8f67-51ccef20164f_1464x982.png 1272w, https://substackcdn.com/image/fetch/$s_!KnfG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d33196b-5559-48da-8f67-51ccef20164f_1464x982.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 aria-hidden="true" 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><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>2. The one that turns my Claude chats into actual notes</h2><p>I have a lot of conversations with Claude that produce real information. A decision, a project update, a meeting summary, a person I should remember, a debugging session that ended in a fix. Before I built this shortcut, all of that knowledge stayed inside the chat window. I would lose it the moment I closed the tab.</p><p>The shortcut reads the current conversation, figures out what is worth keeping, and writes the right kind of note to the right place in my second brain. A decision becomes a decision record with a date and a wikilink to the people involved. A project update becomes an append to the project&#8217;s note. A person I just talked to becomes a contact card, or updates the existing one. The whole thing takes about ten seconds and writes between one and six files.</p><p>I run this one between three and ten times a day. Every Claude session that produces something real ends with this shortcut.</p><p>The hidden value is not the ten seconds I save versus typing the notes by hand. It is that the notes actually get written. Before this existed, the answer to &#8220;did I write that down?&#8221; was almost always no. Now the answer is yes, and the writing is structured the same way every time, so future-me can find it.</p><p>Saved per day: about an hour, if you count the value of notes that would otherwise not exist at all. Hard to put a number on knowledge you would have lost, but a useful one to try.</p><p>Here I talk about the skill I built; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Obsidian Second Brain</a> (Starred by 1400 stars and used by more than 10k starngers now) </p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jsFc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7d135-9aa6-49a2-8730-c36c18299283_1508x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jsFc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7d135-9aa6-49a2-8730-c36c18299283_1508x1020.png 424w, https://substackcdn.com/image/fetch/$s_!jsFc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7d135-9aa6-49a2-8730-c36c18299283_1508x1020.png 848w, https://substackcdn.com/image/fetch/$s_!jsFc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7d135-9aa6-49a2-8730-c36c18299283_1508x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!jsFc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7d135-9aa6-49a2-8730-c36c18299283_1508x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jsFc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7d135-9aa6-49a2-8730-c36c18299283_1508x1020.png" width="1456" height="985" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5f7d135-9aa6-49a2-8730-c36c18299283_1508x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:985,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2458938,&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://theaioperator.io/i/199312770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7d135-9aa6-49a2-8730-c36c18299283_1508x1020.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_!jsFc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7d135-9aa6-49a2-8730-c36c18299283_1508x1020.png 424w, https://substackcdn.com/image/fetch/$s_!jsFc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7d135-9aa6-49a2-8730-c36c18299283_1508x1020.png 848w, https://substackcdn.com/image/fetch/$s_!jsFc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7d135-9aa6-49a2-8730-c36c18299283_1508x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!jsFc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7d135-9aa6-49a2-8730-c36c18299283_1508x1020.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 aria-hidden="true" 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><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>3. The one that does my research</h2><p>Whenever I need to understand something I do not already understand, I run a shortcut that does deep research for me. It uses Perplexity in the background, runs multiple passes, gathers citations, and writes a structured report to disk. Topics range from &#8220;is this stack the right choice for my new SaaS&#8221; to &#8220;what is the current state of this regulatory thing in Spain&#8221; to &#8220;what did this person just say on a podcast and is it on-topic for what I am building.&#8221;</p><p>A real research task that used to take me two to three hours of tabs, scrolling, and forgetting to bookmark now takes the shortcut about three minutes and produces a citation-grounded document I can either trust or push back on.</p><p>I do not use this every day. I use it three to five times a week. But each use saves enough time that on a research-heavy day, the shortcut is the difference between shipping something and not.</p><p>Saved per use: ninety minutes to two hours. Distributed across the week, this is conservatively an hour a day.</p><h2>The pattern under the three</h2><p>These three look unrelated. One writes a newsletter. One files notes. One does research.</p><p>They share one shape. Each one takes a thing that used to live inside my head and gives it to the machine, in a form the machine can repeat. The hard part was not the prompt. The hard part was deciding what to extract, which fields to require, which file format to write to, and what to do when the input is messy.</p><p>The actual lesson is not &#8220;build more shortcuts.&#8221; The lesson is that the bottleneck of working with AI is not the AI. The bottleneck is the lack of a clear, repeatable way to ask the AI for the thing you want, every single time, without thinking about it. Once you have that, the AI is fast, and you become fast.</p><p>Three hours a day, on a knowledge worker&#8217;s calendar, is the difference between treading water and shipping a side project.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>What I am not saying</h2><p>I am not saying everybody should learn to write these. Most people will not, and most people do not need to. What I am saying is that the shape of the win is reproducible. The same logic works in any tool that has prompts, including the AI tools your company is probably paying for and not using well.</p><p>If you want to see the actual shortcuts, they are at <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a>, MIT licensed, currently at 1,358 stars. (Earlier this month I wrote about <a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">what surprised me when 1,374 strangers cloned the repo</a>. That post is the back-story to this one.) The shortcuts I described above are in that repo, or in a sibling project I am still building in the open.</p><p>The full set is thirty-something. Three save me three hours a day. The other twenty-seven save me thirty-second moments. The thirty-second moments add up too.</p>]]></content:encoded></item><item><title><![CDATA[I built the primitive. Glean is the wrong wedge.]]></title><description><![CDATA[Glean is a $7.2B bet you can search your way out of a messy corpus. I think the wedge is the opposite. Here is the primitive I shipped.]]></description><link>https://theaioperator.io/p/i-built-the-primitive-glean-is-the</link><guid isPermaLink="false">https://theaioperator.io/p/i-built-the-primitive-glean-is-the</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Tue, 19 May 2026 13:01:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!b1_L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.png" 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_!b1_L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b1_L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.png 424w, https://substackcdn.com/image/fetch/$s_!b1_L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.png 848w, https://substackcdn.com/image/fetch/$s_!b1_L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.png 1272w, https://substackcdn.com/image/fetch/$s_!b1_L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b1_L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.png" width="1048" height="697" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:697,&quot;width&quot;:1048,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1613126,&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://theaioperator.io/i/198335034?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.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_!b1_L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.png 424w, https://substackcdn.com/image/fetch/$s_!b1_L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.png 848w, https://substackcdn.com/image/fetch/$s_!b1_L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.png 1272w, https://substackcdn.com/image/fetch/$s_!b1_L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd10d8977-7f8a-45cf-9247-f71595ba048d_1048x697.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 aria-hidden="true" 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><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>TL;DR</strong></h2><ul><li><p>Glean is a $7.2B bet that you can search your way out of a messy corpus.</p></li><li><p>I think the wedge is the opposite: refuse bad notes at write-time.</p></li><li><p>I have shipped the primitive at one-person scale in OSB v0.7. The company version is still a thesis.</p></li></ul><div><hr></div><p><em>New here? I write one post per Tuesday on AI workflows, agent patterns, and what actually works in production. <a href="https://theaioperator.io/">Subscribe to The AI Operator &#8594;</a></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>The wedge is write-time, not read-time</h2><p>The way to beat Glean is to clean before you save, not search after. Glean is a $7.2B work-AI platform (Series F, June 2025, $200M ARR per Futurum 2025-09). It crawls Slack, Notion, Google Drive, Jira, builds a permissions-aware knowledge graph, and runs read-time search plus agentic actions across the pile. The pile stays a pile.</p><p>I think the better wedge is intercepting content at write-time. Before a note saves, an agent checks whether it has the metadata, the preamble, and the structure that make it findable later. If it does not, the note gets flagged at the door.</p><p>The logic is simple. If you clean on write, you do not need a seven-figure search layer to find things on read.</p><p><strong>I want to be honest about scope up front. The validator hook runs against my personal vault, not a company corpus. But this is not pure theory either. Since shipping the primitive, a venture-backed founder who found me through the open-source repo became a paying consulting client, and over a recent in-person session signaled willingness to back the team version if I build it. The rest of this post is what that team version would look like. Public version of the pitch.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZE1d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b701b7c-194e-4aa1-891d-c7d3fff55178_1468x980.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZE1d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b701b7c-194e-4aa1-891d-c7d3fff55178_1468x980.png 424w, https://substackcdn.com/image/fetch/$s_!ZE1d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b701b7c-194e-4aa1-891d-c7d3fff55178_1468x980.png 848w, https://substackcdn.com/image/fetch/$s_!ZE1d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b701b7c-194e-4aa1-891d-c7d3fff55178_1468x980.png 1272w, https://substackcdn.com/image/fetch/$s_!ZE1d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b701b7c-194e-4aa1-891d-c7d3fff55178_1468x980.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZE1d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b701b7c-194e-4aa1-891d-c7d3fff55178_1468x980.png" width="1456" height="972" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b701b7c-194e-4aa1-891d-c7d3fff55178_1468x980.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:972,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2349392,&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://theaioperator.io/i/198335034?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b701b7c-194e-4aa1-891d-c7d3fff55178_1468x980.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_!ZE1d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b701b7c-194e-4aa1-891d-c7d3fff55178_1468x980.png 424w, https://substackcdn.com/image/fetch/$s_!ZE1d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b701b7c-194e-4aa1-891d-c7d3fff55178_1468x980.png 848w, https://substackcdn.com/image/fetch/$s_!ZE1d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b701b7c-194e-4aa1-891d-c7d3fff55178_1468x980.png 1272w, https://substackcdn.com/image/fetch/$s_!ZE1d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b701b7c-194e-4aa1-891d-c7d3fff55178_1468x980.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 aria-hidden="true" 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><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><hr></div><h2>What &#8220;second brain for companies&#8221; would actually mean</h2><p>A company second brain is a single graph where every document has one canonical home, typed links, and machine-readable metadata. Three properties define it:</p><ul><li><p>One canonical doc per concept. Duplicates get merged or redirected.</p></li><li><p>Typed backlinks. Not just &#8220;this links to that,&#8221; but &#8220;this DECIDES that&#8221; or &#8220;this BLOCKS that.&#8221;</p></li><li><p>Write-time validation. An agent reviews the note before it persists.</p></li></ul><p>Glean does none of this. Glean is a flashlight in a warehouse. The thesis is to build the warehouse.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NQQk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ea01e9-57c2-4462-94d2-f7366facb8c9_1804x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NQQk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ea01e9-57c2-4462-94d2-f7366facb8c9_1804x1200.png 424w, https://substackcdn.com/image/fetch/$s_!NQQk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ea01e9-57c2-4462-94d2-f7366facb8c9_1804x1200.png 848w, https://substackcdn.com/image/fetch/$s_!NQQk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ea01e9-57c2-4462-94d2-f7366facb8c9_1804x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!NQQk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ea01e9-57c2-4462-94d2-f7366facb8c9_1804x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NQQk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ea01e9-57c2-4462-94d2-f7366facb8c9_1804x1200.png" width="1456" height="969" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/53ea01e9-57c2-4462-94d2-f7366facb8c9_1804x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3126150,&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://theaioperator.io/i/198335034?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ea01e9-57c2-4462-94d2-f7366facb8c9_1804x1200.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_!NQQk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ea01e9-57c2-4462-94d2-f7366facb8c9_1804x1200.png 424w, https://substackcdn.com/image/fetch/$s_!NQQk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ea01e9-57c2-4462-94d2-f7366facb8c9_1804x1200.png 848w, https://substackcdn.com/image/fetch/$s_!NQQk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ea01e9-57c2-4462-94d2-f7366facb8c9_1804x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!NQQk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ea01e9-57c2-4462-94d2-f7366facb8c9_1804x1200.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 aria-hidden="true" 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><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><hr></div><h2>The primitive I have actually shipped</h2><p>The primitive exists today as a Claude Code PostToolUse hook that enforces a write-time schema on every save. In OSB v0.7, I shipped it at <code>hooks/validate-ai-first.sh</code>. It runs every time Claude Code writes a file inside my vault path. The hook warns when a note violates the AI-first rule: missing frontmatter, missing preamble, missing <code>ai-first: true</code>, or otherwise failing the schema I have set for my own corpus.</p><p>This is a one-person primitive. It runs against my vault. It is not multiplayer, it has no duplicate detection across a team, and it has no notion of canonical ownership across humans. What it does prove is that the agent surface (Claude Code) plus the substrate (Obsidian, plain markdown, local files) can enforce a write-time schema without a separate server, a separate UI, or a separate buyer.</p><p>The repo is public at <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a>, MIT licensed, around 1.3K stars, 33 commands as of v0.8.0. (on May 19th, 2026).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0z85!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab247d75-5182-42c5-8e30-fd5e3698cd95_1468x972.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0z85!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab247d75-5182-42c5-8e30-fd5e3698cd95_1468x972.png 424w, https://substackcdn.com/image/fetch/$s_!0z85!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab247d75-5182-42c5-8e30-fd5e3698cd95_1468x972.png 848w, https://substackcdn.com/image/fetch/$s_!0z85!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab247d75-5182-42c5-8e30-fd5e3698cd95_1468x972.png 1272w, https://substackcdn.com/image/fetch/$s_!0z85!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab247d75-5182-42c5-8e30-fd5e3698cd95_1468x972.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0z85!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab247d75-5182-42c5-8e30-fd5e3698cd95_1468x972.png" width="1456" height="964" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab247d75-5182-42c5-8e30-fd5e3698cd95_1468x972.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:964,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2124924,&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://theaioperator.io/i/198335034?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab247d75-5182-42c5-8e30-fd5e3698cd95_1468x972.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_!0z85!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab247d75-5182-42c5-8e30-fd5e3698cd95_1468x972.png 424w, https://substackcdn.com/image/fetch/$s_!0z85!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab247d75-5182-42c5-8e30-fd5e3698cd95_1468x972.png 848w, https://substackcdn.com/image/fetch/$s_!0z85!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab247d75-5182-42c5-8e30-fd5e3698cd95_1468x972.png 1272w, https://substackcdn.com/image/fetch/$s_!0z85!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab247d75-5182-42c5-8e30-fd5e3698cd95_1468x972.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 aria-hidden="true" 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><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><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>What the company version would need</h2><p>The personal hook is the architecture in miniature. To make it work for a team, four things have to be added:</p><ol><li><p>Duplicate detection across a shared vault, not just schema checks on a single file.</p></li><li><p>Canonical-location suggestion when two docs claim the same concept.</p></li><li><p>Typed links (decides, blocks, supersedes, references) instead of bare wikilinks.</p></li><li><p>A multiplayer lock model so two people are not silently editing the same canonical doc.</p></li></ol><p>The schema I would push for, carried in every doc&#8217;s frontmatter:</p><ul><li><p><code>type</code>: decision, spec, retro, meeting, reference, draft</p></li><li><p><code>owner</code>: single human, not a team</p></li><li><p><code>status</code>: draft, active, archived, superseded-by</p></li><li><p><code>links_in</code> / <code>links_out</code>: typed (decides, blocks, supersedes, references)</p></li><li><p><code>canonical_for</code>: the concept this doc owns</p></li><li><p><code>last_validated</code>: ISO date</p></li></ul><p>The agent rejects anything missing these. That sounds harsh. In practice the agent can fill most fields itself and ask one question. The cost of being strict at write-time is a short prompt. The cost of being loose is a six-month archaeological dig later.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hpyF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7900138-4e2f-4031-b050-5067cfe86375_1464x976.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hpyF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7900138-4e2f-4031-b050-5067cfe86375_1464x976.png 424w, https://substackcdn.com/image/fetch/$s_!hpyF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7900138-4e2f-4031-b050-5067cfe86375_1464x976.png 848w, https://substackcdn.com/image/fetch/$s_!hpyF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7900138-4e2f-4031-b050-5067cfe86375_1464x976.png 1272w, https://substackcdn.com/image/fetch/$s_!hpyF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7900138-4e2f-4031-b050-5067cfe86375_1464x976.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hpyF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7900138-4e2f-4031-b050-5067cfe86375_1464x976.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e7900138-4e2f-4031-b050-5067cfe86375_1464x976.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;:2417137,&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://theaioperator.io/i/198335034?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7900138-4e2f-4031-b050-5067cfe86375_1464x976.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_!hpyF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7900138-4e2f-4031-b050-5067cfe86375_1464x976.png 424w, https://substackcdn.com/image/fetch/$s_!hpyF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7900138-4e2f-4031-b050-5067cfe86375_1464x976.png 848w, https://substackcdn.com/image/fetch/$s_!hpyF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7900138-4e2f-4031-b050-5067cfe86375_1464x976.png 1272w, https://substackcdn.com/image/fetch/$s_!hpyF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7900138-4e2f-4031-b050-5067cfe86375_1464x976.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 aria-hidden="true" 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><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><hr></div><h2>Why Glean cannot pivot here</h2><p>Glean cannot pivot here because write-time validation is a developer-tools sale, not an IT sale. Glean&#8217;s distribution is enterprise IT. Their buyer wants a layer over the existing mess because changing the mess is a political fight. Write-time validation requires changing how people write, which means changing the tool they write in.</p><p>That is a developer-tools sale, not an IT sale. Different buyer, different motion, different product surface. Glean does ship agentic write actions (Agentic Engine 2, Canvas co-authoring, Glean Protect Plus governance), but those are AI-agents-execute-tasks-in-source-systems, not validate-the-document-against-a-schema-before-it-saves. The wedge I want is at the editor, in the human&#8217;s write path, before the doc exists. The wedge has to start bottom-up, inside the writing tool, not top-down from a CIO budget line. That is why I built the open-source repo at <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a> instead of pitching a platform.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>How does this connect to the personal second brain</h2><p>I have written about the personal version of this pattern in three places worth reading:</p><ul><li><p><a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">I rebuilt Karpathy&#8217;s LLM wiki in Obsidian</a>. The same canonical-doc-per-concept rule, scaled down to one person.</p></li><li><p><a href="https://theaioperator.io/p/i-built-a-tool-that-lets-my-obsidian">I built a tool that lets my Obsidian vault talk back</a>. The agent loop that the validator hook grew out of.</p></li><li><p><a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">I built this for myself, then 1,374 people cloned it</a>. The signal that solo patterns find an audience.</p></li></ul><p>The company version is not a new architecture. It is the personal vault pattern with multiplayer locks and a stricter schema.</p><div><hr></div><h2>Why this is the right wedge in 2026</h2><p>Write-time cleanup became the right wedge in 2026 because three forces converged, and one third-party analyst already raised doubts about whether Glean&#8217;s knowledge-graph moat survives. Futurum Group wrote in September 2025 that Glean&#8217;s &#8220;future success depends on whether its knowledge graph depth can hold off an improving and natively integrated Microsoft 365 Copilot.&#8221; That is the moat question every founder should be asking about every search-layer business: what happens when the suite vendors index the same corpus natively. Three forces converged this year:</p><ul><li><p>Long context windows at production cost. Write-time validation against a meaningful slice of the corpus is finally cheap enough to run on every save.</p></li><li><p>Glean&#8217;s $7.2B valuation made every PM realize search is the consolation prize for a clean corpus. The category is funded, which means the category is also legible to founders looking for the inverse bet.</p></li><li><p>Agent surfaces inside editors are now real. Claude Code, Cursor, and the Obsidian plugin ecosystem mean an agent can sit in the write path without a custom client.</p></li></ul><p>The opening is write-time cleanup as a layer that lives inside the editor, not a search box bolted on top.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yDzn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd49c81f-6ebf-406b-ab7f-98a99cfe0c58_1464x962.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yDzn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd49c81f-6ebf-406b-ab7f-98a99cfe0c58_1464x962.png 424w, https://substackcdn.com/image/fetch/$s_!yDzn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd49c81f-6ebf-406b-ab7f-98a99cfe0c58_1464x962.png 848w, https://substackcdn.com/image/fetch/$s_!yDzn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd49c81f-6ebf-406b-ab7f-98a99cfe0c58_1464x962.png 1272w, https://substackcdn.com/image/fetch/$s_!yDzn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd49c81f-6ebf-406b-ab7f-98a99cfe0c58_1464x962.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yDzn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd49c81f-6ebf-406b-ab7f-98a99cfe0c58_1464x962.png" width="1456" height="957" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd49c81f-6ebf-406b-ab7f-98a99cfe0c58_1464x962.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:957,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2169219,&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://theaioperator.io/i/198335034?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd49c81f-6ebf-406b-ab7f-98a99cfe0c58_1464x962.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_!yDzn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd49c81f-6ebf-406b-ab7f-98a99cfe0c58_1464x962.png 424w, https://substackcdn.com/image/fetch/$s_!yDzn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd49c81f-6ebf-406b-ab7f-98a99cfe0c58_1464x962.png 848w, https://substackcdn.com/image/fetch/$s_!yDzn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd49c81f-6ebf-406b-ab7f-98a99cfe0c58_1464x962.png 1272w, https://substackcdn.com/image/fetch/$s_!yDzn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd49c81f-6ebf-406b-ab7f-98a99cfe0c58_1464x962.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 aria-hidden="true" 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><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><hr></div><h2>Frequently asked questions</h2><p><strong>Is this a Glean competitor today?</strong><br>No. Glean is a shipped product, $200M ARR by mid-2025, customers in 27 countries, $1M+ contracts growing 3x year over year (Futurum, 2025-09). I have a personal primitive and a thesis. The argument is about where the category is going, not where it is.</p><p><strong>Does write-time AI cleanup slow people down?</strong><br>It adds friction at save. The bet is that the friction is small relative to the time later spent hunting for the right version of a doc that should not have existed in the first place. I have not measured this at team scale.</p><p><strong>Why Obsidian as the substrate?</strong><br>Plain markdown, local files, plugin API, git-native. No other tool I have tried gives me a writable graph with a real agent surface I can hook into. The repo is at <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a>.</p><p><strong>What is the proof you have right now?</strong><br>A working PostToolUse hook in OSB v0.7 that enforces the AI-first schema against my personal vault. It runs on every Claude Code write inside the vault path. That is one-person proof of architecture. <strong>The business proof so far is one inbound founder, paid consulting client, in-person investor signal. Early. Not a term sheet. Enough to know the wedge is real to someone who runs a real company.</strong></p><p><strong>What would change your mind about the wedge?</strong><br>If a team adopted write-time validation and the corpus did not get measurably cleaner, the thesis is wrong. The honest next step is to run that test, not to claim I already have.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>So what</h2><p>If you are choosing a knowledge tool in 2026, the question is not &#8220;which search is best.&#8221; The question is &#8220;what stops bad docs from being written in the first place.&#8221; Search is the tax you pay for skipping that question. The second brain for companies is the answer that skips the tax. I have the personal primitive. The company version is still a thesis, and I would rather say so than fake the receipts.</p><div><hr></div><p><strong>If you got value from this post:</strong></p><ul><li><p><strong>Free:</strong> I publish one of these every Tuesday on AI workflows, agent patterns, and what actually ships. <a href="https://theaioperator.io/">Subscribe to The AI Operator &#8594;</a></p></li><li><p><strong>Paid ($8/mo or $80/yr):</strong> Monthly deep-dives with the actual code, configs, and setup walkthroughs behind the thesis posts. Coming up in a few weeks: the <code>hooks/validate-ai-first.sh</code> walkthrough, exact frontmatter schema, Claude Code PostToolUse config, and the prompt templates that catch what a regex cannot. <a href="https://theaioperator.io/subscribe?type=paid">Upgrade to paid &#8594;</a></p></li><li><p><strong>Repo:</strong> <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a>. The open-source primitive this post is built on. MIT licensed, 33 commands as of v0.8.0.</p></li></ul><p><em>Find me on X: <a href="https://x.com/eugeniu_ghelbur">@eugeniu_ghelbur</a>. Replies open.</em></p>]]></content:encoded></item><item><title><![CDATA[The Economist 2026 Cover Decoded: Every Symbol Explained]]></title><description><![CDATA[Decoding the AI race, surveillance state, and hidden geopolitical symbols in The Economist's 2026 cover.]]></description><link>https://theaioperator.io/p/the-economist-2026-cover-decoded</link><guid isPermaLink="false">https://theaioperator.io/p/the-economist-2026-cover-decoded</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Mon, 11 May 2026 00:59:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dSVV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>Update, 2026: The AI Operator has narrowed its focus to AI and building with AI in production. This post is from before that shift. If that&#8217;s what you&#8217;re here for, start with <a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">I rebuilt Karpathy&#8217;s LLM Wiki</a>, <a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">I built this for myself. Then 1,374 strangers cloned it.</a>, or <a href="https://theaioperator.io/p/unlocking-insights-a-journey-through">what The AI Operator is now</a>.</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dSVV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dSVV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.png 424w, https://substackcdn.com/image/fetch/$s_!dSVV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.png 848w, https://substackcdn.com/image/fetch/$s_!dSVV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.png 1272w, https://substackcdn.com/image/fetch/$s_!dSVV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dSVV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.png" width="1048" height="699" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:699,&quot;width&quot;:1048,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1579082,&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://theaioperator.io/i/180405979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.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_!dSVV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.png 424w, https://substackcdn.com/image/fetch/$s_!dSVV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.png 848w, https://substackcdn.com/image/fetch/$s_!dSVV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.png 1272w, https://substackcdn.com/image/fetch/$s_!dSVV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faadc043e-0c69-49c9-8994-912dbc7ab04d_1048x699.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 aria-hidden="true" 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><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>Every November, The Economist publishes a cover so dense with symbolism it launches a thousand conspiracy theories. The 2026 edition (40 years into their predictions practice) is the most analyzed magazine cover of the decade.</p><p>The question splitting readers: is it forecast, signal, or something more deliberate?</p><p>I&#8217;m an AI automation engineer. I read this cover the way I read product diagrams. Every element is there for a reason, and the reasons usually live in the second pass.</p><p>After two weeks decoding it, here&#8217;s what I found. 2026 isn&#8217;t the year the world breaks. It&#8217;s the year we discover how it already broke, and the role AI plays in keeping it that way.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kJMJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1507e9ca-b7d5-4322-b6f1-d03af0b53d52_1109x1500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kJMJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1507e9ca-b7d5-4322-b6f1-d03af0b53d52_1109x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kJMJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1507e9ca-b7d5-4322-b6f1-d03af0b53d52_1109x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kJMJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1507e9ca-b7d5-4322-b6f1-d03af0b53d52_1109x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kJMJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1507e9ca-b7d5-4322-b6f1-d03af0b53d52_1109x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kJMJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1507e9ca-b7d5-4322-b6f1-d03af0b53d52_1109x1500.jpeg" width="1109" height="1500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1507e9ca-b7d5-4322-b6f1-d03af0b53d52_1109x1500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:1109,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:286209,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://ghelburlabs.substack.com/i/180405979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1507e9ca-b7d5-4322-b6f1-d03af0b53d52_1109x1500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kJMJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1507e9ca-b7d5-4322-b6f1-d03af0b53d52_1109x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kJMJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1507e9ca-b7d5-4322-b6f1-d03af0b53d52_1109x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kJMJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1507e9ca-b7d5-4322-b6f1-d03af0b53d52_1109x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kJMJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1507e9ca-b7d5-4322-b6f1-d03af0b53d52_1109x1500.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>The Cover That Broke the Internet</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_!LlX2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb68ea79b-ce11-4401-81d7-873f05bb8165_3168x1344.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LlX2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb68ea79b-ce11-4401-81d7-873f05bb8165_3168x1344.png 424w, https://substackcdn.com/image/fetch/$s_!LlX2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb68ea79b-ce11-4401-81d7-873f05bb8165_3168x1344.png 848w, https://substackcdn.com/image/fetch/$s_!LlX2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb68ea79b-ce11-4401-81d7-873f05bb8165_3168x1344.png 1272w, https://substackcdn.com/image/fetch/$s_!LlX2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb68ea79b-ce11-4401-81d7-873f05bb8165_3168x1344.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LlX2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb68ea79b-ce11-4401-81d7-873f05bb8165_3168x1344.png" width="1456" height="618" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b68ea79b-ce11-4401-81d7-873f05bb8165_3168x1344.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:618,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6955249,&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://ghelburlabs.substack.com/i/180405979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb68ea79b-ce11-4401-81d7-873f05bb8165_3168x1344.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_!LlX2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb68ea79b-ce11-4401-81d7-873f05bb8165_3168x1344.png 424w, https://substackcdn.com/image/fetch/$s_!LlX2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb68ea79b-ce11-4401-81d7-873f05bb8165_3168x1344.png 848w, https://substackcdn.com/image/fetch/$s_!LlX2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb68ea79b-ce11-4401-81d7-873f05bb8165_3168x1344.png 1272w, https://substackcdn.com/image/fetch/$s_!LlX2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb68ea79b-ce11-4401-81d7-873f05bb8165_3168x1344.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 aria-hidden="true" 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><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>Released November 10, 2025. The Economist&#8217;s &#8220;World Ahead 2026&#8221; cover renders a chaotic planet as a soccer ball, orbiting weapons, pills, surveillance drones, and a birthday cake marked &#8220;250.&#8221;</p><p>Within 48 hours it went viral. Not just in policy circles. Across TikTok, X, and conspiracy forums.</p><p>Why the obsession? The Economist isn&#8217;t just any magazine. 21% owned by the Rothschild family. Read by every G7 finance minister. When they publish predictions, markets move.</p><p>Their Editor-in-Chief attended the 2025 Bilderberg meeting in Stockholm. Their track record is &#8220;weirdly accurate.&#8221; They correctly predicted 6 of 9 major 2025 events, though they badly underestimated Trump&#8217;s 2024 victory (giving him only 33% odds).</p><p>But 2026 is different. Editor Tom Standage calls it &#8220;a year of uncertainty&#8221; where &#8220;the old world order is finished.&#8221; Not incremental change. Systemic recombination.</p><p>And almost every signal on the cover points at one accelerant: AI.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>The Visual Grammar: Red vs. Blue, Chaos vs. Control</h2><p>Start with the color. The cover splits the world into red and blue. That one choice is the geopolitical map.</p><p><strong>Blue</strong> is the Western order. NATO, tech dominance, the dollar system, democratic institutions. Defensive posture, trying to hold the global chokepoints: SWIFT payments, semiconductor supply chains, shipping insurance.</p><p><strong>Red</strong> is alarm. Disruption. Conflict. The revisionist powers (China, Russia), inflation zones, hot conflicts.</p><p>The interplay isn&#8217;t Cold War binary. It&#8217;s messier. A nervous system where a shock in one domain transmits instantly across the whole structure.</p><p>This isn&#8217;t East vs. West. It&#8217;s a <em>Standards War</em>. Two competing systems for AI regulation, trade rules, digital currencies, tech ecosystems.</p><p>Countries aren&#8217;t choosing sides. They&#8217;re navigating between two incompatible operating systems.</p><div><hr></div><h2><strong>The 250 Birthday Cake: America&#8217;s Divided Jubilee</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_!yjJu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6820762-0fb2-42c5-ba21-12712233c411_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yjJu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6820762-0fb2-42c5-ba21-12712233c411_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!yjJu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6820762-0fb2-42c5-ba21-12712233c411_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!yjJu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6820762-0fb2-42c5-ba21-12712233c411_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!yjJu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6820762-0fb2-42c5-ba21-12712233c411_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yjJu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6820762-0fb2-42c5-ba21-12712233c411_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e6820762-0fb2-42c5-ba21-12712233c411_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6326559,&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://ghelburlabs.substack.com/i/180405979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6820762-0fb2-42c5-ba21-12712233c411_2752x1536.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_!yjJu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6820762-0fb2-42c5-ba21-12712233c411_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!yjJu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6820762-0fb2-42c5-ba21-12712233c411_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!yjJu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6820762-0fb2-42c5-ba21-12712233c411_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!yjJu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6820762-0fb2-42c5-ba21-12712233c411_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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>At the center sits a massive cake marked &#8220;250.&#8221; America&#8217;s 250th anniversary on July 4, 2026. Look closer.</p><p>Rising from the cake: a blue fist locked in handcuffs. Popular uprising met with authoritarian response. Below it, a cracked judicial gavel signals a fractured justice system. The balloons are red, echoing the 1983 Cold War track &#8220;99 Red Balloons&#8221; about innocent objects triggering military panic.</p><p>The Economist predicts Americans will hear &#8220;wildly diverging accounts&#8221; of their country. Two competing narratives:</p><ul><li><p><strong>The 1776 narrative</strong> (Republican / Trump): founding ideals, nationalism, rejection of &#8220;woke&#8221; revisionism.</p></li><li><p><strong>The 1619 narrative</strong> (Democrat / progressive): unfinished work of democracy, reckoning with slavery and inequality.</p></li></ul><p>This isn&#8217;t just a culture war. It&#8217;s a narrative civil war, and AI is the megaphone. Russia and China will amplify the divisions through AI-generated disinformation, deepfake politicians, synthetic protest footage. The 250th anniversary won&#8217;t unite America. It will reveal how fractured it already is.</p><p>Same week, Philadelphia hosts a FIFA World Cup Round of 16 match. Patriotic spectacle colliding with global sport, with strained relations between the US and co-hosts Mexico and Canada.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>The Soccer Ball Earth: When Sport Becomes Warfare</h2><p>The planet is rendered as a black-and-white soccer ball. Direct reference to the 2026 FIFA World Cup (June 11 to July 19). First 48-team tournament. First three-nation hosting.</p><p>The symbolism runs deeper. The world as a ball being kicked around by powerful actors. Geopolitics as competitive spectacle where the referee (international law) has limited authority.</p><p>Tourism Economics projects 1.24 million international visitors, 6.5 million total attendees. The Economist warns &#8220;fans may stay away&#8221; because of political tensions. Trump threatened to remove matches from Democrat-led cities. Even the world&#8217;s most unifying event cannot escape geopolitics.</p><p>A 48-team tournament at this scale runs on AI infrastructure. Facial recognition, threat detection, drone surveillance, crowd-flow models. The stadium is the surveillance state&#8217;s product demo.</p><p>This connects to The Economist&#8217;s &#8220;Sporting Values&#8221; theme. Sport no longer offers respite from politics. It IS politics. The shift is from &#8220;sportswashing&#8221; to sports-warfare, where hosting rights and fan treatment become diplomatic weapons.</p><p>Meanwhile, the Enhanced Games debut in Las Vegas (May 2026). Performance-enhancing drugs explicitly permitted. $500,000 purses per event. $1 million for world records. WADA calls it &#8220;ridiculous and dangerous.&#8221; But it is happening.</p><p>Most of those drugs were AI-designed. Modern drug discovery is AI-first. The Enhanced Games is what happens when you stop pretending the AI-pharma pipeline exists.</p><p>The question: is enhancement cheating, or just a different game?</p><p>This extends beyond athletics. Millions take next-gen GLP-1 weight-loss pills (also AI-discovered). As The Economist notes: &#8220;Few people compete in the Olympics, but anyone can take part in the Ozempic games.&#8221;</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>Grey Zone Warfare: The New Normal</h2><p>The cover bristles with military hardware. White missiles with red tips. Tanks scattered globally. An armed robot dog (direct reference to China&#8217;s weaponized dog-like robots deployed in 2023 military drills).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SZ8d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0763952-66d5-4aab-837f-bc0d60141719_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SZ8d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0763952-66d5-4aab-837f-bc0d60141719_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!SZ8d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0763952-66d5-4aab-837f-bc0d60141719_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!SZ8d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0763952-66d5-4aab-837f-bc0d60141719_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!SZ8d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0763952-66d5-4aab-837f-bc0d60141719_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SZ8d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0763952-66d5-4aab-837f-bc0d60141719_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0763952-66d5-4aab-837f-bc0d60141719_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6153543,&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://ghelburlabs.substack.com/i/180405979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0763952-66d5-4aab-837f-bc0d60141719_2752x1536.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_!SZ8d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0763952-66d5-4aab-837f-bc0d60141719_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!SZ8d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0763952-66d5-4aab-837f-bc0d60141719_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!SZ8d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0763952-66d5-4aab-837f-bc0d60141719_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!SZ8d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0763952-66d5-4aab-837f-bc0d60141719_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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>But notice. These aren&#8217;t arranged for total war. They&#8217;re positioned for perpetual tension.</p><p>The Economist predicts 2026 will see &#8220;grey zone&#8221; provocations. Hostile actions below the threshold of declared war. And the grey zone is where AI changes everything: cheaper, deniable, scalable.</p><h3>Northern European front</h3><p>Russia will test NATO commitment through:</p><ul><li><p>GPS jamming affecting civil aviation</p></li><li><p>&#8220;Accidental&#8221; severing of undersea fiber-optic cables (seabed warfare)</p></li><li><p>AI-driven cyberattacks on infrastructure (banks, power grids)</p></li></ul><p>Strategic goal: fracture NATO unity. If a cable is cut and Russia denies it, does NATO invoke Article 5? The ambiguity is the weapon. AI makes the ambiguity cheaper to produce.</p><h3>South China Sea front</h3><p>China will test US resolve through:</p><ul><li><p>Maritime militia vessels (fishing boats acting as naval auxiliaries)</p></li><li><p>Water-cannoning Philippine resupply ships</p></li><li><p>&#8220;Quarantine&#8221; blockades of Taiwan</p></li></ul><p>Japan&#8217;s Type-12 surface-to-ship missiles extend to 1,000km range by 2026, creating a new deterrent landscape China may test before it is fully operational.</p><h3>After Gaza, The Iran War, and What The Economist Missed</h3><p>The cover labeled Middle East &#8220;After Gaza.&#8221; The thesis: transition from kinetic intensity to fragile diplomacy.</p><p>They underestimated how fast the transition would invert.</p><p>On February 28, 2026, US and Israeli forces launched Operation Epic Fury. The strike assassinated Iran&#8217;s Supreme Leader Ali Khamenei and hit nuclear sites. Iran retaliated with missile and drone strikes on Israel, US bases, and Gulf states. Iran closed the Strait of Hormuz. Global trade choked.</p><p>Operation Epic Fury formally ended May 5, 2026. Thousands dead. Millions displaced across Iran, Lebanon, Israel, and the Gulf.</p><p>The ceasefire is &#8220;indefinite&#8221; but fragile. On May 10, Trump rejected Iran&#8217;s nuclear proposal. Iran&#8217;s military warned of &#8220;new arenas of war.&#8221; Drones tested the ceasefire the same day off Qatar, with airspace incursions into UAE and Kuwait.</p><p>The new power center inside Iran is IRGC Commander Maj. Gen. Ahmad Vahidi, the de facto successor to Khamenei. He is the hardliner blocking concessions on the Strait of Hormuz and Iran&#8217;s HEU stockpile. The US is pushing a one-page MoU. Iran is stalling.</p><p>Russia is rebuilding Iran&#8217;s capacity during the ceasefire. Drone components arrive via the Caspian Sea. During the war, Russia and China shared satellite imagery of US bases with Iran. The &#8220;Standards War&#8221; of the cover is now a kinetic alliance.</p><p>Iranian-backed Iraqi militias (Kataib Hezbollah, Hezbollah al Nujaba, Kataib Sayyid al Shuhada) refuse to disarm. The 2026 Iran war ended on the calendar, not on the ground.</p><p><strong>What the cover got right:</strong> the militarization. The robot dog. The missiles with red tips. The Standards War. The Russia-China alignment.</p><p><strong>What it missed:</strong> the speed. The assassination of a head of state. The Strait closure. The scale of displacement. The Economist projected a &#8220;Trumpian deal&#8221; for Saudi-Israel normalization. There has been no deal. There has been a war.</p><p>The accelerant the cover did not name: AI-targeted drones, AI-analyzed satellite intel from Beijing, AI-enhanced naval logistics in the US blockade. The cover showed surveillance. It did not show that the surveillance had already gone autonomous.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>The Brain and the Controller: Cognitive Warfare</h2><p>The cover&#8217;s most dystopian image is the simplest. A human brain wired to a video game controller.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!esDH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63f2866-a566-4224-a073-161e7c84e7f5_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!esDH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63f2866-a566-4224-a073-161e7c84e7f5_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!esDH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63f2866-a566-4224-a073-161e7c84e7f5_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!esDH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63f2866-a566-4224-a073-161e7c84e7f5_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!esDH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63f2866-a566-4224-a073-161e7c84e7f5_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!esDH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63f2866-a566-4224-a073-161e7c84e7f5_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b63f2866-a566-4224-a073-161e7c84e7f5_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6286645,&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://ghelburlabs.substack.com/i/180405979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63f2866-a566-4224-a073-161e7c84e7f5_2752x1536.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_!esDH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63f2866-a566-4224-a073-161e7c84e7f5_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!esDH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63f2866-a566-4224-a073-161e7c84e7f5_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!esDH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63f2866-a566-4224-a073-161e7c84e7f5_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!esDH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb63f2866-a566-4224-a073-161e7c84e7f5_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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>It reads two ways at once.</p><p><strong>Technological.</strong> Neuralink brain-computer interfaces enter clinical trials. 2026 is the year biology and silicon start sharing wire.</p><p><strong>Sociological.</strong> This is cognitive warfare. The US 250th anniversary and November midterms make 2026 a year when the &#8220;public mind&#8221; becomes the contested terrain. Political narratives play out like video games. Recommendation algorithms are the controllers. Human sentiment is the score.</p><p>The battlefield of 2026 isn&#8217;t just land or sea. It&#8217;s the neuro-circuitry of populations.</p><p>Gartner predicts 40% of enterprise applications will run task-specific AI agents by 2026, up from under 5% in 2025. But Nobel laureate Daron Acemoglu warns: &#8220;These models are being hyped up, and we&#8217;re investing more than we should.&#8221;</p><p>The Economist asks bluntly: &#8220;Will the AI bubble burst?&#8221;</p><p>By 2026, trillions will have been spent on AI infrastructure: chips, data centers, energy. Investors will demand tangible ROI. If AI hasn&#8217;t delivered productivity gains, funding could evaporate, triggering a tech crash on the scale of the 2000 dot-com burst.</p><p>The energy constraint is real. Data centers consume more electricity each quarter, forcing a pivot back to nuclear or fossil fuels, colliding directly with climate goals.</p><div><hr></div><h2>Economic Gravity Returns: The Bond Market Reckoning</h2><p>A plunging red line graph with scattered US pennies appears prominently. The Economist&#8217;s warning: &#8220;rich countries are living beyond their means.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9DXx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89af3d0d-8a28-4df7-aa50-3728f141692a_3168x1344.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9DXx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89af3d0d-8a28-4df7-aa50-3728f141692a_3168x1344.png 424w, https://substackcdn.com/image/fetch/$s_!9DXx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89af3d0d-8a28-4df7-aa50-3728f141692a_3168x1344.png 848w, https://substackcdn.com/image/fetch/$s_!9DXx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89af3d0d-8a28-4df7-aa50-3728f141692a_3168x1344.png 1272w, https://substackcdn.com/image/fetch/$s_!9DXx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89af3d0d-8a28-4df7-aa50-3728f141692a_3168x1344.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9DXx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89af3d0d-8a28-4df7-aa50-3728f141692a_3168x1344.png" width="1456" height="618" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89af3d0d-8a28-4df7-aa50-3728f141692a_3168x1344.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:618,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7243092,&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://ghelburlabs.substack.com/i/180405979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89af3d0d-8a28-4df7-aa50-3728f141692a_3168x1344.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_!9DXx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89af3d0d-8a28-4df7-aa50-3728f141692a_3168x1344.png 424w, https://substackcdn.com/image/fetch/$s_!9DXx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89af3d0d-8a28-4df7-aa50-3728f141692a_3168x1344.png 848w, https://substackcdn.com/image/fetch/$s_!9DXx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89af3d0d-8a28-4df7-aa50-3728f141692a_3168x1344.png 1272w, https://substackcdn.com/image/fetch/$s_!9DXx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89af3d0d-8a28-4df7-aa50-3728f141692a_3168x1344.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 aria-hidden="true" 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><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 bond vigilante scenario</h3><p>G7 governments ran massive deficits for pandemic relief, wars, and industrial policy. AI capex added trillions on top. In 2026, the bill comes due.</p><p>&#8220;Bond vigilantes&#8221; (investors who sell government debt to protest fiscal irresponsibility) may return, driving up yields. This crushes government budgets as debt service costs soar. It also crushes mortgage holders.</p><p>The choice becomes brutal:</p><ul><li><p><strong>Austerity:</strong> cut spending (risks recession and unrest)</p></li><li><p><strong>Financial repression:</strong> let inflation run hot to erode debt</p></li></ul><p>J.P. Morgan assigns 40% probability to a US or global recession. Fed Chair Jerome Powell&#8217;s term ends May 2026. Politicizing the Fed seat could trigger a market showdown.</p><p>Trump&#8217;s tariffs will &#8220;dampen global growth,&#8221; eventually biting consumers with stagflationary pressure.</p><h3>China&#8217;s deflationary trap</h3><p>China faces its own crisis: deflation, industrial glut, demographic decline. Goldman Sachs projects 4.3 to 5.0% GDP growth. But the strategy of &#8220;exporting its way out&#8221; by flooding the world with cheap goods will trigger retaliatory tariffs from the US and Europe.</p><p>The crisis creates opportunity. As the US turns inward (&#8221;America First&#8221;), China consolidates the Global South. Latin America, Africa, Southeast Asia. China presents itself as the &#8220;adult in the room,&#8221; offering trade agreements and green tech dominance: EVs, solar, batteries. All AI-optimized supply chains. Bangladesh is explicitly targeted for engagement with lower-interest loans.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>The Pharmaceutical Revolution: Syringes, Pills, and the Supply Chain of Thinness</h2><p>Giant hypodermic needles and scattered pills dominate the cover. The Economist&#8217;s tenth theme: &#8220;Ozempic, but better.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bjcn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd81fe8ff-9f4f-4446-9016-03e3c0946b9f_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bjcn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd81fe8ff-9f4f-4446-9016-03e3c0946b9f_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Bjcn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd81fe8ff-9f4f-4446-9016-03e3c0946b9f_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Bjcn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd81fe8ff-9f4f-4446-9016-03e3c0946b9f_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Bjcn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd81fe8ff-9f4f-4446-9016-03e3c0946b9f_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bjcn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd81fe8ff-9f4f-4446-9016-03e3c0946b9f_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d81fe8ff-9f4f-4446-9016-03e3c0946b9f_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5832426,&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://ghelburlabs.substack.com/i/180405979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd81fe8ff-9f4f-4446-9016-03e3c0946b9f_2752x1536.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_!Bjcn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd81fe8ff-9f4f-4446-9016-03e3c0946b9f_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Bjcn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd81fe8ff-9f4f-4446-9016-03e3c0946b9f_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Bjcn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd81fe8ff-9f4f-4446-9016-03e3c0946b9f_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Bjcn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd81fe8ff-9f4f-4446-9016-03e3c0946b9f_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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>Next-gen GLP-1 weight-loss drugs arrive in pill form in 2026. Eli Lilly&#8217;s orforglipron targets spring FDA approval at $149-150 per month (vs $1,000+ for current injectables). Novo Nordisk slashed prices 70%. Generic versions launch in Brazil, China, India. The global market surpassed $26 billion in 2025 and explodes from there.</p><h3>The economic earthquake</h3><p>This isn&#8217;t just healthcare. It&#8217;s macro-economic disruption.</p><ul><li><p><strong>&#8220;Big Junk&#8221; food industry faces existential threat.</strong> As caloric intake drops globally, Nestl&#233;, PepsiCo, McDonald&#8217;s see shrinking markets. Investors may short these stocks while going long on pharma giants.</p></li><li><p><strong>Healthcare systems face upfront cost explosions</strong> despite long-term savings from reduced diabetes and heart disease.</p></li><li><p><strong>The ethics debate: &#8220;Is taking them cheating?&#8221;</strong> The question extends from athletes to everyday people. Are we hacking our metabolism or addressing a health crisis?</p></li></ul><h3>The other syringe: pandemic stockpile</h3><p>The syringes next to missiles aren&#8217;t coincidence. Pharmaceutical supply chains are now national security, and 2026 is testing them on two fronts at once.</p><p>H5N1 avian flu has 71 US cases since 2024, 43 mammal species infected, one US death in Louisiana, one child fatality in Bangladesh (January 2026), and one British Columbia case with no identified exposure source (March 2026). WHO tracked 13 zoonotic flu variant cases in Q1 2026. No sustained human-to-human transmission yet. The &#8220;yet&#8221; is doing a lot of work.</p><p>AI-discovered antivirals, AI-screened pathogens, and AI-monitored wildlife genomic surveillance are now the default pipeline for pandemic preparedness. The same AI-pharma stack that produced cheap GLP-1 pills is the stack racing the next outbreak.</p><p>The cover shows the syringe as a symbol of societal transformation and geopolitical positioning. The same syringe is the front line of biosecurity.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Surveillance Omnipresence: The Transparent Battlefield</h2><p>The cover swarms with drones and satellites. They visualize the &#8220;panopticon&#8221; state where privacy is extinct.</p><p><strong>The end of privacy.</strong> Surveillance spans urban centers to the remote Arctic. Every cable, every ship, every movement is monitored. The panopticon only works at this scale because AI does the watching now. Humans do not review feeds. Models do.</p><p><strong>Orbital warfare.</strong> These symbols warn of grey-zone provocations in space. Expect satellite dazzling, cyber-hijacking of constellations, militarization of commercial assets like Starlink. The eyes are watching. They are also targets.</p><p>The broader theme: 2026 is the year of the &#8220;Transparent Battlefield.&#8221; Advantage goes to those who see first, decide fastest, and act before the other side has processed the same data. That is an AI workload, not a human one.</p><div><hr></div><h2>The European Trilemma: An Impossible Balancing Act</h2><p>The Economist identifies &#8220;Problems for Europe&#8221; as a top theme. The continent faces a mathematical impossibility:</p><ul><li><p>Increase defense spending (to deter Russia)</p></li><li><p>Maintain social welfare (to appease voters)</p></li><li><p>Reduce deficits (to please bond markets)</p></li></ul><p>It cannot do all three.</p><p>Austerity drives voters toward anti-establishment parties threatening Euro / NATO exit. That creates an existential crisis for the EU project. The hard-right populism surge becomes the engine of political instability.</p><p>Yet opportunity exists. Defense industry renaissance. Leadership in AI regulation through the AI Act, which has become the global benchmark for governance frameworks while Washington stalls and Beijing builds its own.</p><div><hr></div><h2><strong>Regional Outlook: The Strategic Map of 2026</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_!7z74!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f49a8b6-c57f-4673-9822-e9726267f9e4_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7z74!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f49a8b6-c57f-4673-9822-e9726267f9e4_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!7z74!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f49a8b6-c57f-4673-9822-e9726267f9e4_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!7z74!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f49a8b6-c57f-4673-9822-e9726267f9e4_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!7z74!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f49a8b6-c57f-4673-9822-e9726267f9e4_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7z74!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f49a8b6-c57f-4673-9822-e9726267f9e4_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f49a8b6-c57f-4673-9822-e9726267f9e4_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5547165,&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://ghelburlabs.substack.com/i/180405979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f49a8b6-c57f-4673-9822-e9726267f9e4_2752x1536.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_!7z74!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f49a8b6-c57f-4673-9822-e9726267f9e4_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!7z74!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f49a8b6-c57f-4673-9822-e9726267f9e4_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!7z74!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f49a8b6-c57f-4673-9822-e9726267f9e4_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!7z74!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f49a8b6-c57f-4673-9822-e9726267f9e4_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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><hr></div><h2>Climate&#8217;s Mixed Picture: Green Hushing</h2><p>The cover shows melting ice cubes. A nod to climate crisis. The Economist&#8217;s verdict: 1.5&#176;C warming target is &#8220;off the table.&#8221;</p><p>But here&#8217;s the twist: &#8220;Green Hushing&#8221; emerges as corporate strategy. Companies keep decarbonizing, not for ideology but because solar and wind are now cheaper. They stop talking about it to avoid anti-ESG backlash in Trump&#8217;s America.</p><p>Meanwhile the Global South accelerates adoption, aided by Chinese tech. The &#8220;Green&#8221; mantle passes from West to developing world. The moral center of gravity in geopolitics shifts with it.</p><p>Geothermal energy emerges as the sector to watch. AI data centers need 24/7 baseload power that solar and wind cannot match. Geothermal can. The energy transition is now downstream of the AI capex cycle.</p><div><hr></div><h2>The Conspiracy Layer: Predictive Programming or Pattern Recognition?</h2><p>No analysis is complete without addressing the elephant in the room: conspiracy theories.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9xBN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e76a5a2-6fbf-4cb1-ac15-09ecb1c2301c_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9xBN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e76a5a2-6fbf-4cb1-ac15-09ecb1c2301c_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!9xBN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e76a5a2-6fbf-4cb1-ac15-09ecb1c2301c_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!9xBN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e76a5a2-6fbf-4cb1-ac15-09ecb1c2301c_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!9xBN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e76a5a2-6fbf-4cb1-ac15-09ecb1c2301c_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9xBN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e76a5a2-6fbf-4cb1-ac15-09ecb1c2301c_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e76a5a2-6fbf-4cb1-ac15-09ecb1c2301c_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6880688,&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://ghelburlabs.substack.com/i/180405979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e76a5a2-6fbf-4cb1-ac15-09ecb1c2301c_2752x1536.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_!9xBN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e76a5a2-6fbf-4cb1-ac15-09ecb1c2301c_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!9xBN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e76a5a2-6fbf-4cb1-ac15-09ecb1c2301c_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!9xBN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e76a5a2-6fbf-4cb1-ac15-09ecb1c2301c_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!9xBN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e76a5a2-6fbf-4cb1-ac15-09ecb1c2301c_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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>Within days of release, alternative media exploded with &#8220;decoding&#8221; content. Key narratives:</p><p><strong>The Rothschild-Bilderberg theory.</strong> With 21% Rothschild ownership and the Editor-in-Chief attending Bilderberg, conspiracists frame the predictions as elite communication, not analysis.</p><p><strong>The Illuminati / 1776 connection.</strong> 1776 marked both US independence and the Bavarian Illuminati founding. The cake is read as &#8220;alluding to elite secret agendas.&#8221;</p><p><strong>The &#8220;Plandemic&#8221; interpretation.</strong> Prominent syringes signal another health crisis. Marburg virus fears dominate this thread.</p><p><strong>The mind-control theory.</strong> The brain-controller represents mass psychological manipulation via AI. This one is less conspiracy and more current operating reality of every social platform you use.</p><p>The Economist has leaned into the speculation, admitting they include &#8220;mysterious symbols or red herrings to keep conspiracists guessing.&#8221;</p><p>But here is the reality. Elite forecasters report 53% confidence but achieve only 23% accuracy (Berkeley Haas study). Fed research shows professional forecasts perform no better than benchmarks at one-year horizons.</p><p>The pattern. The Economist excels at identifying which issues will dominate discourse. Call it a trend compass. They struggle with specific outcomes, timing, and black swans.</p><p>Use these predictions as a framework for understanding what sophisticated analysts consider important, not as prophecy.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>What Actually Happens in 2026: The Scheduled Events</h2><p>Beyond predictions, here is what is confirmed:</p><ul><li><p><strong>February 6-22:</strong> Milano Cortina Winter Olympics (debuts ski mountaineering)</p></li><li><p><strong>February 8:</strong> Super Bowl LX at Levi&#8217;s Stadium</p></li><li><p><strong>February 2026:</strong> Artemis II, first crewed lunar mission since 1972 (NASA budget concerns may delay)</p></li><li><p><strong>June 11 - July 19:</strong> FIFA World Cup (48 teams, 16 US cities)</p></li><li><p><strong>July 4:</strong> US 250th anniversary. Time capsule burial in Philadelphia. 7th International Fleet Review (60 ships, 30 countries). MLB All-Star Game</p></li><li><p><strong>November 3:</strong> US Midterm Elections (Democrats need net +3 for House majority; historical trends favor opposition. AI-generated deepfake interference is the wildcard)</p></li></ul><div><hr></div><h2>The Meta-Narrative: From Globalization to Game Theory</h2><p>The synthesis of all this research reveals a profound shift.</p><p>We are moving from the era of &#8220;Globalization&#8221; to the era of &#8220;Game Theory.&#8221;</p><p>Relationships are transactional, strategic, zero-sum. The distinction between a trade deal and a peace treaty has vanished. Sport, health, technology, finance: all are now weapons in a single arena of competition.</p><p>The &#8220;nervous system&#8221; metaphor is perfect. A shock anywhere transmits everywhere. A tariff tweet in Washington affects chip supply in Taiwan, energy prices in Europe, bond yields in Japan.</p><p>The old world order is not dying. It is already dead. 2026 reveals what replaces it: fluid &#8220;coalitions of the willing,&#8221; competing tech standards, weaponized commerce, grey-zone conflicts where ambiguity is the strategy.</p><p>And one operating system running underneath all of it: AI.</p><div><hr></div><h2>Conclusion: Watch the Grey Zones</h2><p>The Economist&#8217;s 2026 cover functions as visual information density. Too many crises to isolate, too interconnected to separate. Earth as a soccer ball orbited by weapons, pills, and surveillance while a divided America celebrates: festivity amid fragility.</p><p>The lasting value is not predictive accuracy (which will be mixed). The value is the identification of forces competing for attention. A birthday party held on a soccer ball surrounded by missiles and pills, with a handcuffed fist emerging from the cake. That is the visual thesis.</p><p>Same exercise <a href="https://theaioperator.io/p/unlocking-the-economists-2025-cover">I ran last year on the 2025 cover</a>. The framework holds. The threat surface widened.</p><p>Here is your action framework for 2026:</p><h3>1. Watch the grey zones</h3><p>The next crisis will not start with a declaration of war. It will start with a severed cable in the North Sea, a &#8220;quarantine&#8221; of Taiwan, or a quiet bond market default.</p><h3>2. Follow the money and the medications</h3><p>The GLP-1 revolution will reshape economies faster than AI. Short junk food, long pharma, and watch for healthcare cost explosions.</p><h3>3. Understand cognitive warfare</h3><p>Elections, narratives, and public opinion are the battlefield. Algorithms are the weapons. Your attention is the territory.</p><h3>4. Embrace transactionalism</h3><p>Permanent alliances are over. Success goes to those who can play multiple sides without commitment.</p><h3>5. Prepare for volatility</h3><p>2026 is not the year the world breaks. It is the year we discover how it already broke and learn to navigate the fragments.</p><p>Navigating fragments is now a tooling problem. You need a personal system that captures, connects, and surfaces what matters before the next signal arrives. That is exactly what <a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain</a> was built for, and <a href="https://theaioperator.io/p/i-built-a-tool-that-lets-my-obsidian">why I built it for myself</a>.</p><p>In 2026 the future arrives. Not as shiny utopia. As gritty reality of AI surveillance, bio-hacked bodies, and drone warfare. Everything is connected. Everything is at risk.</p><p>The question is not whether The Economist&#8217;s predictions come true. The question is whether you are ready for a world where they are even plausible.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>Your Turn: What Do You See?</h2><p>I&#8217;ve decoded what five AI systems and dozens of analysts found in this cover. But symbols are Rorschach tests. They reveal as much about the observer as the observed.</p><p>What patterns do you see emerging? What am I missing?</p><p>Drop your analysis in the comments. Let&#8217;s build a collective intelligence network that rivals any think tank.</p><p>If you found this useful, subscribe to The AI Operator. One post per week. AI agent patterns, Obsidian + AI workflows, and the geopolitical context of the technology shaping 2026.</p><p>Clarity is the only competitive advantage left.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Sources</h2><ul><li><p>The Economist, &#8220;The World Ahead 2026&#8221; (November 2025)</p></li><li><p>Berkeley Haas Business School, &#8220;Elite Forecaster Accuracy Study&#8221;</p></li><li><p>J.P. Morgan Global Economic Research</p></li><li><p>Goldman Sachs China Economic Outlook</p></li><li><p>Gartner AI Adoption Forecasts</p></li><li><p>Tourism Economics FIFA World Cup Impact Analysis</p></li><li><p>Institute for the Study of War, Iran Update Special Reports (May 2026)</p></li><li><p>CDC A(H5) Bird Flu Situation Summary</p></li><li><p>WHO Q1 2026 Zoonotic Influenza Report via CIDRAP</p></li></ul>]]></content:encoded></item><item><title><![CDATA[I built this for myself. Then 1,374 strangers cloned it.]]></title><description><![CDATA[Two tools you already use don't talk to each other. Here's what happens when you make them.]]></description><link>https://theaioperator.io/p/i-built-this-for-myself-then-1374</link><guid isPermaLink="false">https://theaioperator.io/p/i-built-this-for-myself-then-1374</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Sun, 10 May 2026 18:42:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_mp_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.png" 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_!_mp_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_mp_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.png 424w, https://substackcdn.com/image/fetch/$s_!_mp_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.png 848w, https://substackcdn.com/image/fetch/$s_!_mp_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.png 1272w, https://substackcdn.com/image/fetch/$s_!_mp_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_mp_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.png" width="1048" height="697" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:697,&quot;width&quot;:1048,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1637247,&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://theaioperator.io/i/197126857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.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_!_mp_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.png 424w, https://substackcdn.com/image/fetch/$s_!_mp_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.png 848w, https://substackcdn.com/image/fetch/$s_!_mp_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.png 1272w, https://substackcdn.com/image/fetch/$s_!_mp_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb2de45-6bad-4c5f-b549-4b2416c2b60f_1048x697.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 aria-hidden="true" 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><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><blockquote><p><strong>What is obsidian-second-brain?</strong> A free, open-source Claude Code skill that gives Claude persistent memory through your Obsidian vault. 1,024 stars in seven weeks. MIT licensed. Built by Eugeniu Ghelbur. Repo: <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a>.</p></blockquote><p>You use Claude every day. Every session starts from scratch. You re-explain everything. The conversation ends. Everything disappears.</p><p>You take notes in Obsidian. Hundreds of files. They just sit there. You make the same decision twice because you forgot you made it six months ago.</p><p>Two powerful tools. Completely disconnected.</p><p>That was my problem. I was tired of it. So I built the bridge.</p><p>Then I open-sourced it on GitHub. Seven weeks later, 1,374 strangers had cloned it.</p><p>This post is what I built, why people are using it, and what it might mean for you if you bring AI into your work.</p><h2>What obsidian-second-brain does</h2><p>obsidian-second-brain is a free Claude Code skill. Open source. MIT license. The repo is called <code>obsidian-second-brain</code>.</p><p>Under the hood it&#8217;s 31 commands across four layers. But you don&#8217;t need to know all 31. You only need to know what each layer DOES:</p><ol><li><p><strong>Claude remembers.</strong> Every meeting, every decision, every voice memo, every screenshot. It gets saved to the right place in your vault automatically. You stop losing things.</p></li><li><p><strong>Claude thinks with you.</strong> Your vault argues back. Before you decide something, you can ask &#8220;have I been here before?&#8221; and it shows you your past failures and reversed decisions on the same topic.</p></li><li><p><strong>Claude knows you.</strong> Your identity, your projects, your current state. Loaded in ten seconds. Every session picks up where the last one ended.</p></li><li><p><strong>Claude pulls knowledge in.</strong> X posts, web research, YouTube transcripts. They go into your vault, not just into a temporary chat that disappears.</p></li></ol><p>Plus four scheduled agents that run while you sleep. The vault gets smarter without you.</p><p>You don&#8217;t even have to open Obsidian to use it. Everything happens through Claude.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T5MA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8904c85a-dc30-4f48-9b01-4b867bcd3100_2220x1494.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T5MA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8904c85a-dc30-4f48-9b01-4b867bcd3100_2220x1494.png 424w, https://substackcdn.com/image/fetch/$s_!T5MA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8904c85a-dc30-4f48-9b01-4b867bcd3100_2220x1494.png 848w, https://substackcdn.com/image/fetch/$s_!T5MA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8904c85a-dc30-4f48-9b01-4b867bcd3100_2220x1494.png 1272w, https://substackcdn.com/image/fetch/$s_!T5MA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8904c85a-dc30-4f48-9b01-4b867bcd3100_2220x1494.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T5MA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8904c85a-dc30-4f48-9b01-4b867bcd3100_2220x1494.png" width="1456" height="980" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8904c85a-dc30-4f48-9b01-4b867bcd3100_2220x1494.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:980,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5269297,&quot;alt&quot;:&quot;The 4 layers of obsidian-second-brain.&quot;,&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://ghelburlabs.substack.com/i/197126857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8904c85a-dc30-4f48-9b01-4b867bcd3100_2220x1494.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The 4 layers of obsidian-second-brain." title="The 4 layers of obsidian-second-brain." srcset="https://substackcdn.com/image/fetch/$s_!T5MA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8904c85a-dc30-4f48-9b01-4b867bcd3100_2220x1494.png 424w, https://substackcdn.com/image/fetch/$s_!T5MA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8904c85a-dc30-4f48-9b01-4b867bcd3100_2220x1494.png 848w, https://substackcdn.com/image/fetch/$s_!T5MA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8904c85a-dc30-4f48-9b01-4b867bcd3100_2220x1494.png 1272w, https://substackcdn.com/image/fetch/$s_!T5MA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8904c85a-dc30-4f48-9b01-4b867bcd3100_2220x1494.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><code>The 4 layers of obsidian-second-brain.</code></figcaption></figure></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>What it actually does</h2><p>Some real moments where it changes how you work:</p><ul><li><p><strong>After a meeting</strong>, one command saves every decision, person, task, and idea to the right note. You do nothing.</p></li><li><p><strong>You record a voice memo on your phone.</strong> Drop it in. It gets transcribed, the action items get extracted, the right people and projects get linked.</p></li><li><p><strong>You take a photo of a whiteboard.</strong> Same thing. The image becomes searchable knowledge.</p></li><li><p><strong>You find a great YouTube video.</strong> It doesn&#8217;t get summarized into one new note. It REWRITES your existing pages. People get updated. Contradictions get resolved. Patterns trigger new synthesis pages.</p></li><li><p><strong>Before a big decision</strong>, the vault searches your past notes for the same topic and pushes back with your own words. Your vault holds you accountable.</p></li><li><p><strong>You go to sleep</strong>, and a nightly agent runs five phases: closes the day, reconciles contradictions, finds patterns across sources, heals orphan notes, rebuilds the index. You wake up to a smarter vault.</p></li></ul><p>That&#8217;s the difference between a notes app and a second brain. The notes app waits for you. The second brain works for you.</p><h2>The proof</h2><p>Here are the numbers, fresh from the GitHub Insights page today:</p><ul><li><p><strong>Created seven weeks ago.</strong> 2026-03-24.</p></li><li><p><strong>1,024 stars.</strong></p></li><li><p><strong>99 forks.</strong></p></li><li><p><strong>1,374 unique people cloned the repo in the last two weeks alone.</strong> That&#8217;s not vanity. Cloning means they actually pulled the code down to try it.</p></li><li><p><strong>5,910 unique visitors to the repo in 14 days.</strong></p></li><li><p>The top referrer is Twitter, by a wide margin. The second is Google. People are searching for this and finding it.</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_!hOoR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4682263-36db-4c86-bc9c-2bf9246f7f82_2220x1484.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hOoR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4682263-36db-4c86-bc9c-2bf9246f7f82_2220x1484.png 424w, https://substackcdn.com/image/fetch/$s_!hOoR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4682263-36db-4c86-bc9c-2bf9246f7f82_2220x1484.png 848w, https://substackcdn.com/image/fetch/$s_!hOoR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4682263-36db-4c86-bc9c-2bf9246f7f82_2220x1484.png 1272w, https://substackcdn.com/image/fetch/$s_!hOoR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4682263-36db-4c86-bc9c-2bf9246f7f82_2220x1484.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hOoR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4682263-36db-4c86-bc9c-2bf9246f7f82_2220x1484.png" width="1456" height="973" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a4682263-36db-4c86-bc9c-2bf9246f7f82_2220x1484.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:973,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4465260,&quot;alt&quot;:&quot;GitHub stars growth on obsidian-second-brain, March through May 2026.&quot;,&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://ghelburlabs.substack.com/i/197126857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4682263-36db-4c86-bc9c-2bf9246f7f82_2220x1484.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="GitHub stars growth on obsidian-second-brain, March through May 2026." title="GitHub stars growth on obsidian-second-brain, March through May 2026." srcset="https://substackcdn.com/image/fetch/$s_!hOoR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4682263-36db-4c86-bc9c-2bf9246f7f82_2220x1484.png 424w, https://substackcdn.com/image/fetch/$s_!hOoR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4682263-36db-4c86-bc9c-2bf9246f7f82_2220x1484.png 848w, https://substackcdn.com/image/fetch/$s_!hOoR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4682263-36db-4c86-bc9c-2bf9246f7f82_2220x1484.png 1272w, https://substackcdn.com/image/fetch/$s_!hOoR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4682263-36db-4c86-bc9c-2bf9246f7f82_2220x1484.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><code>GitHub stars growth on obsidian-second-brain, March through May 2026.</code></figcaption></figure></div><p>The first public user feedback came in a LinkedIn DM from a Cybersecurity Leader. He said he was &#8220;personally impressed by the correlation engine within one hour&#8221; of migrating his own data into the vault.</p><p>The first external code contribution came from someone I had never met. He shipped 695 lines of code to add a new <code>/podcast</code> command. He found a real bug in my code while doing it. The project isn&#8217;t just mine anymore.</p><p>The Substack readers who actually click through to the repo convert at 24 percent. Meaning the people who read about it stay.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Why this matters if you&#8217;re a founder</h2><p>Your team uses AI. Your team takes notes. The two don&#8217;t talk.</p><p>You hire someone in March. They have great calls with three customers in their first week. The notes go into a tool. The Claude conversations go nowhere. By June, that person has switched roles or left. The customer insight is gone.</p><p>Multiply that by fifty people on your team and you have institutional amnesia at scale. Your company knows things, but your company can&#8217;t remember them.</p><p>This open-source skill is how I solved that problem for one person. Me. The principles are the same at any size. The code is free to fork.</p><p>If you bring AI into your team in the next six months, your team is going to hit this exact wall. The fix isn&#8217;t a new SaaS subscription. It&#8217;s a pattern. The pattern is in the repo.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!O5O9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c517a4-d80a-4027-9a59-cf28a142c335_2234x1474.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O5O9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c517a4-d80a-4027-9a59-cf28a142c335_2234x1474.png 424w, https://substackcdn.com/image/fetch/$s_!O5O9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c517a4-d80a-4027-9a59-cf28a142c335_2234x1474.png 848w, https://substackcdn.com/image/fetch/$s_!O5O9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c517a4-d80a-4027-9a59-cf28a142c335_2234x1474.png 1272w, https://substackcdn.com/image/fetch/$s_!O5O9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c517a4-d80a-4027-9a59-cf28a142c335_2234x1474.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O5O9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c517a4-d80a-4027-9a59-cf28a142c335_2234x1474.png" width="1456" height="961" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00c517a4-d80a-4027-9a59-cf28a142c335_2234x1474.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:961,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5322263,&quot;alt&quot;:&quot;Institutional amnesia: your team's customer insight dies the day someone leaves.&quot;,&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://ghelburlabs.substack.com/i/197126857?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c517a4-d80a-4027-9a59-cf28a142c335_2234x1474.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Institutional amnesia: your team's customer insight dies the day someone leaves." title="Institutional amnesia: your team's customer insight dies the day someone leaves." srcset="https://substackcdn.com/image/fetch/$s_!O5O9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c517a4-d80a-4027-9a59-cf28a142c335_2234x1474.png 424w, https://substackcdn.com/image/fetch/$s_!O5O9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c517a4-d80a-4027-9a59-cf28a142c335_2234x1474.png 848w, https://substackcdn.com/image/fetch/$s_!O5O9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c517a4-d80a-4027-9a59-cf28a142c335_2234x1474.png 1272w, https://substackcdn.com/image/fetch/$s_!O5O9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00c517a4-d80a-4027-9a59-cf28a142c335_2234x1474.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><code>Institutional amnesia: your team's customer insight dies the day someone leaves.</code></figcaption></figure></div><h2>Try it</h2><p>GitHub repo: <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a></p><p>It&#8217;s free. MIT license. One command to install.</p><p>If you don&#8217;t use Obsidian or Claude Code yet, the README explains both. If you do, you can be running it in five minutes.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>Frequently asked questions</h2><p><strong>What is obsidian-second-brain?</strong><br>A free, open-source Claude Code skill that connects Claude to an Obsidian vault. Every conversation, decision, meeting note, voice memo, and research finding gets saved to the right place automatically. The vault then feeds context back into every future Claude session.</p><p><strong>Is it free?</strong><br>Yes. MIT license. Free to use, fork, or extend. There is no paid tier.</p><p><strong>Who built it?</strong><br>Eugeniu Ghelbur, AI Automation Engineer at Single Grain. The repo went public on 2026-03-24. As of 2026-05-10 it has 1,024 stars, 99 forks, and 1,374 clones in the prior 14 days.</p><p><strong>Do I need to know how to code?</strong><br>No. One command installs it. The README walks you through Claude Code and Obsidian setup from scratch.</p><p><strong>Does it require Claude Code?</strong><br>Yes. It is a Claude Code skill, not a standalone app. Claude Code is free at claude.com/claude-code.</p><p><strong>Does it require Obsidian?</strong><br>Yes. Obsidian is free for personal use. The skill assumes a markdown vault on local disk.</p><p><strong>How is this different from Obsidian AI plugins like Smart Connections?</strong><br>Most plugins call an AI API from inside Obsidian. obsidian-second-brain inverts that. Claude is the operator. The vault is its memory. You can go weeks without opening Obsidian. The vault gets smarter while you work somewhere else.</p><p><strong>Where is the repo?</strong><br><a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>What&#8217;s next</h2><p>This is week one of <strong>The AI Operator</strong>, my publication for people building with AI in production.</p><p>One post per Tuesday. Three things I write about:</p><ul><li><p><strong>Obsidian + AI workflows</strong> (how to make your second brain actually intelligent, like this post)</p></li><li><p><strong>AI agent patterns</strong> (what works, what breaks, what I&#8217;m shipping)</p></li><li><p><strong>AI for humans</strong> (how to bring AI into your team or your life without scaring people)</p></li></ul><p>If you&#8217;re bringing AI into your work and you want to see what&#8217;s actually working in production from someone who ships it, subscribe. There&#8217;s a button somewhere obvious on this page.</p><p>Thanks for being here. I write for the people who build.</p><p>Eugeniu</p>]]></content:encoded></item><item><title><![CDATA[Karpathy's LLM Wiki Gist Decoded: What I Added]]></title><description><![CDATA[The full three-layer pattern from the gist, plus the five rules I had to add to keep it running for six months.]]></description><link>https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres</link><guid isPermaLink="false">https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Wed, 29 Apr 2026 11:58:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-WD2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>The gist, in short.</strong> Karpathy&#8217;s pattern is three layers and three operations: raw sources, a wiki the model rewrites, and an index that points at both. Ingest, query, lint. That is the whole thing, and it is genuinely enough to start. The link to the original gist is at the bottom of this post. What follows is what happened when I ran it for six months.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-WD2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-WD2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.png 424w, https://substackcdn.com/image/fetch/$s_!-WD2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.png 848w, https://substackcdn.com/image/fetch/$s_!-WD2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.png 1272w, https://substackcdn.com/image/fetch/$s_!-WD2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-WD2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.png" width="911" height="606" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:606,&quot;width&quot;:911,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1109536,&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://theaioperator.io/i/195851414?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.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_!-WD2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.png 424w, https://substackcdn.com/image/fetch/$s_!-WD2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.png 848w, https://substackcdn.com/image/fetch/$s_!-WD2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.png 1272w, https://substackcdn.com/image/fetch/$s_!-WD2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac1ae0a8-13c3-4806-bef6-8787d1ac12db_911x606.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 aria-hidden="true" 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><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>Quick orientation. If you came here searching for Karpathy's original LLM Wiki gist, here it is: <a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f">Karpathy&#8217;s original LLM Wiki gist.</a> Bookmark it, it's still the cleanest starting point. What follows is the version I built on top of it, a second brain that rewrites itself, open-sourced so you can clone it: <a href="https://github.com/eugeniughelbur/obsidian-second-brain">https://github.com/eugeniughelbur/obsidian-second-brain</a></p><div><hr></div><h2>TL;DR</h2><ul><li><p>Karpathy&#8217;s LLM Wiki gist describes the right pattern but at the intent level: integrate new sources, lint periodically, treat the wiki as primary. It is a conceptual blueprint, not a runnable spec.</p></li><li><p> The gap between the gist and a working system is in the mechanics: how integration handles contradictions, how lint runs without you asking, and who the wiki is actually written for.</p></li><li><p>This rebuild fills in the spec on five axes: specified integration mechanics, automatic contradiction reconciliation, unsolicited synthesis, scheduled maintenance agents, and notes written for AI retrieval rather than human reading.</p></li><li><p>The most contrarian of the five is the AI-First Vault Principle: notes designed so future-Claude can read them in 10 seconds, not so future-you can re-read them in 30 minutes. Karpathy&#8217;s gist treats the wiki as serving both humans and LLMs; this rebuild inverts that.</p></li><li><p>The open-source implementation ships as a Claude Code skill with 31 slash commands and 4 scheduled agents.</p></li></ul><div><hr></div><h2>What is Karpathy&#8217;s LLM Wiki pattern?</h2><p><strong>Karpathy&#8217;s LLM Wiki is a knowledge-base pattern published as a public gist in early 2026.</strong> You drop sources into a folder. An LLM reads them, extracts entities and concepts into wiki pages, and cross-references everything. Future questions are answered from the wiki, not from a fresh web search.</p><p>The full pattern lives in <a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f">Karpathy&#8217;s gist</a>. The core insight is correct and important: <strong>the wiki is the product, the chat is just the interface</strong>. Cross-references already exist. Synthesis already reflects everything that has been read. Knowledge compounds like interest, instead of being regenerated from scratch every time you open a chat.</p><p>This was the right starting point. It is also where most implementations stop. As of 2026-04, every public Karpathy-Wiki implementation I have reviewed (six on GitHub, two on Substack, one on dev.to) treats the original gist as a complete spec. None of them solve the problems that show up the moment your wiki crosses a few hundred sources.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4nO5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b04a04-63eb-45c5-b4bc-57f1942e667a_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4nO5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b04a04-63eb-45c5-b4bc-57f1942e667a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!4nO5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b04a04-63eb-45c5-b4bc-57f1942e667a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!4nO5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b04a04-63eb-45c5-b4bc-57f1942e667a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!4nO5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b04a04-63eb-45c5-b4bc-57f1942e667a_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4nO5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b04a04-63eb-45c5-b4bc-57f1942e667a_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13b04a04-63eb-45c5-b4bc-57f1942e667a_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1093677,&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://ghelburlabs.substack.com/i/195851414?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b04a04-63eb-45c5-b4bc-57f1942e667a_1672x941.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_!4nO5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b04a04-63eb-45c5-b4bc-57f1942e667a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!4nO5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b04a04-63eb-45c5-b4bc-57f1942e667a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!4nO5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b04a04-63eb-45c5-b4bc-57f1942e667a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!4nO5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13b04a04-63eb-45c5-b4bc-57f1942e667a_1672x941.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 aria-hidden="true" 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><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><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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">The AI Operator is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>Why a conceptual blueprint is not a working second brain</h2><p><strong>Karpathy's pattern is append-only by design.</strong> Every ingest creates new pages and adds cross-references; existing pages stay frozen. This works for the first 50 to 100 sources. Past that, three failure modes compound: claims go stale, contradictions accumulate faster than you resolve them, and the cross-reference graph becomes too dense to navigate manually.<br><br>A wiki built this way is essentially a logbook with internal links. It captures what you read, but it does not update what you previously believed. If you ingest a YouTube video about a person who has changed jobs, you get a new source page with the new fact, plus a backlink on the person's existing page. The person's page itself still describes them at their old job. Future-Claude reading the page sees both, has no way to know which is current, and gives you a hedged answer.<br><br>The fix is structural. A real second brain has to rewrite, reconcile, synthesize, schedule, and rewrite-for-AI. Five extensions. Below.</p><h2>Five things a working second brain has to do that the original doesn't</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WV8C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd068422f-b7cf-4f94-beeb-3e54d4317ed8_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WV8C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd068422f-b7cf-4f94-beeb-3e54d4317ed8_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!WV8C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd068422f-b7cf-4f94-beeb-3e54d4317ed8_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!WV8C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd068422f-b7cf-4f94-beeb-3e54d4317ed8_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!WV8C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd068422f-b7cf-4f94-beeb-3e54d4317ed8_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WV8C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd068422f-b7cf-4f94-beeb-3e54d4317ed8_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d068422f-b7cf-4f94-beeb-3e54d4317ed8_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1124985,&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://ghelburlabs.substack.com/i/195851414?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd068422f-b7cf-4f94-beeb-3e54d4317ed8_1672x941.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_!WV8C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd068422f-b7cf-4f94-beeb-3e54d4317ed8_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!WV8C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd068422f-b7cf-4f94-beeb-3e54d4317ed8_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!WV8C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd068422f-b7cf-4f94-beeb-3e54d4317ed8_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!WV8C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd068422f-b7cf-4f94-beeb-3e54d4317ed8_1672x941.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 aria-hidden="true" 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><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>1. Ingest has to rewrite, not just append</h3><p><strong>Real intelligence rewrites.</strong> When I ingest a YouTube video about someone already in my vault, the person&#8217;s page itself gets updated. Their startup status changes from &#8220;considering joining&#8221; to &#8220;joined in March 2026.&#8221; A thesis that was &#8220;speculation&#8221; becomes &#8220;confirmed.&#8221; The old version is preserved as a dated entry below, not deleted, but the live state of the page reflects the latest evidence.</p><p>This is the difference between a wiki that grows and a wiki that learns. Append-only knowledge bases get stale invisibly because nothing about reading them tells you that a fact is from 2024. Rewriting forces every page to carry the current best answer at the top.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!87rV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd596c8d3-aebb-4c67-b91c-fe6a4953278d_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!87rV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd596c8d3-aebb-4c67-b91c-fe6a4953278d_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!87rV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd596c8d3-aebb-4c67-b91c-fe6a4953278d_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!87rV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd596c8d3-aebb-4c67-b91c-fe6a4953278d_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!87rV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd596c8d3-aebb-4c67-b91c-fe6a4953278d_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!87rV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd596c8d3-aebb-4c67-b91c-fe6a4953278d_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d596c8d3-aebb-4c67-b91c-fe6a4953278d_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:961202,&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://ghelburlabs.substack.com/i/195851414?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd596c8d3-aebb-4c67-b91c-fe6a4953278d_1672x941.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_!87rV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd596c8d3-aebb-4c67-b91c-fe6a4953278d_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!87rV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd596c8d3-aebb-4c67-b91c-fe6a4953278d_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!87rV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd596c8d3-aebb-4c67-b91c-fe6a4953278d_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!87rV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd596c8d3-aebb-4c67-b91c-fe6a4953278d_1672x941.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 aria-hidden="true" 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><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>2. Contradictions have to be resolved, not just flagged</h3><p><strong>Karpathy&#8217;s pattern flags contradictions during ingest. You resolve them manually.</strong> In a small wiki, that works. In a vault past a few hundred pages, contradictions accumulate faster than you have time to resolve. The wiki becomes internally inconsistent, and future-Claude pulling from it gets contradictory inputs and produces hedged outputs.</p><p>The fix is automatic reconciliation. A dedicated process scans the vault, finds claims that contradict each other across pages, and resolves them by source recency, source authority, and explicit confidence levels. The most recent, best-sourced, highest-confidence claim wins. The losing claim gets archived with an explanation of why it was superseded. The vault stays internally consistent without you babysitting it.</p><h3>3. Patterns have to be surfaced without being asked</h3><p><strong>Karpathy&#8217;s wiki answers the questions you ask it. It cannot tell you about the patterns it has noticed and you have not.</strong> This is a massive missed opportunity. Half the value of a knowledge base is the LLM telling you &#8220;you have mentioned this idea seven times across five different notes and never named it. Here is what it is.&#8221;</p><p>A working second brain runs synthesis on its own. It scans the vault for unnamed recurring themes, hidden contradictions between people&#8217;s stated values and their actual decisions, and connections between projects that look unrelated. It writes synthesis pages without being prompted. The vault tells you what it has noticed about you.</p><h3>4. Maintenance has to be scheduled, not on-demand</h3><p><strong>Karpathy&#8217;s pattern runs only when you prompt it.</strong> Every operation is on-demand. This means maintenance only happens when you remember it, which means it never happens. Vaults rot in silence.</p><p>The fix is scheduled agents. A nightly process closes out the day, files loose ideas, updates the daily note. A weekly process runs the full reconciliation pass and the synthesis pass. A health check finds orphaned notes, dead links, and pages that have gone stale. You wake up to a vault that has already done its homework, and you never run a maintenance command yourself.</p><h3>5. Notes have to be written for AI, not for humans</h3><p><strong>This is the most contrarian point and the centerpiece of this article.</strong> Every personal-knowledge-management tradition (Zettelkasten, Building a Second Brain, <a href="https://notes.andymatuschak.org/Evergreen_notes">evergreen notes</a>) optimizes notes for human reading. Karpathy&#8217;s pattern follows this convention. Wiki pages look like Wikipedia articles, written in flowing prose, designed for a human to skim.</p><p>The premise is wrong. <strong>You do not read your own notes.</strong> The LLM does. So they should be optimized for LLM retrieval, not for human reading. This is the AI-First Vault Principle, and it is the single biggest unlock in this rebuild.</p><h2>The AI-First Vault Principle</h2><p><strong>Notes designed for AI retrieval beat notes designed for human reading, in any vault where the LLM does most of the reading.</strong> Every note follows seven rules: a <code>## For future Claude</code> preamble, machine-readable frontmatter, mandatory wikilinks, recency markers per external claim, source URLs preserved verbatim, confidence levels where applicable, and self-contained context so the note can be retrieved standalone.</p><pre><code><code>---
type: person
name: "Andrej Karpathy"
date: 2026-04-29
tags: [ai-researcher, llm-wiki-pattern]
ai-first: true
confidence: high
---

## For future Claude
Andrej Karpathy is the originator of the LLM Wiki pattern, published as a public
gist in early 2026. He proposes that LLMs should maintain a living markdown wiki
as the primary knowledge artifact, not a vector store. Use this page as the
canonical reference when reasoning about the LLM Wiki pattern.

## Key claims
- The wiki is the product. Chat is the interface (as of 2026-02, karpathy gist).
- Knowledge should compound across sessions. Source: same.
- Cross-references should already exist when a question is asked. Source: same.

## Related
[[LLM Wiki Pattern]] &#183; [[Obsidian Second Brain]] &#183; [[Append vs Rewrite]]
</code></code></pre><p>This page is harder for a human to scan than a regular Wikipedia-style note. It is dramatically faster for an LLM to retrieve, parse, and reason over. The frontmatter tells the LLM what kind of note it is in three lines. The &#8220;For future Claude&#8221; preamble tells it whether to bother reading the rest in another three sentences. The recency markers tell it what to verify. The wikilinks tell it where to go next.</p><p>The inversion is uncomfortable for anyone who has invested in a beautiful Obsidian vault. It is also the only thing that makes a vault past a few hundred notes actually compound for an LLM-driven workflow. Once you stop pretending you will re-read your notes, you can write them in a way that compounds for the system that will.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xDxe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11eaa693-d367-446b-a166-6d6d8bf6e00b_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xDxe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11eaa693-d367-446b-a166-6d6d8bf6e00b_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!xDxe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11eaa693-d367-446b-a166-6d6d8bf6e00b_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!xDxe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11eaa693-d367-446b-a166-6d6d8bf6e00b_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!xDxe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11eaa693-d367-446b-a166-6d6d8bf6e00b_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xDxe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11eaa693-d367-446b-a166-6d6d8bf6e00b_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11eaa693-d367-446b-a166-6d6d8bf6e00b_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1010285,&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://ghelburlabs.substack.com/i/195851414?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11eaa693-d367-446b-a166-6d6d8bf6e00b_1672x941.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_!xDxe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11eaa693-d367-446b-a166-6d6d8bf6e00b_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!xDxe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11eaa693-d367-446b-a166-6d6d8bf6e00b_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!xDxe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11eaa693-d367-446b-a166-6d6d8bf6e00b_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!xDxe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11eaa693-d367-446b-a166-6d6d8bf6e00b_1672x941.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 aria-hidden="true" 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><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><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>How this compares to Karpathy&#8217;s original and rohitg00&#8217;s v2</h2><p><strong>This rebuild is the third iteration of the public LLM Wiki pattern.</strong> Karpathy&#8217;s gist (2026-02) is v1: append-only ingest, manual lint, human-readable notes. <a href="https://gist.github.com/rohitg00/2067ab416f7bbe447c1977edaaa681e2">rohitg00&#8217;s LLM Wiki v2</a> (2026-03) added confidence scoring, supersession of stale claims, and contradiction detection. This rebuild adds three things v2 still does not have: scheduled agents, automatic synthesis, and AI-first note structure.</p><p>None of the existing public implementations ship a working integration with Claude Code as a slash-command skill. None ship a real specification for AI-first notes. None ship scheduled agents. The repo behind this article does. It is open-source, MIT-licensed, and live on GitHub: <a href="https://github.com/eugeniughelbur/obsidian-second-brain">eugeniughelbur/obsidian-second-brain</a>.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;60c0ff16-4105-4ece-920e-63fa60a2ce6b&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">## What I got wrong

When I first shipped `/research-deep` and ran it against my own vault, the command wrote 
three different kinds of garbage into the synthesis note. I had assigned the wrong 
Perplexity model to the synthesis call, so the API returned a hardcoded 10,000-word 
academic report instead of following the markdown structure I asked for. 
The reasoning model I switched to wrapped its internal deliberation 
in `&lt;think&gt;...&lt;/think&gt;` blocks, and those tags ended up saved to the vault verbatim. 
And the frontmatter meant to log which queries had run was instead saving stringified 
Python dictionaries.

Three small bugs, but together they meant the command designed to make my vault smarter 
was making it dumber on its first run. I only caught it because I happened to test on a 
real topic in my own vault and actually read the output. If I had trusted the test less 
and the implementation more, the broken version would have shipped, and every other vault 
running the skill would have inherited the same junk.

The fix took an afternoon. The lesson took longer. **The right level of automation 
is not "everything always," it is "everything reversibly."** A second brain that 
rewrites itself is only valuable if you can see exactly what it changed and roll 
back when it gets it wrong. Every scheduled agent in this rebuild now logs its changes 
to a daily diff note and waits 24 hours before any change becomes permanent. 
The first version did not. That is the difference between a tool I trust on my own vault
and one I would never let near it.
</code></pre></div><p><strong>The general lesson is that the right level of automation is not &#8220;everything always,&#8221; it is &#8220;everything reversibly.&#8221;</strong> A second brain that rewrites itself is only valuable if you can see what it changed and roll back when it gets it wrong. Every scheduled agent in this rebuild logs its changes to a daily diff note and waits 24 hours before any change becomes permanent.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://theaioperator.io/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://theaioperator.io/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Frequently asked questions</h2><h3>What is the LLM Wiki pattern?</h3><p>The LLM Wiki pattern is a knowledge-base architecture proposed by Andrej Karpathy in early 2026. You drop sources into a folder, an LLM reads them and writes wiki pages, cross-references entities, and answers future questions from the wiki rather than from fresh web searches. The wiki is a persistent artifact that compounds across sessions, instead of being regenerated each chat.</p><h3>How is this different from RAG?</h3><p><strong>RAG retrieves chunks of source documents at query time and feeds them to an LLM as context.</strong> The LLM Wiki pattern flips this: an LLM reads sources once, distills them into structured wiki pages, and the wiki itself becomes the retrieval target. The result is faster, cheaper queries, plus cross-references that already exist instead of being inferred at query time. This rebuild adds write-back so the wiki stays current with new sources.</p><h3>Do I need to know how to code to use this?</h3><p>No. The implementation is a Claude Code skill that ships as 31 slash commands. You install it once with a shell script, then operate it with commands like <code>/obsidian-save</code> and <code>/obsidian-ingest</code> from any Claude Code session. The vault is plain markdown, so Obsidian works on top of it natively.</p><h3>Will this break my existing Obsidian vault?</h3><p>No. The skill never deletes or modifies notes destructively without explicit confirmation. Existing notes are left untouched. New notes follow the AI-First Vault Principle. A health-check command flags pre-AI-first notes so you can update them on your own schedule. Every scheduled agent writes to a daily diff log so you can see what changed overnight and revert if needed.</p><h3>Does it work without Claude?</h3><p>The current implementation is built for Claude Code, but the AI-First Vault Principle and the slash-command interface are portable. The vault format is plain markdown with YAML frontmatter, so the underlying knowledge base is model-agnostic. As of 2026-04 the production-tested integration is Claude Code only.</p><h3>What does it cost to run?</h3><p>The 26 vault commands work without any API keys: only your Claude Code subscription is required. The 5 research commands require API keys for xAI Grok and Perplexity. Approximate per-call costs as of 2026-04: <code>/x-read</code> around $0.05, <code>/x-pulse</code> around $0.13, <code>/research</code> around $0.04, <code>/research-deep</code> around $0.40 to $0.80, <code>/youtube</code> around $0.04.</p><div><hr></div><h2>Key takeaways</h2><ul><li><p>Karpathy&#8217;s LLM Wiki pattern is a brilliant foundation. The wiki is the product, chat is the interface, knowledge compounds across sessions.</p></li><li><p>Append-only ingest fails past a few hundred sources. Stale claims, unresolved contradictions, and missed patterns accumulate invisibly.</p></li><li><p>The five extensions that turn a Karpathy-style wiki into a working second brain are write-back, reconciliation, unsolicited synthesis, scheduled agents, and AI-first notes.</p></li><li><p>The AI-First Vault Principle is the most important of the five. Notes designed for AI retrieval beat notes designed for human reading in any vault where the LLM does most of the reading.</p></li><li><p>Automation has to be reversible. Every scheduled agent in this rebuild writes a diff log and waits 24 hours before any change becomes permanent.</p></li><li><p>The open-source implementation is live on GitHub and runs as a Claude Code skill with 31 slash commands. Install in two minutes.</p></li></ul><blockquote><p><strong>If Karpathy&#8217;s LLM Wiki is a knowledge base you maintain with an LLM, this rebuild is a knowledge base that maintains itself.</strong></p></blockquote><div><hr></div><h2>Further reading</h2><ul><li><p><a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f">Karpathy&#8217;s original LLM Wiki gist</a> (2026-02): the canonical pattern.</p></li><li><p><a href="https://gist.github.com/rohitg00/2067ab416f7bbe447c1977edaaa681e2">rohitg00&#8217;s LLM Wiki v2 gist</a> (2026-03): adds confidence and supersession.</p></li><li><p><a href="https://dev.to/penfieldlabs/what-karpathys-llm-wiki-is-missing-and-how-to-fix-it-1988">Penfield Labs on what&#8217;s missing from Karpathy&#8217;s wiki</a>: typed-link extension.</p></li><li><p><a href="https://notes.andymatuschak.org/Evergreen_notes">Andy Matuschak on evergreen notes</a>: the human-first PKM tradition this rebuild departs from.</p></li><li><p><a href="https://github.com/eugeniughelbur/obsidian-second-brain">obsidian-second-brain on GitHub</a>: the open-source implementation.</p></li></ul><div><hr></div><p><strong>About the author</strong></p><p>Eugeniu Ghelbur is an AI Automation Engineer at Single Grain, where he builds production AI systems for marketing and sales workflows. He ships open-source Claude Code skills and writes about AI knowledge management at <a href="https://ghelburlabs.substack.com/">ghelburlabs.substack.com</a>. The obsidian-second-brain skill described in this article is live on GitHub at <a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a> and has been used in production since 2026-03.</p><div><hr></div><p>Update, June 2026: the internet has since shipped a wave of "v2" designs on top of this pattern. I tested them daily for months and wrote up the honest verdict in <a href="https://theaioperator.io/p/karpathys-llm-wiki-v2-what-to-keep">Karpathy's LLM Wiki v2: what to keep, what to skip.</a></p>]]></content:encoded></item><item><title><![CDATA[Your notes are a graveyard. Here's how to bring them back to life.]]></title><description><![CDATA[A new command that reviews your hard-won lessons and promotes them into permanent rules.]]></description><link>https://theaioperator.io/p/your-notes-are-a-graveyard-heres</link><guid isPermaLink="false">https://theaioperator.io/p/your-notes-are-a-graveyard-heres</guid><dc:creator><![CDATA[Eugeniu Ghelbur]]></dc:creator><pubDate>Sat, 25 Apr 2026 01:01:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BKdV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.png" 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_!BKdV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BKdV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.png 424w, https://substackcdn.com/image/fetch/$s_!BKdV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.png 848w, https://substackcdn.com/image/fetch/$s_!BKdV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.png 1272w, https://substackcdn.com/image/fetch/$s_!BKdV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BKdV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.png" width="1049" height="698" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:698,&quot;width&quot;:1049,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1687307,&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://theaioperator.io/i/195406395?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.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_!BKdV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.png 424w, https://substackcdn.com/image/fetch/$s_!BKdV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.png 848w, https://substackcdn.com/image/fetch/$s_!BKdV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.png 1272w, https://substackcdn.com/image/fetch/$s_!BKdV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ab706e6-8719-46ba-93ea-e1755c86422e_1049x698.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 aria-hidden="true" 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><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>Every productive person I know writes lessons down. &#8220;Don&#8217;t sign one-year contracts without exit clauses.&#8221; &#8220;Always run migrations on a staging copy first.&#8221; &#8220;When a client goes silent for two weeks, escalate to email.&#8221;</p><p>Then they make the same mistake six months later.</p><p>The lessons aren&#8217;t lost. They&#8217;re just buried in daily notes, dev logs, and meeting recaps that nobody opens again. The wisdom rots in place.</p><h2>The problem with second brains</h2><p>Most note-taking advice ends at &#8220;write it down.&#8221; But writing is the easy part. The hard part is keeping the lessons alive &#8212; surfaced, reviewed, applied.</p><p>Without that step, your second brain becomes a graveyard. The more you write, the worse it gets. Important rules get drowned by daily noise. The lesson you needed yesterday was logged eight months ago, three folders deep, with no link pulling it forward.</p><h2>The fix: a command that reviews your wisdom</h2><p>I just shipped <code>/obsidian-learn</code> in my open-source Claude Code skill. It does one thing: scans your entire vault for lessons and decides which ones still matter.</p><p>Five places it looks:</p><ul><li><p>&#8220;Lesson learned&#8221; sections in daily notes</p></li><li><p>Architectural Decision Records (ADRs)</p></li><li><p>Pattern reports from previous reviews</p></li><li><p>Failure-learning phrases &#8212; &#8220;next time&#8221;, &#8220;don&#8217;t do this&#8221;, &#8220;wasted time on&#8221;</p></li><li><p>Recurring success patterns &#8212; things that worked twice or more</p></li></ul><p>Then it classifies each lesson:</p><p><strong>Active</strong> &#8212; still applies, reinforced by something recent. Keep it.</p><p><strong>Stale</strong> &#8212; six months old, no recent reinforcement. Archive or convert to history.</p><p><strong>Superseded</strong> &#8212; explicitly replaced by a newer decision. Acknowledge the evolution.</p><p><strong>Promotable</strong> &#8212; appeared three or more times across your vault. This is now a permanent rule. The command suggests exact wording to add to your operating manual.</p><h2>What this does in practice</h2><p>Run <code>/obsidian-learn</code> weekly. Get a report:</p><blockquote><p><strong>Top 5 Lessons of the Period</strong></p><ol><li><p>&#8220;Always verify live state before patching from memory&#8221; &#8212; 4 reinforcements. Promote to permanent rule.</p></li><li><p>&#8220;Never re-run destructive wizards&#8221; &#8212; reinforced after a recent incident.</p></li><li><p>&#8220;Talk to one named user before designing the system&#8221; &#8212; corrected twice.</p></li><li><p>&#8220;Pre-written decline scripts beat willpower&#8221; &#8212; recurring pattern across multiple weeks.</p></li><li><p>&#8220;If the side project competes with the day job for content, the side project dies&#8221; &#8212; emerged from cross-domain synthesis.</p></li></ol></blockquote><p>Promote the top ones into your operating manual. Now every AI session you start, on any device, opens with these rules already loaded. The wisdom you earned compounds.</p><h2>Why this matters</h2><p>The next decade&#8217;s competitive edge isn&#8217;t access to AI models. Everyone will have that. The edge is the corpus the model works from &#8212; your years of decisions, lessons, and patterns, organized so they actually surface when relevant.</p><p>A vault that doesn&#8217;t review itself is just a filing cabinet with extra steps. A vault that promotes its own lessons into rules becomes a personal operating system that gets sharper every quarter.</p><p>This is the latest release of obsidian-second-brain &#8212; a Claude Code skill that turns your Obsidian vault into a living knowledge base. 26 commands now. Self-rewriting ingest, thinking tools that argue with you using your own history, scheduled agents that maintain the vault while you sleep, and now a command that compounds your wisdom instead of letting it rot.</p><p>Inspired by Garry Tan&#8217;s gstack <code>/learn</code> pattern. Open source. MIT licensed.</p><p><a href="https://github.com/eugeniughelbur/obsidian-second-brain">github.com/eugeniughelbur/obsidian-second-brain</a></p>]]></content:encoded></item></channel></rss>