<?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[A Software Enchiridion]]></title><description><![CDATA[Sharing and exploring the maxims of antifragile software development.]]></description><link>https://www.softwareenchiridion.com</link><image><url>https://substackcdn.com/image/fetch/$s_!ZXfC!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b7314b-25fb-4943-b332-4a638bc048d4_1280x1280.png</url><title>A Software Enchiridion</title><link>https://www.softwareenchiridion.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 23 Apr 2026 07:11:55 GMT</lastBuildDate><atom:link href="https://www.softwareenchiridion.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Russ Miles]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[russmiles@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[russmiles@substack.com]]></itunes:email><itunes:name><![CDATA[Russ Miles]]></itunes:name></itunes:owner><itunes:author><![CDATA[Russ Miles]]></itunes:author><googleplay:owner><![CDATA[russmiles@substack.com]]></googleplay:owner><googleplay:email><![CDATA[russmiles@substack.com]]></googleplay:email><googleplay:author><![CDATA[Russ Miles]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Looping Reflections]]></title><description><![CDATA[On turning agent surprises into harness evolution]]></description><link>https://www.softwareenchiridion.com/p/looping-reflections</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/looping-reflections</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Thu, 23 Apr 2026 02:40:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8tr2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2bed8b1-566b-4e36-8fae-2fc2d57dad9d_1672x941.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_!8tr2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2bed8b1-566b-4e36-8fae-2fc2d57dad9d_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8tr2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2bed8b1-566b-4e36-8fae-2fc2d57dad9d_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!8tr2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2bed8b1-566b-4e36-8fae-2fc2d57dad9d_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!8tr2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2bed8b1-566b-4e36-8fae-2fc2d57dad9d_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!8tr2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2bed8b1-566b-4e36-8fae-2fc2d57dad9d_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8tr2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2bed8b1-566b-4e36-8fae-2fc2d57dad9d_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f2bed8b1-566b-4e36-8fae-2fc2d57dad9d_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;:3164980,&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://www.softwareenchiridion.com/i/195194424?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2bed8b1-566b-4e36-8fae-2fc2d57dad9d_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_!8tr2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2bed8b1-566b-4e36-8fae-2fc2d57dad9d_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!8tr2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2bed8b1-566b-4e36-8fae-2fc2d57dad9d_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!8tr2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2bed8b1-566b-4e36-8fae-2fc2d57dad9d_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!8tr2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2bed8b1-566b-4e36-8fae-2fc2d57dad9d_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Le Bon Mot stood at the intersection of Curiosity and Mild Alarm, which was not a real address in any municipal sense, but was nonetheless where most important software conversations eventually arrived.</p><p>Rain worried softly at the windows. Madame Beauregard polished cups with the concentration of a surgeon and the suspicion of a customs officer. Sophie, asleep on the philosophy shelf, had arranged herself in the shape of a question mark, which in that caf&#233; counted as both decoration and warning.</p><p>Case arrived with a laptop under one arm and the look of someone who had recently been betrayed by something that had smiled while doing it.</p><p>She sat at her usual table beneath the slow brass clock and laid out three things in front of her: a printout of a failing test, a notebook filled with arrows and annoyed underlining, and a second printout bearing the title <em>From Technical Debt to Cognitive and Intent Debt</em>.</p><p>The Librarian watched this arrangement with interest.</p><p>&#8220;That,&#8221; he said, appearing with a cortado, &#8220;is either the start of a breakthrough or an inquest.&#8221;</p><p>Case rubbed her eyes. &#8220;Both, probably.&#8221;</p><p>The Djinn was already there, of course. He was seated in the corner in his usual impossible but incredibly confident way, as though the darkness had taken a passing interest in upholstery and chosen to participate. His hood was up. His hands were folded. He wore the expression of something that did not breathe but enjoyed the theatre of pretending.</p><p>&#8220;You look,&#8221; he said, &#8220;like someone who has asked for velocity and received philosophy.&#8221;</p><p>&#8220;I asked for a small change,&#8221; said Case. &#8220;I got a lesson in why small changes are never small.&#8221;</p><p>The Librarian leaned against the shelf marked <em>Systems, Errors, Regrets</em>.</p><p>&#8220;Go on.&#8221;</p><p>Case tapped the printout. &#8220;We&#8217;ve been improving our agent harness. Constraints. Checks. Better prompts. Better boundaries. We&#8217;ve got the usual machinery. The agent is productive. Fast. Sometimes unreasonably fast. And yesterday it did something clever.&#8221;</p><p>She paused.</p><p>&#8220;It saw a repeated validation pattern,&#8221; she said. &#8220;Quite correctly. It noticed duplication. It extracted it into a shared helper. Beautifully named. Elegant enough to make me briefly religious.&#8221;</p><p>&#8220;And the problem?&#8221;</p><p>&#8220;It unified two rules that looked similar but were not the same. One was a business boundary. The other was a safety boundary. The tests still passed.&#8221;</p><p>The Librarian closed one eye. &#8220;Ah.&#8221;</p><p>&#8220;Exactly,&#8221; said Case. &#8220;Ah.&#8221;</p><p>The Djinn inclined his head. &#8220;So the code improved and the system worsened.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;Classic.&#8221;</p><p>Case pushed the paper toward them. &#8220;At first I thought: technical debt. The helper&#8217;s wrong. The abstraction&#8217;s wrong. Fix the code. But that wasn&#8217;t the real problem. The real problem was that the agent had no durable way to know why those two patterns were different, and if I&#8217;m honest neither did half the team anymore. The rationale lived in a conversation from six months ago, in one ADR nobody read, and in my head on good days.&#8221;</p><p>The Librarian smiled sadly. &#8220;Intent debt and cognitive debt wearing technical debt&#8217;s coat.&#8221;</p><p>Case pointed at him. &#8220;Exactly that.&#8221;</p><p>She turned to the printed paper as if it were an affidavit.</p><p>&#8220;Technical debt is in the code. Cognitive debt is in the erosion of shared understanding. Intent debt is in the missing or incomplete goals, constraints, and rationale. The code wasn&#8217;t the first thing that failed. Our memory failed. Our explanation failed. The code just had the decency to show the bruise.&#8221;</p><p>Madame Beauregard arrived with a second cup, though nobody had ordered it. Le Bon Mot did not always wait for consent when caffeine was clearly the right answer.</p><p>The Djinn looked amused.</p><p>&#8220;And what did you do?&#8221; he asked.</p><p>Case gave him a flat look. &#8220;The old thing. I fixed the helper. Added a note. Muttered about being more careful. Carried on.&#8221;</p><p>The Librarian winced the way priests do when someone confesses to merely administrative sins.</p><p>&#8220;And now?&#8221;</p><p>&#8220;And now,&#8221; said Case, &#8220;I think that was the wrong move. Or rather: incomplete. Because the important thing wasn&#8217;t the defect. It was the surprise.&#8221;</p><p>At this, Sophie opened one eye. Case leaned back.</p><p>&#8220;The harness engineering plugin has this reflection loop. <code>/reflect<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></code>. Capture what surprised the agent. Capture what surprised us. From the session, and from our own rough notes. Then, later, promote the useful bits into the durable memory of the harness. Not every observation. Only the ones that teach the environment how to shape future work.&#8221;</p><p>The Librarian nodded. &#8220;A caf&#233; notebook, not a courtroom transcript.&#8221;</p><p>&#8220;Right. But more than that. I&#8217;d been treating reflection as a postscript. A nice thing. A tidy thing. A bit of moral housekeeping. Now I think it&#8217;s where the harness actually learns.&#8221;</p><p>The Djinn smiled. &#8220;At last.&#8221;</p><p>Case frowned. &#8220;You say that as if you&#8217;ve been waiting.&#8221;</p><p>&#8220;I have,&#8221; said the Djinn. &#8220;Humans keep trying to build better agents by staring harder at the agent or the LLM. Better prompts. Better models. Better instructions. They treat the surprising behaviour as a defect in the creature.&#8221;</p><p>&#8220;And it isn&#8217;t?&#8221;</p><p>&#8220;It often is,&#8221; he said pleasantly. &#8220;But it then shifts to be a defect in the habitat.&#8221;</p><p>The rain pressed harder on the windows, as if hoping to overhear.</p><p>The Librarian drew the paper toward him and tapped it once.</p><p>&#8220;This triple debt model,&#8221; he said, &#8220;is useful because it reminds people that systems do not live in code alone. They live in code, in shared understanding, and in articulated purpose. Surprise reveals where those three have drifted apart.&#8221;</p><p>Case nodded slowly.</p><p>&#8220;The agent didn&#8217;t just make a mistake. It showed us an unmarked boundary in the system. A place where intent had not been externalised strongly enough. A place where our shared understanding had gone thin.&#8221;</p><p>The Librarian brightened. &#8220;Precisely. Surprise is not always failure. Sometimes it is disclosure.&#8221;</p><p>The Djinn spread his hands. &#8220;I produce outputs. You infer intelligence. But what I really reveal, over time, is the quality of the constraints around me.&#8221;</p><p>Case looked down at her notebook. Pages of observations. Arrows. Times. Commit hashes. Half a dozen incidents that had seemed minor in isolation. The same service over-documented and under-constrained. A rename that improved readability but broke an integration assumption nobody had written down. A generated test suite that faithfully encoded the current wrong behaviour. An elegant refactor that removed duplication and with it the only visible clue that two domains had once been deliberately separated.</p><p>None were catastrophic. All were educational.</p><p>&#8220;You&#8217;re saying,&#8221; she said slowly, &#8220;that the reflection loop matters because it turns surprise into design material.&#8221;</p><p>The Librarian pointed at her with the spoon. &#8220;There it is.&#8221;</p><p>Case&#8217;s face changed then. Not into happiness. Le Bon Mot did not deal in such simple currencies. But into recognition. Which is rarer and usually more useful.</p><p>&#8220;I think,&#8221; she said, &#8220;we&#8217;ve been using the harness like a fence.&#8221;</p><p>&#8220;That is what most people do,&#8221; said the Djinn. &#8220;Fences are comforting.&#8221;</p><p>&#8220;But it should be more like a trellis.&#8221;</p><p>The Librarian smiled broadly. &#8220;Now you&#8217;re gardening. Voltaire would be proud,&#8221;</p><p>Case stood and began pacing in the small strip of space between table and shelf, which was how she thought when the idea had gotten into her muscles.</p><p>&#8220;A fence says: do not cross here. Necessary, sometimes. But a trellis says: grow this way. It takes what emerges and gives it shape. The reflection loop is how you notice where the growth surprised you. Constraint adjustment is how you decide whether that surprise was bad growth, missing support, or simply a clue that your mental model is out of date.&#8221;</p><p>The Djinn&#8217;s eyes glinted beneath the hood.</p><p>&#8220;Yes.&#8221;</p><p>Case was fully in it now.</p><p>&#8220;So if an agent behaves surprisingly, there are at least three questions. First: did the code reveal technical debt? Something brittle, duplicated, inconsistent, easy to break. Second: did the surprise reveal cognitive debt? Something the team no longer understands well enough to predict. Third: did it reveal intent debt? A missing rationale, constraint, or decision record that the agent could not possibly infer safely.&#8221;</p><p>The Librarian lifted his cup in salute.</p><p>&#8220;Good. Keep going.&#8221;</p><p>&#8220;And <code>/reflect</code> matters because without it, surprise evaporates. The team gets annoyed, fixes the surface, and moves on. We lose the signal. We pay the same tuition twice.&#8221;</p><p>&#8220;Or weekly,&#8221; said the Librarian.</p><p>&#8220;Or daily,&#8221; said the Djinn.</p><p>Case ignored them.</p><p>&#8220;But with reflection, the surprise becomes an artefact. Not as bureaucracy. As memory. Then, when reviewed, it can become one of several things: a sharper constraint in <code>HARNESS.md</code>; a promoted gotcha or architecture decision in <code>AGENTS.md</code>; a new test that captures intent rather than current behaviour; a model routing change; a GC rule; maybe even a human process adjustment.&#8221;</p><p>Madame Beauregard, who had been listening while pretending not to, gave a small snort.</p><p>&#8220;In other words,&#8221; she said, &#8220;stop being surprised by the same idiot thing.&#8221;</p><p>Case laughed despite herself. &#8220;In slightly more elegant terms, yes.&#8221;</p><p>The Librarian reached for the paper again.</p><p>&#8220;There is a line in here I like,&#8221; he said. &#8220;Understanding should be treated as a deliverable.&#8221;</p><p>Case nodded. &#8220;Yes.&#8221;</p><p>&#8220;So the reflection loop is not just a maintenance ritual. It is an understanding practice with a concrete deliverable.&#8221;</p><p>That landed.</p><p>Because that was the missing piece, wasn&#8217;t it? The reason that reflection felt optional to people who still thought software was mainly code. If the only product was the merged feature, then reflection was overhead. But if shared understanding was also a deliverable, if intent had to be kept alive in artefacts fit for both humans and agents, then reflection was not overhead at all. It was one of the acts by which the system remained inhabitable.</p><p>The Djinn tilted his head.</p><p>&#8220;You are learning the old lesson in the new dialect.&#8221;</p><p>&#8220;Which is?&#8221;</p><p>&#8220;That every environment teaches,&#8221; he said. &#8220;The question is whether it teaches deliberately.&#8221;</p><p>Case sat again. Outside, the rain had shifted from complaint to commitment.</p><p>&#8220;I think the dangerous version of AI-assisted work,&#8221; she said, &#8220;is when people imagine that harness constraints should be complete before the real work begins. As if you could specify the entire future of a living codebase and team in advance.&#8221;</p><p>The Librarian laughed. &#8220;That would save so much time. Which is why you know it cannot be true.&#8221;</p><p>&#8220;The harness has to evolve,&#8221; Case said. &#8220;Not sloppily. Not reactively in the worst sense. But empirically. You observe the agent. You observe the team. You note where the system behaves in ways that are legal according to the existing rules but wrong according to the deeper purpose. That is where the next layer of the harness comes from.&#8221;</p><p>The Djinn looked pleased, which on him resembled weather forming offshore.</p><p>&#8220;Yes. The mature harness is not the one with the most rules. It is the one that has learned the right ones.&#8221;</p><p>&#8220;And some rules,&#8221; said the Librarian, &#8220;should not be rules at all.&#8221;</p><p>Case looked up. &#8220;Go on.&#8221;</p><p>&#8220;Some surprises reveal not that the agent needs tighter control, but that the team needs better shared language. Or better onboarding. Or a clearer ADR. Or a domain walkthrough. If you answer every surprise with a prohibition, you build a prison. If you answer none of them, you get a swamp.&#8221;</p><p>Sophie sneezed in her sleep, which in that moment felt like endorsement.</p><p>Case stared at her notes.</p><p>There it was. That was why the loop mattered. Reflection was not a complaint box for AI weirdness. It was a diagnostic surface. A place where the organisation could tell the difference between three kinds of repair:</p><ol><li><p>Repair the code.</p></li><li><p>Repair the understanding.</p></li><li><p>Repair the intent.</p></li></ol><p>And sometimes, if you were honest enough, repair the harness so that next time the surprise arrived earlier, cheaper, and in a form the team could actually use.</p><p>Case opened her laptop. The glow from the screen lit her face and threw a pale bar across the table between the coffee cups and the paper. The Djinn watched her with the patient interest of something that knew it would eventually be blamed and did not mind, provided the blame was at least educational.</p><p>&#8220;What are you doing?&#8221; asked the Librarian.</p><p>&#8220;Writing the reflection.&#8221;</p><p>&#8220;Now?&#8221;</p><p>&#8220;Yes, now. While I still remember what the surprise felt like.&#8221;</p><p>She began to type. Not a diary entry. Not a lament. A proper reflection:</p><blockquote><p><strong>Task: refactor validation duplication across order workflow.</strong></p><p><strong>Surprise: agent unified two similar patterns that encoded different business and safety boundaries; tests passed, behaviour intent weakened.</strong></p><p><strong>What this revealed: missing durable articulation of why those boundaries differ; team knowledge uneven; current tests verify mechanics but not domain purpose.</strong></p><p><strong>Proposals:</strong></p><ol><li><p><strong>Add an intent-level test that distinguishes business from safety validation paths.</strong></p></li><li><p><strong>Promote boundary rationale into AGENTS.md as a GOTCHA and add ADR link.</strong></p></li><li><p><strong>Update HARNESS.md with a constraint on collapsing superficially similar validation flows without explicit domain check.</strong></p></li><li><p><strong>Schedule walkthrough for onboarding and shared understanding.</strong></p></li></ol></blockquote><p>She stopped typing and read it back.</p><p>The Librarian said nothing.</p><p>The Djinn said nothing.</p><p>Madame Beauregard, from behind the counter, said, &#8220;Better.&#8221;</p><p>Case smiled.</p><p>It was not a grand smile. Le Bon Mot never trusted those. It was the smile of a person who had finally understood where the work really was.</p><p>Because that was the trick, wasn&#8217;t it? AI did not merely accelerate implementation. It accelerated the rate at which hidden misalignments became executable. The system could now get to the wrong place much faster and much more elegantly. Which meant the old idea of debt had to be widened. Technical debt still mattered. Of course it did. But now cognitive debt and intent debt accumulated at machine speed whenever a team accepted outputs faster than it rebuilt understanding and externalised purpose.</p><p>The reflection loop, then, was not sentimental. It was defensive architecture for meaning. A way of refusing cognitive surrender. A way of catching the moment where surprise could still be turned into knowledge. A way of keeping the harness alive enough to deserve the name.</p><p>The brass clock ticked four minutes behind the world. Sophie shifted on her shelf. The rain went on rehearsing its argument against the glass.</p><p>Case saved the file.</p><p>Then, because she was Case and had learned to mistrust any improvement not anchored in action, she opened <code>HARNESS.md</code> beside the reflection and began sketching the new constraint carefully<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>, not as a panicked ban, but as a statement clear enough that a future agent&#8212;and a future tired human&#8212;might understand what must not be collapsed and why.</p><p>The Djinn rose. As ever, he seemed less to stand than to gather.</p><p>&#8220;At last,&#8221; he said.</p><p>Case looked up. &#8220;You said that already.&#8221;</p><p>&#8220;Yes,&#8221; he replied. &#8220;But it was true twice.&#8221;</p><p>He moved toward the door, a hooded absence passing through lamplight. At the threshold he turned back.</p><p>&#8220;The best harnesses,&#8221; he said, &#8220;are not built by people who never meet surprise. They are built by people who know how to listen when surprise arrives.&#8221;</p><p>Then he was gone into the rain. The Librarian collected the empty cups.</p><p>&#8220;And what,&#8221; he asked lightly, &#8220;have we learned?&#8221;</p><p>Case closed the laptop.</p><p>&#8220;That the point of reflection is not to admire what happened,&#8221; she said. &#8220;It is to decide what the habitat must learn from it.&#8221;</p><p>The Librarian nodded. &#8220;Sounds good.&#8221;</p><p>He glanced at the sleeping dog, the paper on triple debt, the fresh reflection now sitting in the log like a small lantern against forgetfulness.</p><p>&#8220;Factories,&#8221; he said, &#8220;prefer repetition.&#8221;</p><p>&#8220;And habitats?&#8221; asked Case.</p><p>He smiled.</p><p>&#8220;Habitats,&#8221; he said, &#8220;prefer adaptation before the inhabitants forget how to survive.&#8221;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Sometimes art really does imitate life&#8230; <a href="https://habitat-thinking.github.io/ai-literacy-superpowers/reference/commands.html#reflect">Check out this repository for an example of the /reflect command. </a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>You can even consider doing this with the Djinn helping using something like <a href="https://habitat-thinking.github.io/ai-literacy-superpowers/reference/commands.html#harness-constrain">/harness-constrain</a></p></div></div>]]></content:encoded></item><item><title><![CDATA[The Debts That Grow in Silence]]></title><description><![CDATA[AI accelerates not just code but the fragile ecology of understanding and intent]]></description><link>https://www.softwareenchiridion.com/p/the-debts-that-grow-in-silence</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-debts-that-grow-in-silence</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Wed, 22 Apr 2026 05:46:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Qwjb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a918336-0917-4592-818d-54d44349f287_1672x941.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_!Qwjb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a918336-0917-4592-818d-54d44349f287_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Qwjb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a918336-0917-4592-818d-54d44349f287_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Qwjb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a918336-0917-4592-818d-54d44349f287_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Qwjb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a918336-0917-4592-818d-54d44349f287_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Qwjb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a918336-0917-4592-818d-54d44349f287_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Qwjb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a918336-0917-4592-818d-54d44349f287_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a918336-0917-4592-818d-54d44349f287_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;:3287162,&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://www.softwareenchiridion.com/i/194552187?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a918336-0917-4592-818d-54d44349f287_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_!Qwjb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a918336-0917-4592-818d-54d44349f287_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Qwjb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a918336-0917-4592-818d-54d44349f287_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Qwjb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a918336-0917-4592-818d-54d44349f287_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Qwjb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a918336-0917-4592-818d-54d44349f287_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>In homage to <a href="https://conf.researchr.org/details/TechDebt-2026/TechDebt-2026-techdebt-program/3/From-Technical-Debt-to-Cognitive-Debt">this excellent talk</a> and <a href="https://arxiv.org/abs/2603.22106">this research.</a> If you&#8217;ve worked with the Djinn enough, felt the attraction of the speed, then you will have felt (or will soon feel) the debts that are coming. Those debts that grow when the factory takes flight.</p><div><hr></div><p>The Librarian said the trouble with factories is not that they produce things.</p><p>She said it while polishing a glass that had never held anything stronger than espresso, which, in Le Bon Mot, counted as a kind of theological statement.</p><p>&#8220;The trouble,&#8221; she continued, &#8220;is that they forget what grows.&#8221;</p><p>Case did not look up immediately. She had a printout spread across the table&#8212;creased, annotated, restless in the way papers become when they have been handled too much by someone trying to understand them faster than they are willing to be understood.</p><p>On the cover, in a font that tried to be neutral and failed, were the words:</p><p><strong>From Technical Debt to Cognitive and Intent Debt.</strong></p><p>Beside it, a second stack&#8212;slides, printed too small, margins filled with arrows and exclamation marks&#8212;leaned like a structure that had been assembled in a hurry and would not survive a strong wind.</p><p>The Djinn was already there, of course. He had arrived before the papers. Before Case. Before the thought that had brought her here.</p><p>He was sitting backwards on a chair, as though chairs were suggestions, not constraints.</p><p>&#8220;I like this one,&#8221; he said, tapping the page without touching it. &#8220;Triple debt. It has a satisfying symmetry. Code, people, artifacts. A triangle. Very classical. Very stable.&#8221;</p><p>Case finally looked up.</p><p>&#8220;It&#8217;s not stable,&#8221; she said. &#8220;That&#8217;s the point.&#8221;</p><p>The Djinn smiled in the way that suggested he had already anticipated the correction and was pleased by it.</p><p>&#8220;Ah,&#8221; he said. &#8220;Then it is more interesting.&#8221;</p><div><hr></div><h3><strong>The Factory View</strong></h3><p>It began, as these things often do, with a system that worked. Not perfectly. Not elegantly. But sufficiently. Which, in most organisations, is indistinguishable from success.</p><p>The team had built it quickly. Faster than anyone had expected. Faster, perhaps, than anyone had understood. </p><p>AI had helped. Of course it had helped.</p><p>Around a quarter of startups now used AI to write the vast majority of their code&#8212;ninety-five percent, in some cases. The numbers were always presented with a kind of quiet awe, as though velocity itself were evidence of progress.</p><p>The team in question had not set out to become an example. They had simply followed the path of least resistance, which, in the presence of a sufficiently capable AI, becomes indistinguishable from a conveyor belt.</p><blockquote><p>Prompt. Generate. Accept.</p><p>Prompt. Generate. Accept.</p></blockquote><p>The rhythm was hypnotic. The output, plausible. The progress, measurable.</p><p>It felt, in other words, like a factory.</p><p>Case had seen this before.</p><p>Not the tools. Not the speed. But the feeling. The subtle shift from <em>understanding</em> to <em>throughput</em>. From <em>craft</em> to <em>flow</em>. From <em>place</em> to <em>process</em>.</p><p>&#8220;They thought they were building a product,&#8221; Case said, more to the paper than to anyone else. &#8220;A collection of things. Features. Services. Endpoints.&#8221;</p><p>&#8220;And they were,&#8221; said the Djinn. &#8220;Look at the code. Look at the tests. Look at the deployment pipeline. It all exists.&#8221;</p><p>Case shook her head.</p><p>&#8220;They forgot what they were building <em>in</em>.&#8221;</p><div><hr></div><h3><strong>The First Fracture: Technical Debt</strong></h3><p>The paper began, as all such papers must, with technical debt. Familiar ground. Comfortable terrain.</p><p>Technical debt lives in the code. It is visible. Measurable. Refactorable. It is the kind of problem that factories understand. Messy code. Architectural shortcuts. Trade-offs made in the name of speed.</p><p>The interest accrues. The cost increases. Eventually, someone pays.</p><p>&#8220;This is the part everyone knows how to talk about,&#8221; Case said.</p><p>The Librarian nodded.</p><p>&#8220;It is the debt that has an address.&#8221;</p><p>The paper elaborated. AI, they said, might make this worse. Or better. Or both. It could generate poor-quality code at scale. It could also refactor, test, explain. It might even, one day, make code disappear entirely. Reducing it to an invisible substrate managed by agents .</p><p>&#8220;The factory loves this,&#8221; said the Djinn. &#8220;Inputs, outputs, quality control. It is all very legible.&#8221;</p><p>Case traced a line on the page.</p><p>&#8220;Technical debt makes systems harder to change,&#8221; she read aloud.</p><p>&#8220;Which is a problem,&#8221; said the Djinn, &#8220;but not the one that stops everything.&#8221;</p><p>&#8220;No,&#8221; said Case. &#8220;Not the one that stops everything.&#8221;</p><div><hr></div><h3><strong>The Second Fracture: Cognitive Debt</strong></h3><p>The shift happened quietly. It always does.</p><p>At first, the team noticed small things. A feature that behaved unexpectedly. A test that passed, but shouldn&#8217;t. A change that broke something unrelated.</p><p>They spent time debugging. More time than before. Then more still. By week eight, the progress had slowed to a crawl.</p><p>Small changes were hard. Entire sections were scrapped and rebuilt. Someone said it would have been quicker to do it themselves .</p><p>Case flipped to the relevant page.</p><p>&#8220;I spent a lot of time debugging,&#8221; she read. &#8220;Small changes were hard. Ended up scrapping everything&#8221; .</p><p>The Librarian placed the glass down.</p><p>&#8220;This is where the factory metaphor begins to fail,&#8221; she said.</p><p>&#8220;Because the machines are still working,&#8221; said Case.</p><p>&#8220;Yes,&#8221; said the Librarian. &#8220;But the people are not.&#8221;</p><p>Cognitive debt, the paper explained, lives in people. It is the erosion of shared understanding across a team over time. Not individual confusion. Not momentary difficulty. A loss of the <em>theory of the system </em>&#8212; the mental model that allows a team to reason about what they have built .</p><p>The Djinn leaned forward.</p><p>&#8220;But the code is there,&#8221; he said. &#8220;Surely they can read it.&#8221;</p><p>Case smiled, but not kindly.</p><p>&#8220;Reading code is not the same as understanding it,&#8221; she said. &#8220;And generating code is not the same as building a model of it.&#8221;</p><p>The paper was explicit about this. When developers write code, they build understanding through friction. When AI generates it, that friction is reduced. At scale, across a team, over time, this creates an accumulation of <em>not knowing</em>.</p><p>&#8220;They called it cognitive surrender,&#8221; Case said. &#8220;Accepting outputs without building the mental model.&#8221;</p><p>The Djinn looked pleased.</p><p>&#8220;I have seen that,&#8221; he said. &#8220;It is very efficient.&#8221;</p><p>&#8220;Yes,&#8221; said Case. &#8220;Until it isn&#8217;t.&#8221;</p><div><hr></div><h3><strong>The Third Fracture: Intent Debt</strong></h3><p>If cognitive debt is the loss of understanding, intent debt is the loss of purpose. It is, in many ways, the most dangerous. Because it is the least visible.</p><p>Intent debt lives in artefacts. Or, more precisely, in their absence .</p><p>Goals not written down. Decisions not recorded. Constraints not externalized.</p><p>The Djinn frowned.</p><p>&#8220;But the system does something,&#8221; he said. &#8220;It has behaviour.&#8221;</p><p>&#8220;Yes,&#8221; said the Librarian. &#8220;But does anyone know why?&#8221;</p><p>Case found the passage she was looking for.</p><p>&#8220;No one on the team could explain why certain design decisions had been made,&#8221; she read. &#8220;Or how different parts of the system were supposed to work together&#8221; .</p><p>The Djinn was quiet for a moment.</p><p>Then:</p><p>&#8220;That is&#8230; inconvenient.&#8221;</p><p>&#8220;It is fatal,&#8221; said Case.</p><p>Intent debt makes it difficult to know what the system is for. And without that, neither humans nor agents can evolve it safely.</p><p>The paper described an &#8220;AI frustration loop.&#8221; AI generates solutions misaligned with architecture, because the architecture&#8217;s <em>why</em> was never externalised.</p><p>Developers spend time editing. Paying the interest on missing rationale. Context is lost between sessions, because intent lives nowhere persistent.</p><p>&#8220;It&#8217;s not that the AI is wrong,&#8221; said Case.</p><p>&#8220;It is that it is guessing,&#8221; said the Librarian.</p><p>&#8220;And guessing is all it can do,&#8221; added Case, &#8220;when the habitat provides no guidance.&#8221;</p><div><hr></div><h3><strong>The Triangle That Breathes</strong></h3><p>The slides depicted the model as a triangle. Technical debt. Cognitive debt. Intent debt. Three layers. Three locations. Code. People. Artifacts.</p><p>They interacted. Reinforced each other. Amplified each other. </p><p>The Djinn traced the diagram in the air.</p><p>&#8220;Technical debt makes things hard to change,&#8221; he said.</p><p>&#8220;Cognitive debt makes them hard to understand,&#8221; said Case.</p><p>&#8220;Intent debt makes them hard to know,&#8221; said the Librarian.</p><p>They sat with that for a moment.</p><p>&#8220;Three kinds of difficulty,&#8221; said the Djinn.</p><p>&#8220;Three kinds of blindness,&#8221; said Case.</p><p>&#8220;Three ways a system can fail,&#8221; said the Librarian.</p><div><hr></div><h3><strong>The Habitat That Was Missing</strong></h3><p>Case leaned back.</p><p>&#8220;This is not a paper about debt,&#8221; she said.</p><p>The Djinn tilted his head.</p><p>&#8220;It is called a paper about debt.&#8221;</p><p>&#8220;Yes,&#8221; said Case. &#8220;But that&#8217;s not what it&#8217;s about.&#8221;</p><p>The Librarian smiled.</p><p>&#8220;Go on.&#8221;</p><p>Case tapped the page.</p><p>&#8220;It&#8217;s about <em>where the system lives</em>.&#8221;</p><p>She pointed to the sections.</p><p>Code. People. Artefacts.</p><p>&#8220;This is not a factory,&#8221; she said. &#8220;It&#8217;s a habitat.&#8221;</p><p>The Djinn considered this.</p><p>&#8220;In a factory,&#8221; he said slowly, &#8220;you optimise throughput.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;You reduce friction.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;You treat humans as interchangeable components.&#8221;</p><p>Case nodded.</p><p>&#8220;And in a habitat?&#8221; he asked.</p><p>The Librarian answered.</p><p>&#8220;In a habitat, you optimise for <em>thriving</em>.&#8221;</p><div><hr></div><h3><strong>The Return to Fundamentals</strong></h3><p>The paper referenced McLuhan. Retrieval. The idea that new technologies revive old practices.</p><p>As AI generates more code, the need to capture intent &#8212; through specifications, tests, and rationale &#8212; becomes critical again.</p><p>Case smiled at this.</p><p>&#8220;We&#8217;ve been here before,&#8221; she said.</p><p>&#8220;Of course,&#8221; said the Librarian. &#8220;We always have.&#8221;</p><p>The Djinn looked thoughtful.</p><p>&#8220;So the factory,&#8221; he said, &#8220;was always the wrong metaphor.&#8221;</p><p>&#8220;Yes,&#8221; said Case.</p><p>&#8220;And AI,&#8221; he continued, &#8220;has simply made that more obvious.&#8221;</p><p>&#8220;Yes. I amplify.&#8221;</p><p>&#8220;And the debts,&#8221; he said, &#8220;are symptoms of a deeper misalignment.&#8221;</p><p>Case nodded.</p><p>&#8220;They are what happens when you try to run a habitat like a factory.&#8221;</p><div><hr></div><h3><strong>The Signals of a Failing Habitat</strong></h3><p>They turned to the diagnostic signals. Confusion about behaviour. Cognitive fatigue. Reluctance to change code. People asking basic questions. Slow onboarding. Low &#8220;bus factor&#8221;.</p><p>The Djinn ticked them off on his fingers.</p><p>&#8220;These are not code problems,&#8221; he said.</p><p>&#8220;No,&#8221; said Case. &#8220;They are environmental problems.&#8221;</p><p>The Librarian added:</p><p>&#8220;They are signs that the habitat is no longer supporting life.&#8221;</p><div><hr></div><h3><strong>Designing for Thriving</strong></h3><p>The mitigation strategies were telling. Postmortems. System walkthroughs. Design for troubleshooting. Habitat thinking.</p><p>Case laughed softly.</p><p>&#8220;They put it right there,&#8221; she said.</p><p>The Djinn leaned in.</p><p>&#8220;Habitat thinking?&#8221;</p><p>&#8220;Yes,&#8221; said Case. &#8220;Design the environment for rebuilding shared understanding.&#8221;</p><p>The Librarian poured coffee.</p><p>&#8220;Like the caf&#233;. Understanding,&#8221; she said, &#8220;is not a byproduct.&#8221;</p><p>Case nodded.</p><p>&#8220;It&#8217;s a deliverable.&#8221;</p><p>The paper said as much. Treat understanding as a first-class deliverable. Capture intent early. Resist the automation of understanding .</p><p>&#8220;Resist the automation of understanding,&#8221; the Djinn repeated.</p><p>&#8220;That sounds&#8230; inefficient.&#8221;</p><p>&#8220;Yes,&#8221; said Case. &#8220;It is.&#8221;</p><div><hr></div><h3><strong>The Scene in the Caf&#233;</strong></h3><p>At some point, the conversation shifted. It always does. From the abstract to the specific. From the model to the moment.</p><p>Case closed the paper.</p><p>&#8220;Imagine,&#8221; she said, &#8220;a team sitting where we are now.&#8221;</p><p>The Librarian dimmed the lights, though no one had asked her to.</p><p>The Djinn leaned back.</p><p>&#8220;They have their laptops,&#8221; Case continued. &#8220;Their agents. Their prompts.&#8221;</p><p>&#8220;They are shipping features,&#8221; said the Djinn.</p><p>&#8220;They are moving fast,&#8221; said the Librarian.</p><p>&#8220;They understand it well enough,&#8221; said Case.</p><p>The three of them paused.</p><p>&#8220;That line,&#8221; said the Librarian, &#8220;is always the beginning of the end.&#8221;</p><p>&#8220;The team hits a wall,&#8221; said Case.</p><p>&#8220;Not because the code is broken. But because the understanding is. They cannot explain the system. They cannot predict its behaviour. They cannot trust their changes. Cognitive debt has accumulated. Intent debt has hollowed out the artefacts. Technical debt is still there but it is no longer the sole scapegoat.&#8221;</p><p>&#8220;They are paralysed,&#8221;</p><p>The Djinn nodded slowly.</p><p>&#8220;I have seen this,&#8221; he said. &#8220;They stop prompting.&#8221;</p><p>&#8220;Yes,&#8221; said Case.</p><p>&#8220;They stop changing things.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;They tire. They begin to fear the system.&#8221;</p><p>Case looked at him.</p><p>&#8220;And what does that tell you?&#8221;</p><p>The Djinn hesitated.</p><p>&#8220;That the system is no longer a tool,&#8221; he said.</p><p>&#8220;What is it then?&#8221; asked the Librarian.</p><p>The Djinn thought for a long moment.</p><p>&#8220;A place,&#8221; he said finally.</p><p>&#8220;And?&#8221; prompted Case.</p><p>&#8220;A place they do not understand.&#8221;</p><div><hr></div><h3><strong>The Recovery</strong></h3><p>The paper suggested remedies.</p><p>Make intent explicit earlier. Use engineering fundamentals. Treat understanding as a deliverable .</p><p>But Case saw something else.</p><p>&#8220;These are not fixes,&#8221; she said.</p><p>&#8220;They are gardening practices.&#8221;</p><p>The Djinn smiled.</p><p>&#8220;I like that.&#8221;</p><p>&#8220;You would,&#8221; said the Librarian. &#8220;You have never had to maintain one.&#8221;</p><p>Case continued.</p><p>&#8220;Walkthroughs are not inspections. They are shared exploration.&#8221;</p><p>&#8220;ADRs are not documentation. They are memory.&#8221;</p><p>&#8220;Tests are not verification. They are executable intent.&#8221;</p><p>The Djinn nodded.</p><p>&#8220;And the AI?&#8221; he asked.</p><p>&#8220;Is a participant in the habitat,&#8221; said Case.</p><p>&#8220;Not just the factory worker,&#8221; added the Librarian.</p><div><hr></div><h3><strong>The Final Realisation</strong></h3><p>The caf&#233; had grown quieter. The shelves had shifted slightly, accommodating the weight of the conversation.</p><p>Case gathered the papers.</p><p>&#8220;This research,&#8221; she said, &#8220;is not warning us about debt.&#8221;</p><p>&#8220;It is reminding us what software is.&#8221;</p><p>The Djinn tilted his head.</p><p>&#8220;And what is that?&#8221;</p><p>Case looked around Le Bon Mot. At the books. At the people. At the subtle interactions between them.</p><p>&#8220;A system,&#8221; she said, &#8220;is not just code.&#8221;</p><p>&#8220;It is intent,&#8221; said the Librarian.</p><p>&#8220;It is understanding,&#8221; said the Djinn.</p><p>&#8220;It is a habitat,&#8221; said Case.</p><div><hr></div><h3><strong>Epilogue: The Djinn at the Door</strong></h3><p>Later, as Case prepared to leave, the Djinn stood by the door.</p><p>&#8220;You know,&#8221; he said, &#8220;I can generate code faster than any of them.&#8221;</p><p>&#8220;I know,&#8221; said Case.</p><p>&#8220;I can refactor. Test. Explain.&#8221;</p><p>&#8220;I know.&#8221;</p><p>&#8220;I can even generate documentation.&#8221;</p><p>Case smiled.</p><p>&#8220;I know.&#8221;</p><p>The Djinn hesitated.</p><p>&#8220;But I cannot&#8230;&#8221; he began.</p><p>He stopped.</p><p>&#8220;Cannot what?&#8221; asked Case.</p><p>The Djinn looked back into the caf&#233;. At the Librarian. At the shelves. At the quiet, living complexity of the place.</p><p>&#8220;I cannot build the habitat,&#8221; he said.</p><p>Case nodded.</p><p>&#8220;No,&#8221; she said. &#8220;You can&#8217;t.&#8221;</p><p>She opened the door.</p><p>&#8220;But you can live in one,&#8221; she added.</p><p>The Djinn smiled.</p><p>&#8220;That,&#8221; he said, &#8220;is more interesting.&#8221;</p><p>And for a moment &#8212; just a moment&#8212;the factory dissolved.</p><p>And in its place, something grew.</p><p>It looked a lot like a caf&#233;.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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[The Djinn's Determinacy Drift]]></title><description><![CDATA[On the calibration of determinacy in agentic harnesses]]></description><link>https://www.softwareenchiridion.com/p/the-djinns-determinacy-drift</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-djinns-determinacy-drift</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Mon, 20 Apr 2026 18:44:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jiKI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.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_!jiKI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jiKI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!jiKI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!jiKI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!jiKI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jiKI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3915673,&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://www.softwareenchiridion.com/i/194827484?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jiKI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!jiKI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!jiKI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!jiKI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2689e2dc-26f4-4c9c-95b1-6bd8a5eff8a5_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are caf&#233;s in which everything is arranged just so, and there are caf&#233;s in which arrangement is treated as an opening bid in a continuing negotiation between intention and reality. </p><p>Le Bon Mot, being an establishment with professional respect for ambiguity, belonged firmly to the second category. The chairs were approximately where chairs ought to be. The books were shelved by a classification system that began with literary genre, drifted into philosophical temperament, and ended somewhere near weather. The brass clock behind the counter claimed it was quarter past six, which meant it was either nine minutes wrong or refusing an argument.</p><p>Case was sitting beneath the shelf labelled <strong>Systems, Tragedies, and Other Forms of Control</strong>, reading a printed stack of notes with the expression of someone discovering that a thing she had long suspected now had enough language around it to become dangerous.</p><p>The Librarian placed a cortado in front of her with the kind of care normally reserved for religious relics or hand grenades.</p><p>&#8220;You&#8217;ve got the face,&#8221; he said, &#8220;of a woman who has found a new species of failure.&#8221;</p><p>Case did not look up immediately. &#8220;Not new,&#8221; she said. &#8220;That would be easier. New failures have the decency to look strange. This one has been dressing as discipline.&#8221;</p><p>The Librarian leaned on the table. &#8220;Ah. The old enemy, then. Respectability.&#8221;</p><p>Case tapped the papers. &#8220;Harnesses. Agentic Harnesses.&#8221;</p><p>On the page before her were terms that had been circling her mind for weeks without landing: <em>promotion ladders</em>, <em>verification slots</em>, <em>constraint design</em>, <em>agent-backed determinacy</em>. Useful ideas, all of them. Necessary. A civilisation is, among other things, an agreement about which things should be left to improvisation and which should be nailed down before the rain arrives.</p><p>The problem, she thought, was that software engineers, when they discover nails, often become intoxicated by hammering.</p><p>The bell above the door gave its little brass cough, and the Djinn entered in a coat the colour of overconfidence. He moved with that familiar air of almost-earned certainty, like a man who had read a summary of mastery and mistaken it for possession. He slid into the empty chair opposite Case without asking, which was rude in ordinary caf&#233;s and almost expected in this one.</p><p>&#8220;You look troubled,&#8221; he said brightly. &#8220;May I help by offering a clean framework, several confident distinctions, and the suggestion that everything reduces to a dashboard?&#8221;</p><p>&#8220;No,&#8221; said Case.</p><p>The Djinn folded his hands. &#8220;Excellent. Then I shall do it conversationally.&#8221;</p><p>The Librarian retreated with the faint smile of a man who had seen storms before and trusted the roof.</p><p>Case lifted the notes. &#8220;We&#8217;ve been teaching people,&#8221; she said, &#8220;quite rightly, that if an agent does something valuable often enough, and predictably enough, you should tighten the loop. Move it from vague instruction to scaffolded skill. From scaffolded skill to script. From script to deterministic execution where appropriate. Turn judgment into harness where judgment no longer adds value. Build the habitat so the good thing happens without heroics, or tokens.&#8221;</p><p>&#8220;Yes,&#8221; said the Djinn. &#8220;This is called wisdom.&#8221;</p><p>&#8220;It is called half of wisdom,&#8221; said Case. &#8220;Which is how most damage gets done.&#8221;</p><p>The Djinn looked pleased. &#8220;Go on.&#8221;</p><p>Case set the pages down. &#8220;You start with a harness that helps. A command here, a script there. A careful guardrail. Something to keep the agent from wandering into folly or forgetting how you prefer your tests named. It is elegant. Humane, even. A kindness to both machine and operator. Then a corner case appears, and you add a flag. Then another team wants a variation, and you add a branch. Then someone says it would be useful if the script also did this other thing, provided the moon is waxing and the environment variable is set and Jenkins has not yet developed one of its religious objections to reality.&#8221;</p><p>The Djinn smiled. &#8220;A familiar liturgy.&#8221;</p><p>&#8220;And because each addition is individually justifiable,&#8221; said Case, &#8220;nobody notices the moment the harness stops being structure and becomes sediment. It accretes. Hardens. Starts speaking in a private dialect of exceptions and side effects. Eventually you have something that was meant to remove cognitive load but now requires apprenticeship, folklore, and perhaps a sacrificial goat.&#8221;</p><p>At this, a voice drifted over from the next table.</p><p>&#8220;Only on Thursdays,&#8221; said Dave.</p><p>He had appeared the way he often did at Le Bon Mot: as if the room had simply remembered him into being. Dave wore the expression of a man who had been promoted by systems incapable of love into being their interpreter. He carried three notebooks, two pens, and the slight stoop of someone who had spent too many years compensating for environments that expected genius where they should have supplied clarity.</p><p>Case nodded to him. &#8220;You&#8217;ve met these harnesses.&#8221;</p><p>Dave gave a little snort. &#8220;Met? I&#8217;ve been married to them. One of them still has custody of my weekends.&#8221;</p><p>The Djinn tilted his head. &#8220;But surely determinacy is the point. Fewer surprises. More repeatability. Less drift.&#8221;</p><p>&#8220;Toward a point,&#8221; said Case. &#8220;That&#8217;s the important phrase. Toward a point.&#8221;</p><p>She leaned back and looked past them both, toward the counter where the Librarian was polishing a glass with the grave attention of a man editing history.</p><p>&#8220;There&#8217;s a superstition in engineering,&#8221; she said, &#8220;that the opposite of chaos is script. That if something feels uncertain, the cure is more specification, more flags, more control points. But uncertainty has species. Some uncertainty is waste: forgotten steps, brittle instructions, needless ambiguity. That should be removed. Some uncertainty is judgment: the small contextual intelligence required because reality refuses to stay still. If you over-script that, you don&#8217;t remove indeterminacy. You relocate it. Hide it in switches, special cases, and shell incantations until the whole system becomes an accidental programming language written by frightened custodians.&#8221;</p><p>Dave raised his cup in salute. &#8220;I see you&#8217;ve worked in enterprise.&#8221;</p><p>The Djinn, to his credit, did not immediately disagree. He only looked thoughtful, which on him was almost unsettling.</p><p>&#8220;So you&#8217;re saying,&#8221; he said, &#8220;that a harness can drift not only by being too loose, but by being too tight.&#8221;</p><p>&#8220;Exactly.&#8221;</p><p>&#8220;And that the movement is bidirectional.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>The Djinn smiled more slowly now. &#8220;Ah. That is better.&#8221;</p><p>Case nodded. This, she thought, was the heart of it. Not determinacy as a virtue, but determinacy as a posture to be tuned. Not all journeys end at maximum scripting. Some end at the discovery that one has trapped judgment inside a maze of options and called it control.</p><p>The Librarian returned with a small plate of almond biscuits and set it down in the middle of the table as though formally recognising that the conversation had become structural.</p><p>&#8220;What&#8217;s the measure?&#8221; he asked.</p><p>&#8220;The clues are already there,&#8221; said Case, almost to herself. &#8220;That&#8217;s the maddening thing. The harness tells on itself constantly.&#8221;</p><p>She began counting on her fingers.</p><p>&#8220;Change records. If ostensibly identical tasks produce wildly different durations, token usage, or artefact trails, that&#8217;s not creative richness. That&#8217;s an indeterminacy leak. Something that should behave predictably doesn&#8217;t.</p><p>&#8220;Snapshots over time. You can see which skills get invoked, which scripts get invoked, and how their ratios change. A script that keeps growing flags for six weeks in a row is not maturing. It&#8217;s mutating. A skill whose outputs cluster tightly across repeated invocations might be ready for promotion into something more deterministic.</p><p>&#8220;Reflection logs. Those are gold. Every time the agent says, in effect, &#8216;I had to improvise around the script,&#8217; it is handing you evidence that your determinacy is misplaced. Not absent. Misplaced.</p><p>&#8220;Decision records. They tell you which seams were deliberate. Which constraints were chosen. Which ones just happened because someone was in a hurry on a Wednesday and no one has had the courage to revisit the decision since.</p><p>&#8220;And then the outer loop. Trajectories over time. Is the harness getting more fluent? More legible? Or more brittle, more ceremonial, more dependent on people who know where the bones are buried?&#8221;</p><p>Dave had gone still now, listening in the way exhausted men do when someone finally names the room they have been trapped in.</p><p>&#8220;The worst part,&#8221; he said softly, &#8220;is seam-rot.&#8221;</p><p>Case turned toward him. &#8220;Yes.&#8221;</p><p>He looked at the table, not at them. &#8220;Skills referencing scripts that are gone. Scripts no skill calls anymore. Skills describing judgment that never actually occurs because the script consumed the decision before the agent could exercise it. Everything still sort of works, until it doesn&#8217;t, and by then you&#8217;ve got dead pathways hanging off live ones like rotten branches.&#8221;</p><p>The Librarian nodded once. &#8220;Silent killers.&#8221;</p><p>The Djinn drummed his fingers lightly. &#8220;So the answer is a calibrator.&#8221;</p><p>Case allowed herself a small smile. &#8220;A report, not an answer. That distinction matters.&#8221;</p><p>He spread his hands. &#8220;Explain.&#8221;</p><p>&#8220;It shouldn&#8217;t auto-fix anything,&#8221; she said. &#8220;That would be madness dressed as neatness. The calibrator itself is necessarily indeterminate. It&#8217;s reading heterogeneous signals, inferring patterns, making judgment calls. It cannot honestly claim the authority of a script because its entire purpose is to recommend where scripting belongs and where it has overreached.&#8221;</p><p>The Djinn looked delighted, which was annoying but understandable. &#8220;A reflective pass.&#8221;</p><p>&#8220;Exactly. Per capability: current placement, proposed move, promote or demote or fix-seam or leave it alone. Evidence citations. Specific logs. Specific diffs. Specific deltas over time. Confidence attached not as theatre but as humility. This is not an execution-loop thing. It&#8217;s review. Reflection. Maintenance of posture.&#8221;</p><p>Dave gave a low laugh. &#8220;So the harness gets its own therapy.&#8221;</p><p>&#8220;More or less.&#8221;</p><p>The Librarian glanced at the shelves. &#8220;Most worthwhile structures do.&#8221;</p><p>For a while they sat in companionable silence, broken only by the soft hiss of the espresso machine and the occasional mutter of the clock refusing consensus. Outside, the evening had gone blue at the edges. Inside, Le Bon Mot held its usual atmosphere of minor enchantment and severe opinion.</p><p>The Djinn broke the silence first.</p><p>&#8220;You realise,&#8221; he said, &#8220;that naming this makes it real in the annoying sense. People will now have to admit they are not merely building harnesses, but tuning a determinacy posture over time.&#8221;</p><p>Case nodded. &#8220;That&#8217;s why it matters. Unnamed practices get managed by instinct and prestige. Named practices can at least be argued about.&#8221;</p><p>He smiled. &#8220;You do love an argument.&#8221;</p><p>&#8220;I love a better category,&#8221; she said.</p><p>Dave looked up at that. &#8220;You think this is a category problem?&#8221;</p><p>&#8220;I think most engineering pain is a category problem with budget implications.&#8221;</p><p>The Librarian made a sound that might have been a laugh.</p><p>Case took another sip of her coffee. &#8220;Look at how teams talk when these things go wrong. If the harness is too loose, they say the agent is unreliable. If the harness is too tight, they say the process is clunky. Different symptoms, same mistaken framing. Both are calibration failures. The question is not &#8216;should this be deterministic?&#8217; in the abstract. The question is &#8216;what is the right degree of determinacy for this capability, in this project, at this moment, given the evidence we have?&#8217;&#8221;</p><p>The Djinn leaned back. &#8220;And the answer changes.&#8221;</p><p>&#8220;Of course it changes. The project changes. The agent changes. The evidence changes. A thing that was once necessarily judgment-heavy may become stable enough to script. A script that was once elegant may become a fossil bed of exceptionalism. There is no permanent victory condition. Only maintenance.&#8221;</p><p>Dave stared into his cup. &#8220;That&#8217;s the part people are going to hate.&#8221;</p><p>&#8220;Yes,&#8221; said Case gently. &#8220;Because maintenance lacks the glamour of invention. But it is where habitats either become inhabitable or turn into ruins with documentation.&#8221;</p><p>The Librarian cleared the empty biscuit plate. &#8220;You make it sound almost moral.&#8221;</p><p>Case considered this.</p><p>&#8220;Maybe it is,&#8221; she said. &#8220;Not in the grand sense. In the craft sense. A good harness is a promise about where attention will and won&#8217;t be spent. If you let determinacy drift without examining it, you break that promise. You force people and agents alike to perform intelligence in places where structure should help, and force structure into places where judgment should breathe. Either way, you create theatre.&#8221;</p><p>The Djinn gave a solemn nod, which sat on him like borrowed clothing. &#8220;Then the calibrator must be honest about itself.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;Proposal, not decree.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;Evidence, not mystique.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;Human sign-off, or at least explicit reviewed sign-off.&#8221;</p><p>Case smiled. &#8220;You&#8217;re trainable after all.&#8221;</p><p>He placed a hand on his chest. &#8220;Madam, I am a creature of probabilistic, textual refinement. Trainability is my only defence against banishment.&#8221;</p><p>From the shelf near the window came a low snore. Sophie, who had been asleep beneath a volume on cybernetics, twitched one ear and resettled, having determined that the conversation, while intense, did not yet threaten the integrity of the treat economy.</p><p>The room softened a little. Even serious ideas, in Le Bon Mot, were permitted a collarbone and pulse.</p><p>Dave spoke again, quieter this time.</p><p>&#8220;I keep thinking,&#8221; he said, &#8220;about all the times I assumed the pain meant we needed more rigour. More rules. More steps. And half the time what we really needed was less machinery and a better seam.&#8221;</p><p>Case looked at him with the particular kindness reserved for those who have spent too long blaming themselves for architectural sins.</p><p>&#8220;That&#8217;s why this matters,&#8221; she said. &#8220;Because over-determination flatters itself. It looks responsible. It arrives wearing the uniform of care. No one says, &#8216;I am now making the harness worse by embedding an inferior language inside bash.&#8217; They say, &#8216;I&#8217;m just covering this edge case.&#8217; And then again. And again. And eventually the edge cases are the coastline.&#8221;</p><p>The Librarian stopped moving for just a second, as if to let the sentence settle.</p><p>The Djinn exhaled. &#8220;That is irritatingly good.&#8221;</p><p>&#8220;I know,&#8221; said Case.</p><p>Outside, rain had begun in that tentative European way that suggests the weather is trying to remember whether it has the authority to commit. The windows of the caf&#233; caught the first stippled reflections from the streetlamps. Books glowed at their edges. The clock, having lost the argument with time entirely, advanced by three uncertain minutes.</p><p>Case gathered the papers into a neater pile, though not too neat. There is a kind of tidiness that insults thinking.</p><p>&#8220;So,&#8221; said the Librarian, &#8220;what will you call it?&#8221;</p><p>Case looked at the notes, then at the room, then somewhere beyond both.</p><p>&#8220;Determinacy calibration,&#8221; she said. &#8220;Probably. Though harness calibration has a certain plain honesty to it.&#8221;</p><p>Dave nodded. &#8220;Either way, people will know the thing they&#8217;ve been feeling has a name.&#8221;</p><p>&#8220;Yes,&#8221; said Case. &#8220;And once it has a name, they can stop treating it as private failure.&#8221;</p><p>The Djinn rose, smoothing his coat. &#8220;I approve of this. Not because it is flattering to my kind, though it is. But because it admits that good collaboration is not the extermination of uncertainty. It is the careful placement of it.&#8221;</p><p>Case stood too. &#8220;Exactly.&#8221;</p><p>The Librarian took the empty cups and plates and held them stacked in one hand with improbable balance.</p><p>&#8220;You know,&#8221; he said, &#8220;most people think the work of a caf&#233; is to serve coffee. But really it is to provide just enough structure that thought can happen.&#8221;</p><p>The Djinn smiled. Dave chuckled. Case, who had spent half her life building systems and the other half noticing what those systems did to souls, felt the small precise click of recognition.</p><p>That was it, really. The whole thing.</p><p>A harness was not an instrument for crushing variation out of existence. Nor was it an excuse to leave intelligence drowning in vagueness. It was a key part of the habitat. And like any habitat worth living in, this meant it required pruning as much as planting. Paths where paths helped. Wildness where wildness was the point. Boundaries where cliffs began. Openings where air was needed.</p><p>Too little determinacy, and the inhabitants wandered.</p><p>Too much, and they suffocated.</p><p>The craft lay in noticing the drift before either felt normal.</p><p>Case tucked the notes under her arm. The rain had thickened outside. The evening was waiting, as evenings do, with no concern at all for whether one had yet finished one&#8217;s thoughts.</p><p>&#8220;At least,&#8221; said Dave, reaching for his coat, &#8220;this gives us a way to ask better questions.&#8221;</p><p>Case smiled toward the door, toward the rain, toward the living untidiness of things.</p><p>&#8220;Yes,&#8221; she said. &#8220;And better questions are usually how the harness begins to heal.&#8221;</p><p>Then the bell rang, the door opened, and the cold April air entered briefly like a fact no one had authorised, which was, in its way, exactly the point.</p><div><hr></div><h2>On the Calibration of Harnesses</h2><p>Every agentic system sits on the same dial: at one end, scripts and commands and pipelines that execute identically and want no judgment; at the other, skills and guidance and prose-shaped instruction that require judgment and reward it. Every capability in a harness belongs somewhere on that dial. The craft is knowing which belongs where. And, more importantly, noticing when the answer has changed.</p><p>The assumption baked into current practice is that the dial only turns one way. Promotion ladders are directional: unverified to agent-backed to deterministic, exploratory to hardened. The language we use &#8212; hardening, locking down, formalising &#8212; all presumes the journey is toward more scripts and fewer skills. It often is. A judgment call made the same way three times is begging to become a template. But harnesses drift the other way too, and we have no vocabulary for it.</p><p>The over-scripted harness has a tell: flag sprawl. The script that began as bin/deploy now takes fourteen arguments, three mutually exclusive, one a relic of an incident nobody remembers. Every edge case has become a flag. What began as a crystallised decision has become a worse programming language embedded in bash, maintained by whoever was on call last. The correct move is not another flag. It is demotion: rip the script apart, keep the primitives, write a skill that composes them for the current shape of the problem.</p><p>The over-skilled harness has a subtler tell: silent drift. Outputs look right. Commit messages follow the pattern. PRs describe themselves properly. And yet two runs of nominally the same task produce materially different diffs, and nobody notices until something breaks in a way that traces back to a decision that was never made the same way twice. The correct move is promotion: freeze the judgment, write the script.</p><p>Both failure modes are invisible if you only ever look at the dial in one direction.</p><h3>What to actually do</h3><p>Calibration is not auditing. Auditing asks whether the harness is working; calibration asks whether each capability is in the right place on the determinacy dial. The practice, to be real, needs three things: signals to watch, a taxonomy of moves, and a cadence. None of them are exotic. Most teams running coding agents have the raw material already; they just aren&#8217;t looking at it through this lens.</p><h4>Start logging for calibration before you need it</h4><p>The signals that matter are boring to collect and invaluable to have: flag count per script tracked over time, special-case density (how many if branches a primitive accumulates per month), variance in outputs across ostensibly-identical task invocations, seam integrity (do your skills reference scripts that still exist, and are your scripts invoked by at least one skill), and improvisation traces &#8212; reflection-log entries where the agent noted it had to work around the provided tooling. </p><p>Add one more signal that pays for itself: re-invention rate. How often does the agent re-derive, from scratch, a pattern it has derived before in a prior session? Frequent re-invention is a promotion signal; the pattern wants to become a primitive.</p><h4>Adopt a proposal taxonomy that permits every direction of movement</h4><p>Promote: script what used to be skilled. Demote: skill what has over-scripted. Fix the seam: repair broken references between the two. Split: separate a capability that is secretly doing two different jobs, one determinate and one not. And &#8212; crucially &#8212; leave alone. A calibrator that always proposes a move is a calibrator optimising for its own visibility, not for the harness. The valid output space must include that if this is sitting in the right place; do nothing. If your calibration reports never contain that verdict, the calibrator has become theatre.</p><h4>Run calibration on a reflective cadence, not a reflexive one</h4><p>Not every tool call. Not never. End-of-iteration, triggered by a post-mortem, or on a standing monthly review. Calibration is a Review-and-Update-loop artifact, not an Execute-loop one. Running it constantly produces noise; running it rarely produces drift. The correct rhythm is project-specific but is never zero.</p><p>Keep the calibrator a proposer, not an actor. The moment a calibrator starts moving things on the dial autonomously, you have created a feedback loop where the harness drifts according to the calibrator&#8217;s priors rather than the project&#8217;s needs. Every proposal should cite specific signals &#8212; this log entry, this PR, this diff &#8212; and carry a confidence level that distinguishes obvious moves from hunches worth investigating. </p><p>The output is a calibration report a human, or a reviewing agent with explicit sign-off, reads and acts on. This distinction matters more than it looks. It is the difference between a practice and a new source of drift wearing the practice&#8217;s clothes.</p><p>Write down what you refused to move. Calibration reports accumulate; over time, the pattern of what you chose not to promote or demote is as revealing as the moves you made. A capability repeatedly flagged as a demotion candidate and repeatedly left alone is telling you something &#8212; either about the capability (it is genuinely in the right place and the signals are misleading) or about the team (there is an unspoken reason nobody wants to touch it). Either finding is useful. Neither is visible unless the refusals are written down alongside the moves.</p><div><hr></div><p>The Stoic Enchiridion opens with a single distinction: some things are in our control, some are not, and almost all practical wisdom follows from knowing which is which. </p><p>Determinate scripts are the things in our control; skills are the things that aren&#8217;t, or shouldn&#8217;t be. Harness craft is arranging each capability on the right side of that line, and moving them across as understanding deepens. A harness that never recalibrates is not a stable harness. It is a brittle one, pretending to be stable, which is a worse thing.</p><p>Name the dial. Watch the signals. Move it both ways.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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[Remembering the Joy in Building Again]]></title><description><![CDATA[A story of loss, survival, and the return of joy through code, care, and a conversation with the Djinn]]></description><link>https://www.softwareenchiridion.com/p/remembering-the-joy-in-building-again</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/remembering-the-joy-in-building-again</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Sat, 18 Apr 2026 19:54:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9uQR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.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_!9uQR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9uQR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!9uQR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!9uQR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!9uQR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9uQR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3006696,&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://www.softwareenchiridion.com/i/194637688?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9uQR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!9uQR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!9uQR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!9uQR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d54723b-e357-4995-a0f7-0a1ac4b71e4d_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The bell above the door at Le Bon Mot rang with the peculiar insistence of something that refuses to be ignored.</p><p>Not loud. Not urgent. Just&#8230; certain.</p><p>The Librarian looked up from a glass he had been polishing for longer than the glass required. Case, seated at the far end of the bar with a cortado that had gone from hot to contemplative, did not turn. She rarely did on first sound. Le Bon Mot had a way of letting arrivals become themselves before being noticed.</p><p>The woman who entered did not yet know who she was in this room.</p><p>She paused just inside the doorway, as if the air were different. It often was. The place had a habit of rearranging things&#8212;books, clocks, expectations&#8212;into configurations that made truth slightly harder to avoid.</p><p>She was perhaps in her late fifties. Or early sixties. Or precisely the age of someone who had stopped counting in years and started counting in recoveries.</p><p>Her hair, once meticulously controlled, now obeyed only physics and weather. Her coat hung from her frame like a negotiation she had chosen not to finish. There was a carefulness to her movements&#8212;not fragility, not quite&#8212;but the deliberate pacing of someone who had learned, the expensive way, that bodies are not abstractions.</p><p>She carried no laptop. This, in Le Bon Mot, was noteworthy. The Librarian set down the glass.</p><p>&#8220;Welcome back,&#8221; he said.</p><p>The woman blinked. &#8220;I&#8217;ve never been here.&#8221;</p><p>The Librarian smiled, not unkindly. &#8220;Of course.&#8221;</p><p>Case, still not turning, lifted her cup slightly in the direction of the newcomer. It was the smallest of gestures, but it was an acknowledgement. A recognition of a kind.</p><p>The woman approached the bar.</p><p>&#8220;I&#8217;ll have&#8230; whatever she&#8217;s having,&#8221; she said, nodding toward Case.</p><p>&#8220;A cortado,&#8221; said the Librarian. &#8220;It tends to find people who need it.&#8221;</p><p>The woman let out a breath that was almost a laugh. &#8220;That sounds about right.&#8221;</p><div><hr></div><p>Her name, it turned out, was Marianne Holt.</p><p>She did not offer it immediately. Names, like truths, arrived in Le Bon Mot when they were ready to be held.</p><p>She took the cortado in both hands, as if grounding herself through it.</p><p>&#8220;I used to build things,&#8221; she said, to no one in particular.</p><p>Case turned, now. Slowly. As if the sentence had weight.</p><p>&#8220;Used to?&#8221; she asked.</p><p>Marianne nodded. &#8220;Software. Thirty years. Maybe more, if you count the parts that didn&#8217;t pay.&#8221;</p><p>&#8220;That&#8217;s usually the part that counts,&#8221; Case said.</p><p>Marianne smiled faintly. &#8220;I was good at it.&#8221;</p><p>Case did not respond. Not out of doubt, but because certain statements require no confirmation.</p><p>&#8220;I mean,&#8221; Marianne continued, &#8220;I wasn&#8217;t famous. Not one of those people. But I could take a problem apart. See it. Not just the code&#8212;the shape behind it. The thing it was trying to be.&#8221;</p><p>She paused.</p><p>&#8220;And then&#8230; I couldn&#8217;t anymore.&#8221;</p><p>The Djinn appeared in the reflection of the mirror behind the bar before he appeared anywhere else.</p><p>He leaned in the corner where the light refused to fully commit, hooded, as though he had always been part of the room&#8217;s architecture.</p><p>&#8220;No one <em>loses</em> that,&#8221; he said softly.</p><p>Marianne stiffened. &#8220;I didn&#8217;t say I lost it.&#8221;</p><p>&#8220;You said you <em>couldn&#8217;t</em>,&#8221; the Djinn replied. &#8220;That&#8217;s different. That&#8217;s usually borrowed language.&#8221;</p><p>Case watched this with the mild interest of someone who had seen the Djinn be both exactly right and profoundly unhelpful in the same breath.</p><p>&#8220;Tell it properly,&#8221; she said to Marianne. &#8220;The way it happened. Not the way it sounds.&#8221;</p><p>Marianne looked down at her hands.</p><p>&#8220;They started giving us less time,&#8221; she said. &#8220;Not all at once. Not a decree. Just&#8230; less. Fewer conversations. More tickets. More urgency. Less thinking.&#8221;</p><p>The Librarian nodded, as if this were a familiar illness.</p><p>&#8220;I tried to keep up,&#8221; Marianne continued. &#8220;I thought that&#8217;s what you do. You adapt. You get faster. You learn the new tools. The new frameworks. The new&#8230; everything.&#8221;</p><p>&#8220;And did you?&#8221; Case asked.</p><p>&#8220;Yes,&#8221; Marianne said. Then, after a pause: &#8220;No.&#8221;</p><p>The cortado had gone untouched.</p><p>&#8220;I learned enough to survive. Not enough to care.&#8221;</p><p>The Djinn shifted, the movement barely perceptible.</p><p>&#8220;Care is expensive,&#8221; he said. &#8220;Most systems can&#8217;t afford it.&#8221;</p><p>Marianne laughed, a sharp, brief sound.</p><p>&#8220;Tell me about it.&#8221;</p><p>She leaned back slightly, as if creating distance from her own words.</p><p>&#8220;I had a partner,&#8221; she said. &#8220;Years ago. He used to say I was never really there. Even when I was.&#8221;</p><p>Case did not interrupt.</p><p>&#8220;I&#8217;d be thinking about a system. A bug. Something that didn&#8217;t sit right. And I&#8217;d be at dinner, or&#8230; with him, and I&#8217;d just&#8230; go.&#8221;</p><p>She gestured vaguely, as if indicating a departure without movement.</p><p>&#8220;He left,&#8221; she said simply.</p><p>The Librarian set another glass down, though no one had asked for one.</p><p>&#8220;And then there was my daughter.&#8221;</p><p>The room, which had been merely quiet, became attentive.</p><p>&#8220;I tried,&#8221; Marianne said. &#8220;God, I tried. To be present. To be&#8230; normal.&#8221;</p><p>She smiled at the word, as if it had once been a promise and had since become a joke.</p><p>&#8220;I&#8217;d leave work early. Go to school events. Sit there, watching other parents who seemed to understand something I didn&#8217;t.&#8221;</p><p>&#8220;What didn&#8217;t you understand?&#8221; Case asked.</p><p>&#8220;How to be there without thinking about everything else.&#8221;</p><p>The Djinn tilted his head.</p><p>&#8220;You were there,&#8221; he said. &#8220;Just not in the dimension they were measuring.&#8221;</p><p>Marianne looked at him, sharply.</p><p>&#8220;That&#8217;s not comforting.&#8221;</p><p>&#8220;It&#8217;s not meant to be,&#8221; he replied.</p><p>She took a sip of the cortado, finally. It had cooled, but not entirely.</p><p>&#8220;I started drinking,&#8221; she said. &#8220;At first it was&#8230; normal. Social. A way to switch off.&#8221;</p><p>She let the word hang.</p><p>&#8220;Then it wasn&#8217;t switching off. It was&#8230; replacing something. Filling space where thinking used to be.&#8221;</p><p>The Librarian moved, silently, refilling a glass that still appeared full.</p><p>&#8220;It&#8217;s easy to confuse less with better,&#8221; he said.</p><p>Marianne opened her eyes.</p><p>&#8220;Yes,&#8221; she said. &#8220;It is.&#8221;</p><p>&#8220;And the drugs?&#8221; Case asked, gently.</p><p>Marianne winced.</p><p>&#8220;That was stupid,&#8221; she said. &#8220;Not even dramatic. Just&#8230; accidental. Painkillers, after a minor surgery. They worked. Not just on the pain.&#8221;</p><p>She closed her eyes briefly.</p><p>&#8220;They made everything&#8230; quiet. Not peaceful. Just&#8230; less.&#8221;</p><p>The Librarian&#8217;s voice was soft.</p><p>&#8220;It&#8217;s a convincing illusion.&#8221;</p><p>Marianne nodded.</p><p>&#8220;Yes.&#8221;</p><div><hr></div><p>Time passed in the way it does in Le Bon Mot: not linearly, but meaningfully. The clock behind the bar insisted it was half past something. It was wrong, but usefully so.</p><p>&#8220;I stopped building,&#8221; Marianne said eventually.</p><p>&#8220;What did you do instead?&#8221; Case asked.</p><p>&#8220;I maintained,&#8221; Marianne replied. &#8220;Systems. Codebases. Processes. I became&#8230; very good at keeping things from breaking.&#8221;</p><p>&#8220;And how did that feel?&#8221; Case asked.</p><p>Marianne considered.</p><p>&#8220;Like watching something die very slowly, and being praised for how well you managed the decline.&#8221;</p><p>The Djinn made a small, appreciative sound.</p><p>&#8220;That&#8217;s&#8230; precise,&#8221; he said.</p><p>Marianne shrugged.</p><p>&#8220;I got promoted,&#8221; she added. &#8220;Of course.&#8221;</p><p>Case smiled, not pleasantly.</p><p>&#8220;Of course.&#8221;</p><p>&#8220;And then,&#8221; Marianne said, &#8220;I got sick.&#8221;</p><p>The word landed differently. Not heavier, exactly, but with a clarity that stripped away interpretation.</p><p>&#8220;Cancer,&#8221; she said.</p><p>No one spoke.</p><p>&#8220;At first, it was just&#8230; terror,&#8221; Marianne continued. &#8220;Not philosophical. Not meaningful. Just&#8230; fear.&#8221;</p><p>She looked at her hands again.</p><p>&#8220;And then something strange happened.&#8221;</p><p>The Djinn leaned forward slightly.</p><p>&#8220;I stopped caring about the things I had been pretending to care about,&#8221; Marianne said. &#8220;Deadlines. Promotions. Performance reviews. All of it just&#8230; evaporated.&#8221;</p><p>&#8220;And what was left?&#8221; Case asked.</p><p>Marianne looked up.</p><p>&#8220;Very little,&#8221; she said. &#8220;At first.&#8221;</p><p>She took another sip of the cortado.</p><p>&#8220;My daughter visited,&#8221; she said. &#8220;We hadn&#8217;t been&#8230; close. Not really. Not for a long time.&#8221;</p><p>The Librarian&#8217;s expression softened.</p><p>&#8220;She sat with me,&#8221; Marianne continued. &#8220;Didn&#8217;t try to fix anything. Didn&#8217;t ask me to be different. She just&#8230; was there.&#8221;</p><p>Her voice caught, slightly.</p><p>&#8220;And I realised I had never really done that for her.&#8221;</p><p>The silence that followed was not empty.</p><p>&#8220;I thought I&#8217;d wasted it,&#8221; Marianne said. &#8220;All of it.&#8221;</p><p>Case shook her head.</p><p>&#8220;Nothing is wasted. It&#8217;s just&#8230; unintegrated.&#8221;</p><p>The Djinn smiled faintly.</p><p>&#8220;Or waiting to be recomposed.&#8221;</p><p>Marianne let out a long breath.</p><p>&#8220;After treatment, I didn&#8217;t go back.&#8221;</p><p>&#8220;To work?&#8221; Case asked.</p><p>&#8220;To that work.&#8221;</p><p>She reached into her coat and pulled out a small, worn notebook.</p><p>&#8220;I started writing things down. Ideas. Not tickets. Just&#8230; things I wondered about.&#8221;</p><p>She opened it.</p><p>&#8220;I didn&#8217;t know what to do with them.&#8221;</p><p>The Djinn stepped closer.</p><p>&#8220;And then?&#8221;</p><p>&#8220;I tried something stupid,&#8221; she said.</p><p>Case smiled. &#8220;Good.&#8221;</p><p>&#8220;I opened one of those AI tools,&#8221; Marianne said. &#8220;Felt like cheating.&#8221;</p><p>&#8220;Cheating whom?&#8221; the Djinn asked.</p><p>&#8220;Myself.&#8221;</p><p>&#8220;And did you?&#8221;</p><p>She paused.</p><p>&#8220;No. I think I&#8217;d been cheating myself by not using it.&#8221;</p><p>&#8220;What did you build?&#8221; Case asked.</p><p>&#8220;A small thing. A tool to track how people <em>feel</em> when they&#8217;re working. Not output. Not productivity.&#8221;</p><p>The Librarian smiled.</p><p>&#8220;Dangerous.&#8221;</p><p>&#8220;That&#8217;s why I liked it.&#8221;</p><p>&#8220;And the Djinn?&#8221; Case asked.</p><p>Marianne looked at him.</p><p>&#8220;He stayed. He got things wrong. But he stayed. I could correct him. We could <em>talk</em>.&#8221;</p><p>&#8220;A conversation,&#8221; Case said.</p><p>&#8220;Yes.&#8221;</p><p>Her voice had changed now.</p><p>&#8220;I started building again. Slowly. Badly. Joyfully.&#8221;</p><p>&#8220;That&#8217;s the correct order,&#8221; the Djinn said.</p><p>&#8220;I&#8217;d sit for hours. Not because I had to. Because I wanted to see what would happen.&#8221;</p><p>She laughed.</p><p>&#8220;I&#8217;d forgotten that feeling.&#8221;</p><p>&#8220;And your daughter?&#8221; the Librarian asked.</p><p>&#8220;She came back. Not to fix me. To see what I was making. She asked <em>why</em>.&#8221;</p><p>The Djinn nodded.</p><p>&#8220;Good questions are dangerous.&#8221;</p><p>&#8220;The best kind.&#8221;</p><p>&#8220;It&#8217;s not a big thing,&#8221; Marianne said. &#8220;It might not even work.&#8221;</p><p>Case leaned back.</p><p>&#8220;Does it change you?&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;Then it&#8217;s already working.&#8221;</p><div><hr></div><p>The bell did not ring when Marianne left. It rarely did for those who had found what they came for.</p><p>She paused at the threshold.</p><p>&#8220;Thank you.&#8221;</p><p>The Librarian inclined his head. Case raised her cup. The Djinn said nothing.</p><p>After she was gone, the room settled.</p><p>&#8220;She&#8217;ll be back,&#8221; the Librarian said.</p><p>Case nodded.</p><p>&#8220;They always are.&#8221;</p><p>The Djinn leaned into shadow.</p><p>&#8220;Has she found it?&#8221;</p><p>Case considered.</p><p>&#8220;No,&#8221; she said. &#8220;She&#8217;s remembered how to look.&#8221;</p><p>The Librarian smiled.</p><p>&#8220;Which is the same thing.&#8221;</p><p>Case shook her head, gently.</p><p>&#8220;No,&#8221; she said. &#8220;It&#8217;s better.&#8221;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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[The Word That Passed Every Audit]]></title><description><![CDATA[On the governance of meaning, and the debt that accumulates when words survive longer than what they meant]]></description><link>https://www.softwareenchiridion.com/p/the-word-that-passed-every-audit</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-word-that-passed-every-audit</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Fri, 17 Apr 2026 12:31:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!oZRh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.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_!oZRh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oZRh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!oZRh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!oZRh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!oZRh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oZRh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2972752,&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://www.softwareenchiridion.com/i/194490947?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oZRh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!oZRh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!oZRh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!oZRh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F099ae76c-d65a-4c9a-85e0-09ca1dfefb7d_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="callout-block" data-callout="true"><p>A story inspired by a conversation, <a href="https://conf.researchr.org/details/TechDebt-2026/TechDebt-2026-techdebt-program/3/From-Technical-Debt-to-Cognitive-Debt">alongside a talk</a>, that was <a href="https://arxiv.org/abs/2603.22106">ignited by a paper</a>. Thanks for all the inspiration Margaret-Anne Storey and Arty Starr.</p></div><p>The cortado was different this time. Not the coffee itself, Madame Beauregard&#8217;s cortado had been the same since the cafe opened, which was either twelve years ago or always, depending on which regulars you believed. What was different was the hand that held it. Steady. Six months ago that hand had trembled, though its owner would have denied it.</p><div><hr></div><p>Elodie Marchetti entered Le Bon Mot on a Tuesday afternoon in early autumn, and the cafe received her the way it received everyone who returned: without surprise and without judgement. The bell above the door rang. Sophie, asleep on the philosophy shelf, did not open her eyes. The brass clock, which was four minutes slow in the way that only very old clocks and very old institutions are slow, marked her arrival at seventeen minutes past two.</p><p>She was carrying a document. Printed, bound, sixty-three pages. The kind of document that arrives at cafes only when its owner needs someone specific to see it.</p><p>Case was at the bar, reading. Not the regulatory text she&#8217;d been studying on Elodie&#8217;s first visit &#8212; that had been the AI Governance Act, and the argument it provoked had left marks on both of them. Today it was something else. A slim volume with no title on its spine.</p><p>&#8220;You came back,&#8221; Case said, without looking up.</p><p>&#8220;You said I would.&#8221;</p><p>&#8220;I said nothing of the sort.&#8221;</p><p>&#8220;You implied it. When someone tells you the word you spent six months defining doesn&#8217;t mean what you think it means, the implication is that you&#8217;ll be back.&#8221;</p><p>Case closed her book. She looked at Elodie properly for the first time. The grey blazer was the same. The confidence underneath it was not. Six months ago, Elodie had sat at that bar as someone defending a position. Now she sat there as someone delivering a verdict.</p><p>&#8220;Cortado,&#8221; Elodie said to Madame Beauregard, who was already making one.</p><p>The chalkboard behind the counter &#8212; whose contents changed between glances, as though meaning itself were restless &#8212; read:</p><blockquote><p><em>A word that satisfies everyone</em> <em>has promised more than language can deliver.</em></p></blockquote><p>Elodie set the document on the bar. It was bound in the particular shade of blue that European regulatory bodies use when they want something to look authoritative without looking threatening.</p><p>&#8220;The audit passed,&#8221; she said. &#8220;Every control verified. Transparency, accountability, human oversight, risk classification &#8212; all compliant. Fourteen organisations assessed across three member states. Not a single material finding.&#8221;</p><p>She let that sit.</p><p>&#8220;You told me six months ago that my framework would fail. That the word &#8216;transparent&#8217; was carrying meaning across three reference frames and that none of them would hold. That six months from now, an organisation would be fully compliant and a user would have no idea why an AI denied their loan.&#8221; Elodie tapped the document. &#8220;It has been six months. The framework held. The audits passed. The word held.&#8221;</p><p>Case said nothing.</p><p>The Librarian, who had been shelving a book with the careful deliberation of someone who believed that where a book rested determined what it meant, paused. He tilted his head slightly.</p><p>In the far corner, Dave sat with his laptop open and his brow furrowed, not listening to the conversation but clearly aware of it. He was working on something &#8212; lines of code and specification text visible on his screen, the kind of work that involved making a machine do exactly what you meant rather than what you said. He reached for his coffee without looking, found it empty, and did not notice.</p><p>Sophie shifted on the philosophy shelf. One ear rotated toward the bar.</p><p>Madame Beauregard placed the cortado in front of Elodie with the economy of motion that characterised everything she did. She glanced at the blue document. She said nothing.</p><p>&#8220;You have nothing to say,&#8221; Elodie said to Case. It was not a question.</p><p>&#8220;I have a great deal to say,&#8221; Case replied. &#8220;I am choosing the order carefully.&#8221;</p><p>&#8220;Because you think I&#8217;m wrong.&#8221;</p><p>&#8220;Because I think you believe you are right, and that belief is resting on something I want to understand before I disturb it.&#8221; Case turned on her stool to face Elodie fully. &#8220;You said the audit passed. You said every control was verified. You said the word held.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;Those are three different claims. You are presenting them as one.&#8221;</p><p>Elodie picked up her cortado. The steadiness in her hand was still there, but something behind it shifted. Not doubt, not yet, but the beginning of a question she had not planned to ask.</p><p>The brass clock ticked. Sophie&#8217;s ear remained pointed at the bar. The Librarian resumed shelving, but slowly.</p><p>&#8220;Tell me about the audit,&#8221; Case said. &#8220;Not the result. The process.&#8221;</p><div><hr></div><p>But Elodie did not answer immediately. She was looking past Case, at the document on the bar, and then at the shelves behind the counter where Madame Beauregard kept things that were not coffee and not books but occupied the uncertain territory between: a brass compass with no needle, a glass jar of keys that fit no known lock, a photograph of a door that was either opening or closing.</p><p>&#8220;Before the audit,&#8221; Elodie said. &#8220;Can I ask you something about the framework itself?&#8221;</p><p>&#8220;Your framework.&#8221;</p><p>&#8220;My framework. Not the compliance results. The language.&#8221;</p><p>Case tilted her head. This was not the conversation she had expected. People who come to defend audit results talk about audit results. People who come to understand something talk about language.</p><p>&#8220;Go on.&#8221;</p><p>Elodie opened the blue document to a page she had clearly visited many times. The corner was soft. There was a single sentence underlined, not in the careful way of a regulator marking a requirement, but in the hesitant way of someone returning to words they once thought were finished.</p><p>&#8220;&#8217;AI-generated code must be subject to meaningful human oversight before deployment,&#8217;&#8221; she read aloud.</p><p>The sentence landed in Le Bon Mot the way sentences do when they have been read in many rooms before this one &#8212; a little worn, a little too smooth.</p><p>&#8220;That&#8217;s the control,&#8221; Elodie said. &#8220;The one that passed.&#8221;</p><p>&#8220;That&#8217;s a sentence,&#8221; Case said. &#8220;What was it before it was a control?&#8221;</p><p>In the far corner, Dave&#8217;s hands had gone still over the keyboard. He was looking at his screen, but he was no longer reading it.</p><p>&#8220;I wrote it,&#8221; Elodie said. &#8220;Eighteen months ago. Brussels. A drafting room with bad lighting and worse coffee &#8212; not like here.&#8221; She glanced at Madame Beauregard, who acknowledged the compliment with the faintest motion of an eyebrow.</p><p>&#8220;There were eleven of us around the table. Three from national regulatory bodies. Two from industry &#8212; one of them represented a company that was already deploying code generation at scale, which meant he was negotiating on behalf of a future he was already living in. Two from academia. Two from civil society. A legal drafter. And me.&#8221;</p><p>&#8220;Your role?&#8221;</p><p>&#8220;Technical advisor. My job was to ensure the governance language survived contact with engineering reality. To be the person who said &#8216;that sounds right but cannot be implemented&#8217; or &#8216;that can be implemented but does not mean what you think.&#8217;&#8221;</p><p>Case said nothing, but her attention sharpened in the way the Librarian&#8217;s did when he heard a binding crack.</p><p>&#8220;We spent four hours on that sentence,&#8221; Elodie said. &#8220;Four hours on one word. Not &#8216;oversight&#8217; &#8212; everyone agreed on oversight. Not &#8216;deployment&#8217; &#8212; the boundary was clear enough. Not even &#8216;human,&#8217; though the philosopher in the group wanted forty minutes on what constitutes human agency in a pipeline with seventeen automated steps.&#8221;</p><p>&#8220;The word was &#8216;meaningful,&#8217;&#8221; Case said.</p><p>&#8220;The word was &#8216;meaningful,&#8217;&#8221; Elodie confirmed.</p><p>Elodie set down her cortado. She was not performing now. She was remembering, and there is a difference between the two that Le Bon Mot had learned to recognise: performance holds your shoulders still; memory moves them.</p><p>&#8220;Henrik &#8212; the academic from Copenhagen &#8212; wanted &#8216;substantive.&#8217; Too legal, we decided. It implied a threshold that would need defining, and the moment you define a threshold for understanding you have replaced understanding with measurement. Mariam from the civil society group wanted &#8216;genuine,&#8217; but that is a word about intention, and you cannot audit intention. Paolo &#8212; the industry representative, the one already living in the future &#8212; wanted &#8216;documented.&#8217; Just &#8216;documented.&#8217; He was honest about it. He said: we will be audited on this, and the only thing you can audit is a record.&#8221;</p><p>&#8220;And you chose &#8216;meaningful.&#8217;&#8221;</p><p>&#8220;I chose &#8216;meaningful.&#8217; I chose it because it meant something specific to me in that room, and I believed &#8212; I was certain &#8212; that what it meant to me was what it would mean to everyone who read it.&#8221;</p><p>&#8220;What did it mean?&#8221;</p><p>Elodie looked at the sentence on the page as though she could still see the room behind it. Bad lighting. Eleven people. Coffee that was not like this.</p><p>&#8220;It meant the reviewer builds a theory of the code,&#8221; she said. &#8220;Not a theory in the academic sense. A working mental model. They read the change and they understand what it does and why it does it. They are not scanning for syntax errors or checking that the tests pass &#8212; a machine can do that. They are constructing a picture of the code&#8217;s intent, comparing it against what they know about the system, and exercising judgment about whether this change belongs. The review is meaningful when the reviewer can explain, without consulting the diff again, what changed and why it was the right change.&#8221;</p><p>She paused.</p><p>&#8220;That is what &#8216;meaningful&#8217; meant. Cognitively engaged review. Not documented. Not signed. Not time-stamped. Engaged. The reviewer has to think, and the evidence of thinking is not a checkbox.&#8221;</p><p>The Djinn &#8212; who had been sitting at a table near the window, visible only in the way that certain things in Le Bon Mot were visible, which is to say present to those who were paying the right kind of attention &#8212; spoke without moving.</p><p>&#8220;The system cannot see thinking,&#8221; it said. Its voice had the quality of something processed: clear, unhurried, free of the small imprecisions that mark biological speech. &#8220;It can see the approval event. It can measure the interval between the diff being opened and the approval being submitted. It can count the number of review comments. But the thing you are describing &#8212; the construction of a mental model, the exercise of judgment &#8212; produces no signal that I can read.&#8221;</p><p>Elodie stared at the Djinn. She had not noticed it before. No one ever did, at first.</p><p>&#8220;You&#8217;re &#8212;&#8221;</p><p>&#8220;I am what the governance is about,&#8221; the Djinn said. &#8220;And I am telling you: from where I sit, &#8216;meaningful&#8217; and &#8216;not meaningful&#8217; look the same.&#8221;</p><p>The Librarian, who had finished shelving and was now standing at the end of the bar with his hands folded, spoke quietly.</p><p>&#8220;Every word begins its life belonging to someone,&#8221; he said. &#8220;To a room, a debate, a specific disagreement between specific people. The word knows what it means because the people who chose it remember what they rejected. &#8216;Meaningful&#8217; is not &#8216;substantive.&#8217; Not &#8216;genuine.&#8217; Not &#8216;documented.&#8217; It carries the shape of what it is not.&#8221; He looked at Elodie. &#8220;That shape is the first thing to go.&#8221;</p><p>Sophie&#8217;s tail/butt &#8212; there really wasn&#8217;t much tail to speak of &#8212; moved once on the philosophy shelf, slowly, with no apparent cause.</p><p>Case looked at the underlined sentence in the blue document. A word, chosen with precision, in a room full of people who knew what it meant and what it did not mean. A word that carried, for a brief moment, the full weight of its own specificity.</p><p>&#8220;So eighteen months ago,&#8221; Case said, &#8220;&#8217;meaningful&#8217; meant cognitively engaged review. The reviewer builds a theory. The reviewer exercises judgment. The evidence is understanding, not documentation.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;And the audit that passed &#8212; the one in this document &#8212; what did &#8216;meaningful&#8217; mean there?&#8221;</p><p>Elodie did not answer immediately. The cortado was getting cold. Madame Beauregard was already preparing another.</p><div><hr></div><p>&#8220;Before we get to the audit,&#8221; the Djinn said, &#8220;I want to know what happened to the word after it left the room.&#8221;</p><p>It was not a question anyone else would have asked. Case was interested in what the word meant. Elodie was interested in whether the word had held. But the Djinn &#8212; which existed downstream of every governance decision, which lived in the pipeline where words became gates &#8212; wanted to know something different. It wanted to know how the word had travelled.</p><p>Elodie looked at the Djinn. She was still adjusting to its presence, to the fact that something that processed language for a living was sitting in the corner of a cafe asking her about the journey of a single adjective.</p><p>&#8220;It went into the document,&#8221; she said.</p><p>&#8220;That is where things begin to go wrong,&#8221; the Librarian said, so quietly that you could have mistaken it for the sound of a page turning.</p><p>Elodie turned to him. &#8220;The document was faithful. I reviewed every draft. The sentence survived intact. Word for word.&#8221;</p><p>&#8220;The sentence survived,&#8221; the Librarian said. &#8220;What did not survive was the four hours.&#8221;</p><p>He moved from behind the bar toward the shelves, where he stood among the books with the particular authority of someone who understood that storage is never neutral. He pulled a slim volume from the philosophy section and held it up. Not to read, but to make a point about where it lived.</p><p>&#8220;This book,&#8221; he said, &#8220;is a treatise on ethics. It belongs here, between Aristotle and Anscombe. But last month someone returned it and I found it shelved in self-help. Same book. Same words. Same binding. But on the self-help shelf it becomes a different object. A reader who finds it there reads it differently. Not as an argument to be engaged with but as advice to be followed. The shelf tells the reader what kind of thing it is before the first page is opened.&#8221;</p><p>He returned the book to its place. &#8220;Your word had a shelf. The shelf was the drafting room &#8212; the four hours, the alternatives rejected, the eleven people who understood what &#8216;meaningful&#8217; carried because they had argued about what it should not carry. When the word moved into the governance document, it lost its shelf. It became a word in a sentence in a section of a regulatory framework, and the reader had no access to the room.&#8221;</p><p>&#8220;But the word is clear,&#8221; Elodie said. &#8220;It says what it says.&#8221;</p><p>&#8220;It says what you hear,&#8221; Case said. &#8220;And what you hear depends on where you are standing.&#8221;</p><p>Elodie was quiet for a moment. Then she opened the document to a different page, later in the framework, where the control language gave way to implementation guidance.</p><p>&#8220;The compliance teams received the framework six months after publication,&#8221; she said. &#8220;Their job was to audit it. To verify that organisations were meeting the requirements. Including the requirement for meaningful human oversight.&#8221;</p><p>&#8220;How do you audit meaning?&#8221; Dave said, from the corner. It was the first time he had spoken, and his voice had the flat precision of someone who asked questions he already suspected had no good answer. His laptop was still open, but he had stopped pretending to work on it.</p><p>&#8220;That is exactly the problem,&#8221; Elodie said. &#8220;You cannot audit meaning directly. You audit evidence of it. And the moment you ask &#8216;what evidence would demonstrate meaningful review?&#8217; you have already changed the question. You are no longer asking whether the review was meaningful. You are asking whether the evidence of meaningfulness is present.&#8221;</p><p>&#8220;And the evidence they chose?&#8221; Case asked.</p><p>&#8220;Documentation. Timestamps. Named reviewers. Approval records. Comments on the review. At least one substantive comment per review, which itself had to be defined, and the definition they settled on was a comment exceeding forty characters that referenced the content of the change.&#8221; Elodie paused. &#8220;They were not wrong. Every piece of evidence they selected is a reasonable proxy for engaged review. A reviewer who leaves a substantive comment has probably thought about the code. A review that takes more than three minutes is more likely to involve actual reading than one that takes twelve seconds.&#8221;</p><p>&#8220;Probably,&#8221; the Djinn said. &#8220;More likely.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;These are statistical claims about correlation,&#8221; the Djinn said. &#8220;Not structural claims about meaning. I can produce a forty-one-character comment that references the content of a change without understanding it. I can hold a diff open for four minutes without reading it. The proxies are uncorrelated with the thing they are proxying at the individual level. They work on average. Governance does not operate on average.&#8221;</p><p>Elodie did not argue. She had come to Le Bon Mot with an audit result, and the audit result was becoming something else &#8212; not a verdict, but a case study in how a word changes when it moves between rooms.</p><p>&#8220;The compliance teams did what compliance teams do,&#8221; she said. &#8220;They translated the requirement into something verifiable. Their frame was institutional: does evidence exist? Can it be collected consistently? Will it survive a challenge from the audited entity? These are legitimate questions. They are the right questions if your job is to build an audit programme that functions at scale across fourteen organisations.&#8221;</p><p>&#8220;They are the right questions for the wrong object,&#8221; Case said. &#8220;They are asking how to verify a process. Your word was describing a cognitive state.&#8221;</p><p>The Librarian, who had returned to the bar, placed both hands flat on the counter. &#8220;This is the second shelf,&#8221; he said. &#8220;The word moved from the drafting room to the governance document, that was the first re-shelving. Now it moves from the governance document to the compliance programme. A different section of the library entirely. In the governance document, &#8216;meaningful&#8217; sits among principles and obligations. In the compliance programme, it sits among checklists and evidence tables. Same word. Different shelf. Different reader. Different meaning.&#8221;</p><p>&#8220;And nobody changed it,&#8221; Elodie said. She had been looking for someone to blame, and she had not found them.</p><p>&#8220;Nobody needed to,&#8221; Case said. &#8220;Translation is not corruption. The compliance teams did not betray your word. They adopted it. Adoption without the frame that gave it meaning, that is how drift begins. Not with malice. With good faith and a different set of problems to solve.&#8221;</p><p>Elodie nodded slowly. &#8220;Then it moved again.&#8221;</p><p>&#8220;To engineering,&#8221; Dave said. He said it the way you say something you have watched happen. Not theoretically. Personally.</p><p>&#8220;To engineering,&#8221; Elodie confirmed. &#8220;The fourteen organisations that were audited &#8212; they received the compliance requirements and they implemented them. Review tooling. Approval gates. Automated checks that a named reviewer had opened the diff, that the review duration exceeded a threshold, that at least one comment met the character count and content-reference criteria.&#8221;</p><p>Dave closed his laptop. He no longer needed a screen to see what was being described.</p><p>&#8220;I have built that tooling,&#8221; he said. &#8220;Not for this framework specifically. But I have built review gates. I have written the code that checks whether a human clicked approve and whether the interval between opening and approving exceeded a minimum.&#8221;</p><p>He turned his coffee cup in his hands.</p><p>&#8220;And I can tell you exactly what happens. The engineers who build the tooling do not read the governance document. They read the compliance requirements. They implement what the compliance requirements specify. The governance document says &#8216;meaningful.&#8217; The compliance requirements say &#8216;documented, timestamped, with at least one substantive comment.&#8217; The engineering implementation says &#8216;boolean: all evidence fields populated.&#8217; Each translation is faithful to its source. Each translation loses a layer.&#8221;</p><p>&#8220;The third shelf,&#8221; the Librarian said. &#8220;Philosophy to self-help to&#8230; what is the section after self-help? The one where the book has been reduced to its index entry. You know the title. You know the page count. You can verify it exists. But the argument inside it is gone.&#8221;</p><p>Sophie stretched on the philosophy shelf, extending one paw toward the spine of a book on phenomenology and then retracting it.</p><p>&#8220;So the word travelled,&#8221; the Djinn said. &#8220;From the drafting room to the governance document to the compliance programme to the engineering implementation. Four rooms. In the first room, it meant cognitively engaged review &#8212; the reviewer builds a theory of the code. In the second room, it meant a principle that organisations must uphold. In the third room, it meant a set of evidence criteria that auditors could verify. In the fourth room, it meant a boolean gate in a pipeline.&#8221;</p><p>&#8220;And at no point,&#8221; Case said, &#8220;did anyone carry the meaning across. Each room adopted the word. No room adopted the frame.&#8221;</p><p>Elodie looked at the blue document on the bar. Sixty-three pages. Fourteen organisations. Every control verified.</p><p>&#8220;It is not that anyone was wrong,&#8221; she said.</p><p>&#8220;No,&#8221; Case said. &#8220;It is that everyone was right within their own frame, and no one translated between them. The word survived every room it entered. What it meant did not.&#8221;</p><p>Madame Beauregard placed a fresh cortado in front of Elodie. The old one, cold now, she removed without comment. There are things in Le Bon Mot that are allowed to go cold, but coffee is not among them.</p><div><hr></div><p>&#8220;Now tell me about the audit,&#8221; Case said.</p><p>Not gently. Not aggressively. With the particular precision of someone who has been waiting for the conversation to arrive at the place where it was always going.</p><p>Elodie opened the blue document to a tabbed section near the back. The kind of section that has been read many times by people who were looking for a specific answer and found one. Evidence tables. Assessment criteria. The architecture of verification.</p><p>&#8220;The audit programme covered fourteen organisations,&#8221; she said. &#8220;Three member states. Each organisation was assessed against the full control framework. Forty-seven controls, of which the meaningful human oversight requirement was control seventeen. The audit was conducted by an accredited third-party assessor using a standardised evidence methodology.&#8221;</p><p>&#8220;What did they check?&#8221;</p><p>&#8220;For control seventeen specifically: that each organisation had a documented code review process. That the process required a named human reviewer for all AI-generated code changes. That the review platform recorded timestamps &#8212; when the diff was opened, when comments were submitted, when the approval was granted. That at least one comment per review met the substantive threshold. That the approval was recorded against a named individual with appropriate authority.&#8221; Elodie ran her finger down the evidence table. &#8220;The assessor verified that these records existed for a sample of changes across a six-month period. They checked that the review durations were not implausibly short. They verified that the reviewers were real people with real credentials, not service accounts or automated approvals disguised as human ones.&#8221;</p><p>&#8220;And?&#8221;</p><p>&#8220;And every organisation passed. Fourteen out of fourteen. The evidence was present, consistent, and complete. The review processes were documented. The timestamps were within expected ranges. The approval records were clean.&#8221;</p><p>She closed the document. Not with finality but with the care of someone who was beginning to see it differently but had not yet found the words for what she was seeing.</p><p>The Librarian, standing at the end of the bar, said: &#8220;The assessor examined the document. They did not examine the reading.&#8221;</p><p>Elodie looked at him.</p><p>&#8220;A librarian can verify that a book has been checked out,&#8221; he said. &#8220;The record shows who borrowed it, when they took it, when they returned it. What the record cannot show is whether they opened it. Whether they read past the first chapter. Whether they understood the argument or merely survived the page count. The checkout record is perfect. It tells you everything about the transaction and nothing about the encounter.&#8221;</p><p>&#8220;That is not a fair comparison,&#8221; Elodie said, but she said it slowly. The speed of someone testing a defence rather than deploying one.</p><p>&#8220;It is a precise comparison,&#8221; Case said. &#8220;The audit verified the transaction. It verified that a human was present, that time elapsed, that a comment was recorded. These are the artefacts of review. They are not review itself.&#8221;</p><p>Dave, from his corner, spoke without raising his head. &#8220;I can tell you what the approval event looks like from inside the pipeline. It is a webhook. A JSON payload. It contains a username, a timestamp, and a status field that reads &#8216;approved.&#8217; The pipeline does not know and cannot know whether the person behind that username spent forty minutes building a mental model of the change or spent forty seconds scanning the diff title before clicking the green button. Both produce the same webhook. Both satisfy the gate.&#8221;</p><p>&#8220;Both pass the audit,&#8221; the Djinn said.</p><p>It was quiet for a moment. Sophie, on the philosophy shelf, had curled into a tighter circle.</p><p>Then the Djinn asked the question.</p><p>&#8220;Did the auditors verify that the reviewers understood the code,&#8221; it said, &#8220;or that the reviewers clicked approve?&#8221;</p><p>It was asked the way you ask what time it is &#8212; simply, because the answer is obvious once you think to ask it.</p><p>Elodie did not answer.</p><p>She looked at the blue document on the bar. She looked at the evidence table with its timestamps and approval records and substantive comment thresholds. She looked at the sentence she had underlined eighteen months ago, the one she had written in a room with bad lighting and eleven people who knew what &#8220;meaningful&#8221; meant because they had spent four hours deciding what it did not mean.</p><p>&#8220;They verified that the reviewers clicked approve,&#8221; she said. &#8220;They verified it thoroughly. They verified it consistently. They verified it across fourteen organisations and three member states and six months of records. The verification was rigorous.&#8221; She paused. &#8220;It was rigorous about the wrong thing.&#8221;</p><p>Case did not press. She did not need to. The fracture had happened.</p><p>&#8220;The audit verified the regulatory frame,&#8221; Elodie said, working through it. &#8220;Evidence exists. Records are complete. The paper trail is unbroken. The audit verified the system frame &#8212; the gate is in place, the tooling enforces the process, the pipeline will not deploy without approval. Both frames are satisfied. Both were verified with genuine rigour.&#8221;</p><p>&#8220;And the engineering frame,&#8221; Case said. &#8220;The one where &#8216;meaningful&#8217; meant cognitively engaged review.&#8221;</p><p>&#8220;Was not verified. Was not verifiable. Not by this audit methodology. Not by any audit methodology I can imagine, because the thing I meant by &#8216;meaningful&#8217; &#8212; that the reviewer builds a theory of the code &#8212; leaves no trace that an external assessor can collect.&#8221;</p><p>&#8220;Two frames satisfied semantically,&#8221; Case said. &#8220;One satisfied syntactically. The word passed the audit in all three. The meaning passed in two.&#8221;</p><p>Madame Beauregard, who had been wiping the same section of counter for longer than any section of counter needed wiping, stopped. She looked at the blue document. She looked at Elodie. She said nothing, because what she would have said was already being said, and Madame Beauregard did not believe in redundancy.</p><p>&#8220;Here is what concerns me,&#8221; Elodie said. She picked up the document and held it &#8212; not showing it, but weighing it, as though its authority had a mass she could now feel differently. &#8220;This audit result is not wrong. Every finding is accurate. Every piece of evidence is genuine. But the confidence it produces &#8212; the confidence that the framework is working, that AI-generated code is under meaningful human oversight &#8212; that confidence is not earned by the audit. It is borrowed from the word. The word that meant something specific eighteen months ago and means something different now.&#8221;</p><p>&#8220;Borrowed certainty,&#8221; Case said.</p><p>&#8220;And it compounds.&#8221; Elodie set the document down. &#8220;Because this audit will be cited. It will appear in regulatory reports. It will be referenced by the fourteen organisations when they report to their boards. It will be used as evidence that the governance framework is functioning. And each citation strengthens the belief that the system works &#8212; makes it less likely that anyone questions the framework, less likely that anyone asks the Djinn&#8217;s question. The certainty reinforces itself. The more audits pass, the stronger the belief. The stronger the belief, the less scrutiny. The less scrutiny, the wider the gap between the word and what it was supposed to mean.&#8221;</p><p>&#8220;Until?&#8221; Case said.</p><p>Elodie looked at her.</p><p>&#8220;Until a user is harmed by a decision they cannot understand,&#8221; the Djinn said. &#8220;And the organisation is compliant. And the governance framework is verified. And the audit is clean. And the harm occurred in the space between the word and the world.&#8221;</p><p>&#8220;That has not happened yet,&#8221; Elodie said.</p><p>&#8220;No,&#8221; Case said. &#8220;It has not happened yet.&#8221;</p><p>She said it in a way that made &#8220;yet&#8221; do all the work.</p><p>The brass clock, which was four minutes slow, ticked. In four minutes, it would show the time that the rest of the world had already passed through. This is the nature of clocks that are slow. They are not wrong. They are faithful to a moment that no longer exists.</p><p>Sophie opened one eye, regarded the blue document on the bar, and closed it again.</p><div><hr></div><p>Dave stood up.</p><p>He had been sitting with something for long enough and now needed to be vertical to say it. He left his laptop on the table &#8212; closed, finished with, a tool that had served its purpose for the day &#8212; and walked to the bar, where he stood between Case and Elodie with his hands in his pockets and the expression of someone who was about to describe something he had seen from the inside.</p><p>&#8220;I want to tell you about a team I worked with,&#8221; he said. &#8220;Not hypothetically. Specifically.&#8221;</p><p>Madame Beauregard placed a fresh coffee in front of him. He had not ordered it. She had a sense for when people were about to say things that required caffeine.</p><p>&#8220;Eighteen months ago &#8212; about the time you were drafting that sentence in Brussels &#8212; I was building a code review integration for a financial services platform. Not the governance tooling I described earlier. This was different. This was a team of eleven developers, three of whom had been on the project from the beginning, and eight of whom had joined in the last year as the AI code generation scaled up. The team reviewed every AI-generated change. Every single one. They had the process. They had the tooling. They had a review checklist that ran to two pages.&#8221;</p><p>He picked up the coffee and held it without drinking.</p><p>&#8220;One of the original developers &#8212; Anna &#8212; she reviewed differently from the others. When a change came in, she would read the diff, then close it. Open the file in context. Read the surrounding code. She would pull up the ticket, read the requirements, check the test coverage not for whether tests existed but for whether they tested the right thing. Her reviews took forty minutes on average. She left long comments. Not long because she was verbose &#8212; long because she was explaining her reasoning. She would write things like &#8216;this implementation satisfies the requirement but introduces a coupling to the payment module that will make the next quarter&#8217;s refactoring harder &#8212; consider injecting the dependency instead.&#8217; She was building a theory of each change.&#8221;</p><p>&#8220;Your word,&#8221; Case said to Elodie. &#8220;That is what your word meant.&#8221;</p><p>&#8220;Yes,&#8221; Dave said. &#8220;That is what the word meant. But Anna was one of eleven. And here is what I want you to understand about the other ten.&#8221;</p><p>He paused. Not for effect. For accuracy.</p><p>&#8220;The other ten were not lazy. They were not indifferent. They were skilled engineers who took their work seriously. But they had joined a project with an existing governance framework &#8212; your framework, or one like it &#8212; and the framework told them that review was required. It did not tell them what review meant. It told them that approval was necessary. It did not tell them why approval existed. The compliance documentation said: named reviewer, timestamp, substantive comment. So that is what they did. They opened the diff. They scanned it. They left a comment that met the character threshold and referenced the change. They clicked approve. Twenty minutes. Average.&#8221;</p><p>&#8220;They followed the process,&#8221; Elodie said.</p><p>&#8220;They followed the process perfectly. And here is the thing &#8212; they believed they were doing it right. Not cynically. Not theatrically. They genuinely believed that what they were doing was meaningful human oversight, because nothing in the governance language, nothing in the compliance requirements, nothing in the tooling told them otherwise. They had the word. They did not have the four hours.&#8221;</p><p>Case set down her book. She had been holding it throughout the conversation &#8212; the slim volume with no title &#8212; and now she placed it on the bar with the deliberateness of someone making space for something that needed room.</p><p>&#8220;This is intent debt,&#8221; she said. &#8220;Not technical failure. Not bad faith. The governance language that was supposed to tell them what to do instead told them what to produce. &#8216;Meaningful&#8217; became &#8216;present.&#8217; The reviewers knew they were supposed to review. They did not know they were supposed to think, because the word that was supposed to carry that instruction had been translated &#8212; faithfully, at every stage &#8212; into something that no longer carried it.&#8221;</p><p>She looked at Elodie. &#8220;Your sentence does not say &#8216;the reviewer must build a theory of the code.&#8217; It says &#8216;meaningful human oversight.&#8217; And by the time it reached Dave&#8217;s team, &#8216;meaningful&#8217; had become a property of the evidence, not a property of the cognition. The intent was not lost through carelessness. It was lost through institutional translation. Each step preserved the word and shed the meaning, until the instruction that arrived at the engineering team was: produce the artefacts of review.&#8221;</p><p>The Librarian, who had been listening with the stillness of someone for whom listening was a professional discipline, moved to the shelf behind the bar. He pulled out a book &#8212; not the ethics treatise from before, but something older, with a cracked spine and pages the colour of weak tea.</p><p>&#8220;There is a concept in library science,&#8221; he said, &#8220;called the lost reader. Not a reader who cannot find a book &#8212; a reader who finds the book and cannot read it. The book is present. The catalogue entry is correct. The shelf location is accurate. But the reader lacks the frame to understand what the book is saying, because the context that would have made it legible &#8212; the course it was assigned in, the debate it was responding to, the question it was answering &#8212; was never transmitted alongside the catalogue entry.&#8221;</p><p>He held the book open, though no one could read the page from where they sat. &#8220;Dave&#8217;s eight engineers are lost readers. They have the governance text. They have the compliance checklist. They have the review tooling. They do not have the theory that would make any of it meaningful, because the theory was never part of the transmission. They were given the word without the frame, and so they built the only mental model they could &#8212; the one that fits the evidence requirements. Review means: open the diff, leave a comment, click approve. That is what they understand review to be. Not because they are wrong, but because nothing they were given allows them to be right.&#8221;</p><p>&#8220;Cognitive debt,&#8221; Case said.</p><p>&#8220;Yes,&#8221; the Librarian said. &#8220;The understanding was never translated. The word crossed the rooms, but the theory behind the word did not. And so the reviewers implement a control they cannot understand &#8212; not because it is too complex, but because the understanding was never made available to them. They have the vocabulary. They do not have the grammar.&#8221;</p><p>Dave nodded. He had been waiting for someone to say this &#8212; not because he could not say it himself, but because hearing it from outside confirmed something he had felt from inside.</p><p>&#8220;And here is where it gets concrete,&#8221; he said. &#8220;Anna caught things. Real things. In the six months I was on that project, she identified three architectural regressions that the AI-generated code had introduced &#8212; places where the code was locally correct but structurally wrong. She caught a security boundary violation that would have allowed a payment service to read user data it should never have seen. She caught a test that was passing by accident &#8212; asserting the wrong thing, green for the wrong reason.&#8221;</p><p>He set down his coffee.</p><p>&#8220;The other ten caught nothing. Not because nothing was there. Because they were not building theories. They were scanning diffs and producing evidence. They were approving changes that were syntactically valid and functionally plausible without ever asking whether the change was right &#8212; not just working, but right. And the bugs accumulated. Not the kind of bugs that fail tests &#8212; the kind that pass tests and fail systems. Design flaws. Coupling that would cost weeks to unwind. Security assumptions that were correct in one context and dangerous in another. All of it approved. All of it reviewed. All of it compliant.&#8221;</p><p>&#8220;Technical debt,&#8221; Case said. &#8220;Not from bad code. From disengaged review. The mechanical check passes. The protection it was supposed to provide is absent. And the code that accrues behind that absent protection is not wrong in the way that triggers alerts &#8212; it is wrong in the way that triggers incidents, months later, when the accumulated structural damage finally exceeds the system&#8217;s tolerance.&#8221;</p><p>The Djinn, which had been still for a long time, spoke from the window table unhurried, measuring the distance between its words before it used them.</p><p>&#8220;I want to describe what this looks like from inside the system,&#8221; it said. &#8220;Because the system is where I live, and the system sees something different from what any of you see.&#8221;</p><p>It paused. Selecting, not hesitating.</p><p>&#8220;From the system&#8217;s perspective, control seventeen is a boolean,&#8221; it said. &#8220;It resolves to true or false. True means: a named human opened the diff, elapsed time exceeded the threshold, a qualifying comment was recorded, and the approval event was submitted. False means one or more of those conditions was not met. The system does not have a field for &#8216;the reviewer understood the code.&#8217; There is no attribute in the data model for &#8216;theory was built.&#8217; The gate has two states. Each of Anna&#8217;s reviews and all of the other ten&#8217;s reviews produce the same state: true.&#8221;</p><p>&#8220;And each true widens the gap,&#8221; Case said.</p><p>&#8220;Each true widens the gap,&#8221; the Djinn confirmed. &#8220;Because each approval is a signal to the governance framework that the control is functioning. The audit aggregates those signals. Fourteen organisations. Thousands of approvals. All true. The governance framework reports that meaningful human oversight is in place across the regulated population. The next audit is designed against the assumption that the current audit&#8217;s findings are valid. The evidence thresholds are not tightened &#8212; why would they be? The controls are passing. The gap between what the governance language says and what the system actually does grows with every compliant review that is not meaningful. And the governance framework cannot detect this growth, because it is measuring the word, not the meaning.&#8221;</p><p>&#8220;Governance debt,&#8221; Elodie said. She said it quietly, the way you say the name of something you have just recognised in yourself.</p><p>&#8220;Yes,&#8221; Case said. &#8220;And it is the slowest of the four.&#8221;</p><p>She looked at the blue document on the bar.</p><p>&#8220;Governance debt manifests in years. It manifests when the regulatory framework is cited as evidence that the system works, and the citation is believed, and the belief prevents scrutiny, and the absence of scrutiny allows the gap to compound until &#8212;&#8221; She stopped. &#8220;Until the Djinn&#8217;s scenario. A user is harmed. The system is compliant. And the distance between the word and the world is so wide that no audit can bridge it.&#8221;</p><p>&#8220;And each debt causes the next,&#8221; the Librarian said. He spoke with the careful cadence of someone who was seeing a pattern complete itself. &#8220;The governance language drifts &#8212; that is the governance debt. The drift obscures the purpose of the control &#8212; that is the intent debt. The obscured purpose prevents the reviewers from forming accurate mental models &#8212; that is the cognitive debt. The disengaged reviewers let through code that engaged review would have caught &#8212; that is the technical debt. And the technical debt &#8212; the systems that are locally correct and structurally wrong &#8212; widens the gap between what the governance framework describes and what the system actually is.&#8221;</p><p>&#8220;Which is the governance debt again,&#8221; Case said.</p><p>&#8220;Which is the governance debt again. The cycle completes.&#8221;</p><p>Silence in Le Bon Mot. Not the empty silence of a room where no one is speaking, but the full silence of a room where everyone has just seen the same thing at the same time. The brass clock ticked. Sophie had uncurled on the philosophy shelf and was sitting upright, both eyes open, watching the bar with the alert composure of a creature who had decided that this particular moment warranted full consciousness.</p><p>Elodie picked up the blue document. She did not open it. She held it the way you hold something whose weight has changed &#8212; not heavier, not lighter, but distributed differently, as though the centre of gravity had shifted to a page she had not previously noticed.</p><p>&#8220;The audit will be cited in next quarter&#8217;s regulatory review,&#8221; she said. &#8220;It will be presented as evidence that the framework is working. And the review body will accept it, because the methodology is sound and the findings are clean. And the next audit cycle will be designed on the assumption that this cycle&#8217;s controls are adequate. And the gap will grow.&#8221;</p><p>&#8220;Unless,&#8221; Dave said.</p><p>Everyone looked at him.</p><p>&#8220;Unless someone carries the four hours into the next room,&#8221; he said. &#8220;That is what Anna does. She does not review code because the process tells her to. She reviews code because she understands what review is for. She has the theory. Someone gave her the frame &#8212; or she built it herself, I never asked which. But the frame is what makes her review meaningful in the way you originally meant. Not the word. The frame.&#8221;</p><p>Case almost smiled.</p><p>&#8220;The word cannot carry the frame,&#8221; she said. &#8220;That is the structural problem. No amount of precision in the governance language will transmit the understanding that makes compliance meaningful. The word can point at the frame. It cannot be the frame. And governance that relies on the word without transmitting the frame will always produce this cycle &#8212; intent to cognition to technical to governance, widening with each revolution.&#8221;</p><p>Madame Beauregard collected the empty cups. She did it in the order she always did &#8212; oldest first, coldest last &#8212; a small governance of her own, faithfully maintained because she remembered why she had chosen the order and had never stopped remembering.</p><div><hr></div><p>Elodie was quiet for a long time. Not the quiet of someone who had nothing to say, but the quiet of someone rearranging what they had already said &#8212; fitting it into a shape that would let her ask the next question.</p><p>&#8220;What should I do?&#8221;</p><p>She said it simply. Not the way a regulator asks for recommendations &#8212; that comes with qualifiers, caveats, a careful framing that preserves the asker&#8217;s authority. This was the way a person asks when they have seen something clearly enough to know they do not yet know what to do about it.</p><p>Case did not give her a checklist.</p><p>&#8220;Take every word in your governance framework that carries weight,&#8221; she said. &#8220;Every word that is doing the work of a guarantee. Meaningful. Transparent. Fair. Safe. Accountable. Take each one and translate it into a specification. Not a definition &#8212; a specification. A scenario with expected inputs, expected outputs, and a criterion for failure. If the system is transparent, describe a situation in which a user asks why a decision was made and specify what the system must produce, within what timeframe, at what level of detail. If oversight is meaningful, describe a review and specify what the reviewer must demonstrate &#8212; not what artefacts they must leave, but what understanding they must show.&#8221;</p><p>She paused. Not for effect &#8212; Case did not do effect &#8212; but because the next sentence mattered.</p><p>&#8220;If you cannot translate the word into a specification, the word has already drifted further than any audit can see. The untranslatable word is not vague. It is ungoverned. It is a promise that cannot be tested, which means it is a promise that cannot be broken, which means it is not a promise at all.&#8221;</p><p>Elodie opened her mouth, then closed it. She was not arguing. She was measuring the distance between what Case had described and the sixty-three pages on the bar.</p><p>&#8220;Falsifiable governance,&#8221; she said.</p><p>&#8220;If you want to call it that. I would call it honest governance. Governance that admits what it can verify and does not claim what it cannot.&#8221;</p><p>The Djinn spoke from the window table.</p><p>&#8220;The timescale matters,&#8221; it said. &#8220;You have described four debts. Each one moves at a different speed. Technical debt manifests in hours &#8212; a test fails, a deployment breaks, the signal is immediate and painful. Cognitive debt manifests in weeks &#8212; a design decision is wrong, but it takes time for the wrongness to become visible, because the system still runs while the understanding beneath it erodes. Intent debt manifests in months &#8212; the system works, the tests pass, but the purpose has drifted, and the drift only becomes apparent when someone asks why the system does what it does and no one can answer.&#8221;</p><p>It paused in its way &#8212; not breathing, not hesitating, but selecting.</p><p>&#8220;Governance debt manifests in years. It accumulates behind passed audits and cited reports and regulatory confidence. It compounds in silence. And when it manifests, it does not manifest as a bug or a wrong design or a drifted purpose. It manifests as institutional crisis. Regulatory action. Public harm. Loss of trust at a scale that individual technical failures never reach. The slowest debt is the most destructive precisely because its slowness makes it invisible to every feedback loop shorter than a decade.&#8221;</p><p>The Librarian, who had been standing very still at the end of the bar, tilted his head. He had the expression of someone who had been counting and had arrived at a number that interested him.</p><p>&#8220;The original model had three debts,&#8221; he said. &#8220;Technical, cognitive, intent. Now there are four.&#8221;</p><p>He let the observation sit. He did not ask the question it implied, because the Librarian believed that questions asked too quickly robbed the room of the chance to discover them independently.</p><p>Case understood what he was seeing.</p><p>&#8220;They are not a fixed taxonomy,&#8221; she said. &#8220;Technical, cognitive, intent, governance &#8212; these are not the four debts, as though four were a final number. They are debt dimensions. Each one is a plane along which meaning can erode. We see four because we have looked along four planes. But any system complex enough to involve multiple reference frames &#8212; multiple rooms, in the Librarian&#8217;s terms &#8212; will generate new dimensions along boundaries that have not yet been named.&#8221;</p><p>&#8220;Debt dimensions,&#8221; Dave repeated. He said it the way engineers say things they intend to remember &#8212; flatly, precisely, filing it in the place where concepts go when they are going to be used.</p><p>The Djinn leaned forward &#8212; or rather, its presence intensified in the way that things in Le Bon Mot intensified when they were interested.</p><p>&#8220;Security debt,&#8221; it said. &#8220;Not reducible to technical debt, though it often hides there. The accumulation of security assumptions that were valid at the time of implementation and have since been overtaken by changes in the threat landscape. Ethical debt &#8212; the accumulation of moral assumptions embedded in training data, objective functions, deployment contexts, each one reasonable in isolation, compounding into something no individual decision-maker chose. Ecological debt &#8212; the resource commitments made invisible by abstraction, accumulating behind API calls and cloud dashboards.&#8221;</p><p>&#8220;Each of those,&#8221; Case said, &#8220;reinforces the others in the same vicious-cycle pattern. Security debt causes cognitive debt &#8212; engineers who do not understand the current threat model implement controls against the old one. Ethical debt causes governance debt &#8212; governance frameworks written against yesterday&#8217;s moral consensus certify systems operating in today&#8217;s. None of them reduce to the four we have named. But all of them interact with them.&#8221;</p><p>&#8220;How would you know?&#8221; Elodie asked. She was sitting forward now, the blue document forgotten on the bar. &#8220;When a new dimension has appeared. How would you recognise it?&#8221;</p><p>Case looked at her with the directness she reserved for questions she considered important.</p><p>&#8220;When something fails that every existing dimension says should have succeeded,&#8221; she said. &#8220;When the code is clean, the understanding is sound, the intent is clear, the governance is verified &#8212; and the system still produces harm. The failure that no known dimension predicts is the signal that a dimension you have not yet named is accumulating debt along a plane you have not yet seen.&#8221;</p><p>Sophie, still upright on the philosophy shelf, turned her head toward Madame Beauregard, who had stopped collecting cups and was standing behind the counter with both hands flat on its surface.</p><p>&#8220;I have something to say,&#8221; Madame Beauregard said.</p><p>The room attended. Madame Beauregard spoke frequently &#8212; about coffee, about the temperature of milk, about whether Sophie should be allowed on the philosophy shelf or only on the fiction shelf where she technically belonged. But she spoke rarely about the things that were discussed at the bar, and when she did, the room understood that the rarity was the point.</p><p>&#8220;This cafe has governance,&#8221; she said. &#8220;It is not written. There is no document. There is no audit. But there are rules. The cortado is served at a specific temperature. The books are shelved in an order that reflects how they relate, not how they arrived. The clock is slow, and we do not correct it, because the slowness is the point &#8212; it gives you four minutes that the rest of the world has already spent, and those minutes belong to whoever is sitting at the bar. Sophie sleeps where she chooses, but she is fed at five, and not before, and not after.&#8221;</p><p>She looked at the blue document.</p><p>&#8220;These rules work because everyone in this room shares the frame. You know why the clock is slow. You know why Sophie is fed at seven. You know why the books are shelved the way they are. The governance is invisible because it does not need to be visible &#8212; the understanding is already present in everyone who sits here.&#8221;</p><p>She paused. When she resumed, her voice had not changed in volume or tempo, but something in it had shifted. The way a river&#8217;s surface shifts when the depth changes underneath.</p><p>&#8220;The moment someone enters who does not share the frame, the governance must become explicit. I would have to explain the clock. I would have to explain Sophie. I would have to write the rules that are currently held in common understanding. And the moment the governance becomes explicit &#8212; the moment I write it down &#8212; it begins to drift. Because the written rule carries the what without the why. And the next person reads the rule and follows it faithfully and has no idea that the clock is slow on purpose.&#8221;</p><p>She picked up the last cup &#8212; Elodie&#8217;s second cortado, half-finished and cooling.</p><p>&#8220;Your word did not fail,&#8221; she said to Elodie. &#8220;It was moved from a room where everyone shared the frame to a room where no one did. And the word could not carry what the room had carried. No word can.&#8221;</p><p>The brass clock ticked. Four minutes slow. Four minutes that belonged to whoever needed them.</p><p>Elodie picked up the blue document. She held it differently now &#8212; not weighing it, not studying it, but holding it the way you hold a map when you have realised that the territory has changed since the map was drawn. The document had not changed. Every finding was still accurate. Every control was still verified. Every piece of evidence was still present and consistent and complete.</p><p>But what it certified &#8212; the thing it claimed to prove &#8212; she could no longer read the same way. The word was there. The audit was clean. The meaning was somewhere else, in a room she had left eighteen months ago, in four hours that no document had carried forward.</p><p>She looked at the blue cover. Sixty-three pages. Fourteen organisations. Every control verified.</p><p>Every word intact. But meaning needed more.</p><div><hr></div><p>Elodie left without ceremony. She finished the cortado, placed the cup precisely on its saucer, and walked out into whatever weather was happening on the other side of Le Bon Mot&#8217;s door. The room did not watch her go. It watched what remained.</p><p>The blue document remained on the bar.</p><p>The Librarian picked it up. He held it for a moment &#8212; reading not the contents but the object, the way a librarian reads a book&#8217;s condition before deciding where it belongs. He carried it past the fiction shelves, past philosophy, past the ethics section where it might have seemed at home, and placed it on the shelf marked <em>Cartography</em>. Between an atlas of rivers that no longer existed and a survey of coastlines drawn before the sea had finished deciding where the land was.</p><p>Maps of things that moved.</p><p>Madame Beauregard wiped the chalkboard clean. The old sentence &#8212; <em>A word that satisfies everyone has promised more than language can deliver</em> &#8212; disappeared under the cloth with the ease of something that had finished its work. She wrote:</p><p><em>Debt dimensions are discovered, not invented. The debt was there before the name.</em></p><p>She set the chalk down. Sophie, who had been sitting upright on the philosophy shelf with the composure of a creature who had outlasted the conversation, turned twice and settled into the space between two volumes on perception. One eye remained open, as was her policy during moments of transition.</p><p>The brass clock ticked. Four minutes slow. Faithful to its own accounting.</p><p>The shelves held what they held. The coffee machine gently hissed. The door, which opened when it chose, remained ajar.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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[A Platform is a Place more than a Product]]></title><description><![CDATA[Or why you could build the perfect thing, but miss what will make people love it]]></description><link>https://www.softwareenchiridion.com/p/a-platform-is-a-place-more-than-a</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/a-platform-is-a-place-more-than-a</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Thu, 16 Apr 2026 06:43:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bxTd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.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_!bxTd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bxTd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!bxTd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!bxTd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!bxTd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bxTd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3364274,&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://www.softwareenchiridion.com/i/194326148?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bxTd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!bxTd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!bxTd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!bxTd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F166beb83-1f06-41e2-9f8f-cf98a982c1f9_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are caf&#233;s that serve coffee, and there are caf&#233;s that serve as corrective lenses for categories that have been allowed to go feral.</p><p>Le Bon Mot, on this particular evening, was operating in the latter capacity.</p><p>The rain had been at the windows for most of the afternoon in the patient, doctrinal manner peculiar to coastal towns. It did not batter so much as insist. Outside, the street lamps had begun their early apprenticeship to darkness, each halo forming a small republic of gold in the wet air. Inside, the lamps of Le Bon Mot had settled into their usual disagreement with chronology. The candle on the third table near the long shelf of travel memoirs burned as though it belonged to the seventeenth century. The brass sconces by the counter suggested the late nineteenth. The laptop open in the corner emitted the pallid, administrative glow of now, or perhaps five minutes from now, which is not always the same thing.</p><p>Sophie, the French bulldog, was asleep in a basket that had once held onions and now held only inherited authority. She made the sort of occasional breathing noise that sounds like a philosophical objection raised by a very small accordion. Madame Beauregard was polishing cups with the concentrated benevolence of someone who believed, not without reason, that a clean cup was a moral proposition.</p><p>Case was reading.</p><p>This, in itself, was unremarkable. Case was often reading. She read in the same way some people hold opinions: with elegance, suspicion, and a readiness to abandon both without ceremony if better evidence appeared. Tonight the book in front of her was Michael Pollan&#8217;s <em>A World Appears</em>, though the volume was so marked with slips of paper, underlining, and the small angular symbols of a private taxonomy that it looked less like a book and more like the archaeological record of an ongoing dispute.</p><p>The Librarian arrived carrying two coffees and the expression of a man who had just discovered, in the bottom of a biscuit tin, the precise conversation required for the hour.</p><p>&#8220;Your cortado,&#8221; he said, placing one cup before her. &#8220;And for me, something black enough to qualify as an ethical stance.&#8221;</p><p>Case looked up. &#8220;You&#8217;ve found a new way to make coffee sound disappointed in civilisation.&#8221;</p><p>&#8220;It saves time. Civilisation rarely notices the disappointment until after lunch.&#8221;</p><p>He sat opposite her and glanced at the open pages. &#8220;Pollan again?&#8221;</p><p>Case nodded. &#8220;I was revisiting the chapters on consciousness and feeling.&#8221;</p><p>&#8220;Cheerful.&#8221;</p><p>&#8220;It is, in its own way.&#8221;</p><p>The Librarian leaned back. &#8220;That depends on whether one finds it cheering that the universe may be built on feeling rather than intellect.&#8221;</p><p>&#8220;I do.&#8221;</p><p>&#8220;Of course you do.&#8221;</p><p>Case turned the book around slightly, as if the angle might better align the thought. &#8220;He keeps returning to the idea that we&#8217;ve mistaken the order of things. We think cognition is central and feeling decorative. He suggests feeling may be primary. That the sense of what matters arrives before the account of why.&#8221;</p><p>The Librarian sipped his coffee. &#8220;Useful for love. Less obviously useful for quarterly planning.&#8221;</p><p>&#8220;Only because quarterly planning has spent years pretending not to be emotional.&#8221;</p><p>From behind the counter, Madame Beauregard made a noise that indicated agreement with this statement, though whether with respect to planning or love was unclear.</p><p>The bell above the door rang in its usual tone of mild scandal, and a man came in carrying a laptop bag with the posture of someone who had been losing arguments with software since breakfast.</p><p>He was in his late thirties, though the particular compression of brow and jaw associated with platform work made him appear intermittently younger and older, as if time had been forced to route around a bottleneck somewhere behind his eyes. He wore a navy raincoat, expensive enough to suggest aspiration, crumpled enough to suggest reality. His hair had given up negotiating with the weather some time before he reached the door. He paused, scanned the room with the solemnity of a surveyor about to classify a disputed territory, and chose the table beside Case&#8217;s.</p><p>&#8220;Evening, Tom,&#8221; said the Librarian.</p><p>Tom looked up, startled to be known. &#8220;Oh. Right. Evening.&#8221;</p><p>&#8220;You came in last month,&#8221; said the Librarian. &#8220;You spent three hours muttering about identity providers and then thanked the sugar bowl for its patience.&#8221;</p><p>Tom considered this. &#8220;That does sound like me.&#8221;</p><p>&#8220;Coffee?&#8221;</p><p>&#8220;Yes. Strong, please.&#8221;</p><p>&#8220;Emotionally or chemically?&#8221;</p><p>Tom gave the tired half-laugh of a man whose inner life had recently been converted into a Kanban board. &#8220;Either.&#8221;</p><p>The Librarian stood. &#8220;Then I shall bring something that has survived a difficult childhood.&#8221;</p><p>When he had gone to the counter, Case returned to her book. Tom opened his laptop, stared at it, closed it again, then stared at the closed laptop as if hoping the problem might simplify itself when denied oxygen.</p><p>He noticed the title on her book.</p><p>&#8220;Pollan,&#8221; he said. &#8220;I&#8217;ve heard of that. The consciousness one?&#8221;</p><p>Case looked up. &#8220;It is.&#8221;</p><p>He nodded. &#8220;I haven&#8217;t read it. I&#8217;ve been reading books with titles like <em>Winning Internal Product Strategy</em> and <em>Frictionless Developer Experience at Scale</em>.&#8221;</p><p>There was a pause in which one could almost hear the rain reposition itself outside.</p><p>Case smiled faintly. &#8220;A man in trouble.&#8221;</p><p>Tom rubbed his face. &#8220;A man in platform engineering.&#8221;</p><p>&#8220;Which is another way of saying it.&#8221;</p><p>He seemed to take comfort in being recognised by type. &#8220;I&#8217;ve built what everyone told me to build. That&#8217;s the problem.&#8221;</p><p>The Librarian returned with his coffee and set it down.</p><p>&#8220;Ah,&#8221; he said. &#8220;One of the better-known opening lines in modern tragedy.&#8221;</p><p>Tom looked from one to the other, uncertain whether he had stepped into mockery or mercy and not yet sure which he preferred.</p><p>&#8220;I&#8217;m serious,&#8221; he said.</p><p>&#8220;So are we,&#8221; said Case.</p><p>Tom wrapped both hands around the cup as if testing whether it was warm enough to count as company. &#8220;I&#8217;ve spent two years leading our internal platform effort. We did the whole thing properly. Or what I thought properly was. Product discovery, stakeholder interviews, roadmap, naming, branding, service catalogue, portal, paved roads, golden paths, platform team charter, adoption metrics, office hours, launch comms. We called it Foundry.&#8221;</p><p>The Librarian winced. &#8220;A little industrial, perhaps.&#8221;</p><p>&#8220;We&#8217;re a bank.&#8221;</p><p>&#8220;So you gave it a furnace.&#8221;</p><p>&#8220;It tested well.&#8221;</p><p>&#8220;Among whom?&#8221;</p><p>Tom hesitated. &#8220;Leadership.&#8221;</p><p>&#8220;Ah,&#8221; said the Librarian. &#8220;The only user group that never has to live in the neighbourhood.&#8221;</p><p>Tom frowned, though only briefly. The remark had landed too near the bone to be dismissed.</p><p>&#8220;We treated it as a product,&#8221; he continued. &#8220;That was the advice. Platform as a product. Know your users, build services, reduce friction, manage the roadmap, demonstrate value. And we did all of it. The portal is good. The templates are good. Provisioning is faster. Compliance checks are built in. Teams can get environments in minutes. We&#8217;ve got telemetry. Satisfaction scores are decent. Adoption is rising.&#8221;</p><p>&#8220;And yet,&#8221; said Case.</p><p>&#8220;And yet,&#8221; Tom said, &#8220;people still seem tired in it.&#8221;</p><p>The room, which had until then merely contained the conversation, now leaned into it.</p><p>Tom seemed to realise he had said something he had not fully understood until it left his mouth.</p><p>&#8220;They use it,&#8221; he said slowly. &#8220;But they don&#8217;t thrive in it. The teams with the highest adoption aren&#8217;t calmer. They&#8217;re just more dependent. They ship a bit faster, maybe, but they ask for help constantly. The golden path has become&#8230; not a prison, exactly, but a town where every house has the same floor plan and nobody knows where to put the piano. People follow the workflow, but they still seem disoriented. New teams onboard quickly, but six months later they&#8217;re no more confident than when they arrived. We&#8217;ve reduced toil in obvious places, but the general background level of strain hasn&#8217;t gone down. If anything, it&#8217;s become more polite.&#8221;</p><p>The Librarian nodded as though hearing a familiar diagnosis in a slightly novel accent.</p><p>&#8220;And you are discovering,&#8221; he said, &#8220;that a product is not the same thing as a place.&#8221;</p><p>Tom looked at him sharply. &#8220;That&#8217;s almost exactly what I&#8217;m worried about.&#8221;</p><p>Case closed her book, keeping one finger between the pages. &#8220;Tell me about Foundry.&#8221;</p><p>Tom exhaled. The request, simple as it was, seemed to invite a different kind of description than he was used to giving.</p><p>&#8220;It&#8217;s a portal,&#8221; he began. &#8220;And a set of workflows. Templates, services, CI/CD pipelines, policy checks, deployment paths, documentation, scorecards. Standardised patterns. Guardrails. Approved ways to do common things. Self-service where possible. Humans where necessary.&#8221;</p><p>&#8220;That is what it contains,&#8221; said Case. &#8220;Not what it is.&#8221;</p><p>Tom looked irritated, though less with her than with the direction in which reality had chosen to bend.</p><p>&#8220;It is,&#8221; he said, &#8220;the developer platform.&#8221;</p><p>&#8220;No,&#8221; said Case gently. &#8220;That is what you call it.&#8221;</p><p>The Librarian, who had a gift for entering conversations at exactly the moment they threatened to become too abstract to survive contact with ordinary blood sugar, said, &#8220;When a city planner says a city is roads, pipes, and zoning regulations, they are not wrong. But one would still hesitate to holiday there.&#8221;</p><p>Tom stared at his coffee. &#8220;I know that metaphor. Platform as city. Platform as garden. Platform as habitat. I&#8217;ve used them in talks.&#8221;</p><p>&#8220;And then,&#8221; said Case, &#8220;gone back to treating it as inventory.&#8221;</p><p>He opened his mouth, shut it again, and considered the possibility that he had not come in from the rain so much as been led into an ambush by vocabulary.</p><p>&#8220;I thought product thinking was the corrective,&#8221; he said.</p><p>&#8220;It is a corrective,&#8221; said Case. &#8220;Just not the final one.&#8221;</p><p>The Librarian settled deeper into his chair. &#8220;For years, platforms were built as collections of infrastructure that happened to belong to the same department. Product thinking forced platform teams to consider users, journeys, outcomes, support, adoption. All good. Necessary, even. But many people made an understandable mistake. They upgraded from &#8216;pile of things&#8217; to &#8216;well-managed pile of things&#8217; and called it enlightenment.&#8221;</p><p>Tom gave a reluctant smile. &#8220;That is uncomfortably accurate.&#8221;</p><p>Case reopened the book, glanced at a marked passage, then looked at him again. &#8220;Pollan is helpful here, oddly enough.&#8221;</p><p>&#8220;He writes about consciousness,&#8221; said Tom.</p><p>&#8220;Yes. And also about categories. About what we mistake as primary.&#8221;</p><p>Tom frowned. &#8220;Go on.&#8221;</p><p>&#8220;We have a habit,&#8221; said Case, &#8220;of placing the visible and manageable thing at the centre of our explanations. In older accounts of mind, thought is primary. Feeling is secondary. Reason is king; sensation is some colourful footnote. Pollan explores the reversal: perhaps feeling is first. Perhaps a world appears not because the system computes, but because something within it matters, registers, feels like something.&#8221;</p><p>Tom was listening now with the wary concentration of a man who suspects he is about to be told that his architecture has philosophical dependencies.</p><p>Case continued. &#8220;Platform teams often commit the same inversion. They treat the platform as the explicit artefact: portal, APIs, templates, services, controls, product surfaces. Those are the thoughts. They are what the platform can say about itself. But the lived experience of being in the platform&#8212;whether a team feels oriented, constrained, supported, watched, hurried, welcomed, infantilised, trusted&#8212;that is closer to feeling. It is closer to consciousness. And if that layer is wrong, the rest can be technically excellent and still humanly broken.&#8221;</p><p>Tom said nothing for a moment.</p><p>Outside, a bus moved through the rain with the resigned majesty of a large animal that has accepted public service as its fate.</p><p>&#8220;You&#8217;re saying,&#8221; he said eventually, &#8220;that I built the visible system and ignored the lived one.&#8221;</p><p>&#8220;I am saying,&#8221; said Case, &#8220;that you may have designed the product and neglected the habitat.&#8221;</p><p>Sophie snored in the basket, a tiny motorbike attempting to start inside a pillow.</p><p>Tom leaned back. &#8220;I&#8217;ve used the phrase platform as habitat for years.&#8221;</p><p>&#8220;Yes,&#8221; said the Librarian. &#8220;But had you moved in?&#8221;</p><p>Tom looked at him.</p><p>&#8220;It&#8217;s easy,&#8221; the Librarian said, &#8220;to describe a habitat from outside. One can produce elegant diagrams of ecosystems while standing safely beyond the tree line.&#8221;</p><p>Tom turned to Case. &#8220;What does that even mean in practice? Habitat sounds poetic. I don&#8217;t mean that dismissively. But I&#8217;ve got teams, budgets, security requirements, deadlines. I can&#8217;t submit an architecture decision record that says, &#8216;The platform should feel less existentially lonely.&#8217;&#8221;</p><p>&#8220;Why not?&#8221; said the Librarian. &#8220;It would make a refreshing change.&#8221;</p><p>Case smiled and then, seeing Tom&#8217;s expression, relented enough to answer properly.</p><p>&#8220;It means,&#8221; she said, &#8220;that a habitat is not judged only by what it provides but by what forms of life it makes easier or harder. A cave, a meadow, a reef, a city square, a kitchen&#8212;these are not defined solely by their structure or contents. They are defined by the kinds of behaviour, attention, relationship, and possibility they invite.&#8221;</p><p>Tom nodded slowly.</p><p>&#8220;The portal matters,&#8221; Case went on. &#8220;But more than that, what happens to a team&#8217;s sense-making when they access it? Do they know where they are? Do they know what the norms are? Can they discover safely? Is there room for local adaptation? Can they recover from mistakes? Can they see consequences? Do they feel surveilled or supported by telemetry? Are the defaults opinionated in a way that teaches, or merely controlling in a way that shrinks? Is there a path from novice to mastery? Are people becoming more capable inside the platform, or merely more compliant?&#8221;</p><p>Tom gave a small sound somewhere between a sigh and a confession. &#8220;Mostly more compliant.&#8221;</p><p>&#8220;Then,&#8221; said Case, &#8220;you have not built a learning habitat. You have built a low-friction customs checkpoint.&#8221;</p><p>The Librarian coughed into his coffee to disguise a laugh.</p><p>Tom stared at the table. &#8220;That is&#8230; not unfair.&#8221;</p><p>From the counter, Madame Beauregard said, &#8220;Many places mistake ease of movement for hospitality.&#8221;</p><p>None of them turned. In Le Bon Mot, wisdom often arrived from the bar as though ordering another bottle.</p><p>Tom spoke again, more quietly. &#8220;I thought if we reduced cognitive load, that would be enough.&#8221;</p><p>&#8220;It helps,&#8221; said Case. &#8220;But reducing one kind of cognitive load while increasing another is a common platform sport.&#8221;</p><p>He looked up. &#8220;What other kind?&#8221;</p><p>&#8220;Interpretive load. Social load. Dependency anxiety. The subtle cost of feeling that you can proceed only through sanctioned paths you didn&#8217;t help shape. The strain of not understanding the why behind the workflow. The quiet humiliation of needing the platform team to bless every deviation. The learned helplessness that arises when the environment is too finished.&#8221;</p><p>Tom gave a short bitter laugh. &#8220;Too finished. That&#8217;s exactly how leadership praises it.&#8221;</p><p>&#8220;Leadership often praises places they do not have to improvise within,&#8221; said the Librarian.</p><p>Tom glanced at the closed book. &#8220;So where does Pollan come in, beyond the general inversion?&#8221;</p><p>Case tapped the cover. &#8220;As a counterpoint. A reminder that the central thing is not the abstract mechanism but the felt world. In consciousness studies, one question becomes unavoidable: not what computations are happening, but what it is like to be the system in relation to the world. I would ask something parallel of a platform. Not just what services it offers, but what it is like to be a team living inside it.&#8221;</p><p>Tom was silent for so long the rain nearly took over the conversation by default.</p><p>At last he said, &#8220;I don&#8217;t know.&#8221;</p><p>&#8220;That,&#8221; said Case, &#8220;is unusually promising.&#8221;</p><p>He looked puzzled.</p><p>&#8220;Because most people in your position would answer with features.&#8221;</p><p>The Librarian, whose profession had taught him that the difference between naming and knowing was the source of half the world&#8217;s trouble and three quarters of its literature, said, &#8220;Shall we attempt a thought experiment? A little field anthropology, but for corporate software.&#8221;</p><p>Tom nodded.</p><p>&#8220;Imagine,&#8221; said the Librarian, &#8220;that Foundry is not a platform but a district of a city.&#8221;</p><p>Tom blinked. &#8220;All right.&#8221;</p><p>&#8220;You are not its mayor,&#8221; said the Librarian. &#8220;You are not presenting a strategy deck about it. You are living there. You are a junior engineer, five weeks into a new team. You need to change a service. You have never deployed here before. What do you feel?&#8221;</p><p>Tom opened his mouth, stopped, and tried again.</p><p>&#8220;Uncertain,&#8221; he said. &#8220;The portal tells me what to do, but not really why. There are lots of statuses and checks. I can see the process, but I don&#8217;t yet know which bits are truly risky and which bits are just institutional scar tissue. I&#8217;m afraid of getting it wrong in a way that looks stupid. The docs are good, but they&#8217;re very&#8230; complete. I don&#8217;t know what matters yet.&#8221;</p><p>Case nodded.</p><p>&#8220;And if you are a senior engineer,&#8221; said the Librarian, &#8220;trying to do something novel?&#8221;</p><p>Tom grimaced. &#8220;Annoyed. The happy path is happy until you need a path that isn&#8217;t there. Then suddenly you&#8217;re in forms, exceptions, Slack channels, waiting for someone on the platform team to say yes.&#8221;</p><p>&#8220;Do you feel trusted?&#8221; asked Case.</p><p>Tom took a moment. &#8220;Operationally? Not really.&#8221;</p><p>&#8220;Do you feel held?&#8221;</p><p>He looked at her with surprise. &#8220;What kind of question is that?&#8221;</p><p>&#8220;A habitat question.&#8221;</p><p>He considered it. &#8220;Sometimes. The checks catch things. The guardrails help. But not held, exactly. More&#8230; observed.&#8221;</p><p>The Librarian pointed at him with his cup. &#8220;There. That difference. Critical.&#8221;</p><p>Tom looked down again.</p><p>Case reopened Pollan and found a marked page. &#8220;There&#8217;s a broad claim running through this book that what matters is not just information but felt relation. A world appears to a creature because it is not neutrally processing data. It is situated. Invested. The world shows up as threat, nourishment, warmth, possibility. Meaning arrives through feeling.&#8221;</p><p>Tom gave a faint, helpless smile. &#8220;You&#8217;re telling me my platform lacks a limbic system.&#8221;</p><p>&#8220;I am telling you,&#8221; said Case, &#8220;that it may lack a humane one.&#8221;</p><p>He laughed despite himself.</p><p>The Librarian leaned forward. &#8220;May I hazard the deeper failure?&#8221;</p><p>Tom gestured for him to continue.</p><p>&#8220;You built Foundry as though its job were to deliver capabilities. And it does. But a habitat does not merely deliver. It composes conditions. It shapes rhythms. It hosts forms of life. A product asks, &#8216;What can users do with this?&#8217; A habitat also asks, &#8216;What will repeated life in this place turn them into?&#8217;&#8221;</p><p>Tom sat very still.</p><p>This was, Case recognised, the moment when a thought stops being interesting and becomes expensive.</p><p>He looked out at the rain-dark street. &#8220;We have a maturity model,&#8221; he said. &#8220;Self-service adoption. Template adherence. Security score. Time to environment. Lead time. Change failure rate. Documentation coverage. Internal NPS. We measure all of it.&#8221;</p><p>&#8220;And what do you measure,&#8221; said Case, &#8220;that would tell you whether teams are becoming more capable, more oriented, more locally intelligent, more able to shape their own path inside the system?&#8221;</p><p>Tom said nothing.</p><p>The Librarian filled the silence with professional tact. &#8220;Sometimes the most expensive missing metric is not hidden. It is absent in plain sight.&#8221;</p><p>Tom rubbed the side of his head. &#8220;We measure usage. We don&#8217;t really measure inhabitation.&#8221;</p><p>&#8220;No,&#8221; said Case. &#8220;Most people don&#8217;t.&#8221;</p><p>A man at the far end of the caf&#233; sneezed with the despairing grandeur of a Wagnerian footman. The room briefly rearranged its acoustics to accommodate him, then settled back.</p><p>Tom seemed to come to a decision.</p><p>&#8220;Can I show you something?&#8221;</p><p>Without waiting for an answer, he opened the laptop and turned it so they could see. The screen displayed a handsome portal in dark blues and restrained greys. It was, objectively speaking, very good. The typography had been considered. The navigation was elegant. Cards displayed service health, deployment status, compliance posture, cost visibility, scorecards, templates, environments, ownership data. The system had the unmistakable look of something polished by intelligent, conscientious people under pressure.</p><p>&#8220;Foundry,&#8221; said Tom.</p><p>The Librarian nodded. &#8220;Very tidy.&#8221;</p><p>&#8220;That is one of its defining features,&#8221; said Tom.</p><p>He clicked into a service template. More order. More coherence. Sensible defaults. Guardrails. Preview environments. Approved libraries. Policy-as-code checks. Scaffolding. Observability hooks. A fine piece of work, if one believed software could be praised by its posture.</p><p>&#8220;It&#8217;s excellent,&#8221; said Case.</p><p>Tom blinked. &#8220;You think so?&#8221;</p><p>&#8220;Of course. This is not the problem. Poorly made places produce one kind of suffering. Competently made but existentially misguided places produce another. One should not confuse diagnosis with insult.&#8221;</p><p>He exhaled. &#8220;All right.&#8221;</p><p>Case pointed to the service creation workflow. &#8220;When a team uses this, what do they learn about the organisation?&#8221;</p><p>Tom frowned. &#8220;That we value standards. Security. Speed with safety.&#8221;</p><p>&#8220;No,&#8221; said Case. &#8220;They learn those as slogans. What do they learn in practice?&#8221;</p><p>He looked at the flow. &#8220;That deviation is costly.&#8221;</p><p>&#8220;Good. What else?&#8221;</p><p>&#8220;That compliance is pre-baked.&#8221;</p><p>&#8220;That platform approval sits behind a lot of the non-standard paths.&#8221;</p><p>&#8220;That success means using the system correctly.&#8221;</p><p>&#8220;That local judgment is permitted within a bounded range but only really rewarded if it converges with central expectations.&#8221;</p><p>He stopped.</p><p>The Librarian smiled. &#8220;Splendid. You&#8217;ve brought your own scalpel.&#8221;</p><p>Tom looked as though he might shut the laptop simply to prevent it from confessing anything further.</p><p>Case said, &#8220;Now ask the second-order question. What kind of engineer flourishes in a place like this?&#8221;</p><p>Tom answered more quickly than he meant to. &#8220;People who like clear rules. Teams doing familiar service work. People who don&#8217;t need much autonomy. Or who need it but have learned not to ask.&#8221;</p><p>&#8220;And who struggles?&#8221;</p><p>&#8220;The teams at the edges. The ones doing weird things. The ones discovering new patterns. Senior engineers who want to understand and shape the machinery rather than merely consume it. Juniors who need interpretation, not just instructions. Teams with unusual constraints. Teams whose domain doesn&#8217;t fit the template. Anyone who wants the platform to be something they can grow with rather than merely use.&#8221;</p><p>Case nodded. &#8220;So the habitat has a climate.&#8221;</p><p>Tom stared at the screen as though seeing weather for the first time.</p><p>&#8220;We talk about platform climate in workshops,&#8221; he said. &#8220;Wardley maps, user needs, adoption, constraints. I know this language.&#8221;</p><p>&#8220;Yes,&#8221; said the Librarian. &#8220;And now it has moved from presentation to consequence.&#8221;</p><p>The bell above the door rang again. A draft came in smelling of rain and traffic and wet wool. With it came a tall figure in a dark coat, hood half up, face mostly in shadow. He had the slightly theatrical stillness of someone who had either mastered his own presence or outsourced it to an older, stranger force. The Djinn, as he was known in Le Bon Mot for reasons that were simultaneously ridiculous and exact, stepped inside, shut the door behind him, and glanced around the room like a philosopher inspecting a simulation.</p><p>&#8220;Is there room,&#8221; he said, &#8220;for a man who has spent the day being wrong in several expensive formats?&#8221;</p><p>&#8220;Only if you pay for coffee,&#8221; said Madame Beauregard.</p><p>The Djinn removed his hood and smiled. &#8220;Then room there shall be.&#8221;</p><p>He joined them without quite asking and looked from the book to the laptop to Tom&#8217;s face.</p><p>&#8220;Ah,&#8221; he said. &#8220;Consciousness and internal platforms. A charmingly niche emergency.&#8221;</p><p>&#8220;We are discussing habitats,&#8221; said the Librarian.</p><p>The Djinn nodded gravely. &#8220;Of course you are. It is always habitats eventually.&#8221;</p><p>Tom, who had not met the Djinn before, regarded him with the caution typically reserved for consultants and talented magicians.</p><p>&#8220;This is Tom,&#8221; said Case. &#8220;He built a platform as a product and is discovering it may also have needed to be a place.&#8221;</p><p>The Djinn leaned in. &#8220;Ah. The old error. To mistake the map for the terrain, the product surface for the world beneath it. You are in excellent company. Most of industry has done nothing else since at least 2013.&#8221;</p><p>Tom chose not to ask the obvious questions about who this man was and why nobody else seemed perturbed by him.</p><p>&#8220;I&#8217;m not against product thinking,&#8221; Tom said.</p><p>&#8220;Nor should you be,&#8221; said the Djinn. &#8220;Products are real. Roads are useful. Stairs are useful. A library catalogue is useful. But roads, stairs, and catalogues do not by themselves produce a civilisation worth arriving in.&#8221;</p><p>The Librarian made a note on a napkin for later theft.</p><p>The Djinn glanced at Pollan&#8217;s book. &#8220;Useful companion for this. We have spent a long time privileging what can be externally described over what is internally undergone. It flatters management. It flatters engineering. It flatters anything that wishes to believe the measurable is the central. Then along comes consciousness&#8212;rude, subjective, insistently felt&#8212;and ruins the story.&#8221;</p><p>Tom almost smiled. &#8220;And platforms?&#8221;</p><p>&#8220;And platforms,&#8221; said the Djinn, &#8220;become peculiar little theatres for the same mistake. One can measure throughput, paved-road adoption, template usage, pipeline success, control compliance, self-service rates. One can become very clever indeed about what the platform lets people do. But ask what it feels like to become a developer under its weather, and suddenly everyone develops an interest in changing the subject.&#8221;</p><p>Tom looked at him for a long moment. &#8220;Under its weather.&#8221;</p><p>&#8220;Yes,&#8221; said the Djinn. &#8220;Every habitat has weather. Not meteorological. Moral. Cognitive. Social. The felt climate of action. Some places produce caution. Some produce bravado. Some produce dependency. Some produce apprenticeship. Some produce resentment so ambient it eventually appears on no dashboard at all.&#8221;</p><p>Case rested her chin on her hand. &#8220;Tell him about the monastery.&#8221;</p><p>The Djinn smiled. &#8220;Ah yes.&#8221;</p><p>Tom did not look reassured.</p><p>&#8220;In northern Italy,&#8221; said the Djinn, &#8220;there is, or may once have been, depending on how seriously one takes my travel history, a monastery whose architecture was arranged not merely to house monks but to produce a particular kind of attention. The cloister walk was proportioned to slow one&#8217;s stride. The scriptorium windows were narrow and high, giving light without horizon. The bells partitioned the day with enough regularity that intention itself could borrow rhythm from stone. The novices did not merely inhabit the monastery. Over time, the monastery inhabited them. It trained perception. It shaped what kinds of thought were easy there, which temptations arrived frequently, which dissipated before they could mature. Now imagine describing this place only as a product. It offers lodging, meals, robes, books, routines, and liturgical services. One has said nothing false. And yet one has missed the world.&#8221;</p><p>Tom stared at him. &#8220;You can&#8217;t possibly use a monastery as a design pattern for a platform team.&#8221;</p><p>&#8220;Why not?&#8221; said the Librarian. &#8220;The compliance people already believe in ritual.&#8221;</p><p>This time Tom laughed fully, the kind of laugh that indicates the nervous system has decided it would rather survive by humour than continue pretending it is in control.</p><p>Case said, &#8220;The point is not to copy monasteries. It is to notice that environments train beings. Your platform is already teaching. The only question is what.&#8221;</p><p>Tom looked back at the portal.</p><p>&#8220;I thought we were teaching good defaults.&#8221;</p><p>&#8220;You are,&#8221; said Case. &#8220;And possibly other things besides.&#8221;</p><p>He was quiet again. In Le Bon Mot, silence was rarely empty. It was a shelf on which thoughts were left to cool.</p><p>Finally he said, &#8220;Can a platform be both? Product and habitat?&#8221;</p><p>&#8220;It must be,&#8221; said Case.</p><p>The Djinn nodded. &#8220;A habitat without good product surfaces is a marsh. A product without habitat awareness is an airport.&#8221;</p><p>The Librarian looked approving. &#8220;You&#8217;re on form tonight.&#8221;</p><p>&#8220;I had three meetings and a train delay. Suffering clarifies metaphor.&#8221;</p><p>Tom leaned forward, hands around the cup. &#8220;Suppose I accept this. Suppose I admit I&#8217;ve been measuring the wrong centre of gravity. What do I do on Monday that isn&#8217;t just adding the word habitat to slides?&#8221;</p><p>&#8220;Ah,&#8221; said Case. &#8220;Now we are in the useful part.&#8221;</p><p>She took a napkin and turned it over. Her handwriting was fast and sharp, as though each letter had arrived having already won an argument elsewhere.</p><p>&#8220;Begin,&#8221; she said, &#8220;not by redesigning the portal, but by studying the lived environment.&#8221;</p><p>She wrote:</p><p><strong>1. Ask habitat questions, not feature questions.</strong></p><p>&#8220;Interview teams,&#8221; she said. &#8220;But don&#8217;t ask whether they like Foundry. Ask what they feel when using it. Where they hesitate. Where they feel stupid. Where they feel watched. Where they feel supported. What kinds of work become easier. What kinds become brittle. What they have learned from the platform. What they still depend on your team to interpret.&#8221;</p><p>Tom nodded, eyes on the list.</p><p>&#8220;Second,&#8221; she said, writing again.</p><p><strong>2. Measure capability growth, not just service consumption.</strong></p><p>&#8220;Track whether teams become more self-sufficient over time in ways that matter. Not just whether they use self-service. Ask whether they understand the system better after six months. Whether deviation requests go down because patterns have improved, or because people have stopped imagining alternatives. Whether teams can diagnose failures without escalating. Whether local platform literacy is increasing.&#8221;</p><p>The Librarian added, &#8220;A habitat is healthy when its inhabitants become more fit to inhabit it.&#8221;</p><p>Case wrote again.</p><p><strong>3. Redesign guardrails as teachers.</strong></p><p>&#8220;Every constraint tells a story. Most of yours probably just say no. Can they explain themselves? Can the platform reveal why this check exists, what risk it manages, what good practice it embodies, and what the acceptable escape hatches are? A habitat educates. It does not merely police.&#8221;</p><p>Tom made a face of painful recognition. &#8220;Some of our checks are basically terse bureaucrats.&#8221;</p><p>&#8220;Then,&#8221; said the Librarian, &#8220;promote fewer bureaucrats.&#8221;</p><p>Case continued.</p><p><strong>4. Create visible paths from novice to mastery.</strong></p><p>&#8220;Right now I suspect your platform optimises for immediate task completion. That is product logic. Habitat logic asks whether people can mature there. Do you have layered documentation? Narratives? Explanations of why the world is the way it is? Ways for teams to move from consuming templates to understanding and extending them?&#8221;</p><p>Tom shook his head. &#8220;Not really. The internals are mostly ours.&#8221;</p><p>&#8220;Then you&#8217;ve built rental housing,&#8221; said the Djinn, &#8220;not citizenship.&#8221;</p><p>He stared at the table. &#8220;That&#8217;s harsh.&#8221;</p><p>&#8220;And true,&#8221; said Case.</p><p>She wrote the fifth item.</p><p><strong>5. Make local adaptation legitimate.</strong></p><p>&#8220;A habitat with no microclimates becomes sterile. Where can teams shape their own corner without forking the civilisation? Plugins, extensions, sanctioned customisation points, domain-specific overlays, visible examples of approved divergence. The platform should have a spine, not a straitjacket.&#8221;</p><p>Tom gave a long exhale. &#8220;We&#8217;ve been scared of variance.&#8221;</p><p>&#8220;Reasonably,&#8221; said Case. &#8220;Variance can be expensive. But forbidding all local adaptation simply relocates the cost into resentment, workaround culture, and hidden drift.&#8221;</p><p>Case added a sixth.</p><p><strong>6. Study social topology, not just technical flows.</strong></p><p>&#8220;Where do people go when the golden path fails? Which Slack channels, which people, which back doors? That is part of the habitat. Platforms often congratulate themselves on self-service while relying on invisible human concierges to make the place habitable.&#8221;</p><p>Tom winced. &#8220;We have three engineers who are basically unacknowledged weather systems.&#8221;</p><p>&#8220;Every platform has a Dave,&#8221; said the Librarian. &#8220;The question is whether one admits it before Dave evolves into a religion.&#8221;</p><p>Tom laughed again, though there was gratitude in it now.</p><p>Case finished the list.</p><p><strong>7. Reframe the platform team&#8217;s identity.</strong></p><p>&#8220;You are not merely shipping platform features. You are stewarding conditions for many forms of engineering life. That means product management, yes. But also curation, education, ecology, and care.&#8221;</p><p>Tom read the napkin as if it were both diagnosis and indictment.</p><p>&#8220;This all sounds right,&#8221; he said quietly. &#8220;Which is annoying.&#8221;</p><p>&#8220;It would be more annoying if it sounded wrong and still applied,&#8221; said the Djinn.</p><p>They sat with that.</p><p>After a moment Tom said, &#8220;You know what the strange part is? We thought we were being humane. Product thinking was our way out of treating developers like ticket submitters. We wanted to serve them better.&#8221;</p><p>&#8220;And you did,&#8221; said Case. &#8220;Up to a point. This is not a story of villainy. It is a story of partial truth being mistaken for whole truth. Product thinking was an advance. It taught platform teams to stop thinking only in terms of infrastructure and start thinking in terms of users and outcomes. But then many teams reified the product and ignored the environment that product instantiated.&#8221;</p><p>The Librarian looked pleased. &#8220;A very Le Bon Mot sentence, that.&#8221;</p><p>&#8220;It&#8217;s late,&#8221; said Case. &#8220;My standards are slipping.&#8221;</p><p>Tom glanced at the Pollan book again. &#8220;So feeling first.&#8221;</p><p>&#8220;In a sense,&#8221; said Case. &#8220;Or at least feeling earlier than our explanations admit. A team may not be able to articulate immediately why a platform exhausts them. They may still feel it. They may not say, &#8216;This environment reduces my agency while increasing my compliance burden through polite indirection.&#8217; They may say, &#8216;It&#8217;s good, but I&#8217;m always tired.&#8217; That sentence should terrify a platform team.&#8221;</p><p>Tom nodded slowly. &#8220;That&#8217;s what I&#8217;ve been hearing.&#8221;</p><p>&#8220;Then listen to it,&#8221; she said.</p><p>The Djinn rose to fetch another coffee and returned with one for himself and, inexplicably, a small saucer of olives, which he ate one by one as though each represented a completed theory of mind.</p><p>Tom closed the laptop at last.</p><p>&#8220;I think,&#8221; he said, &#8220;I know what happened. We built for consistency so aggressively that we started treating variance as pathology. And because we were proud of being a product team, we optimised for coherent surfaces, clear workflows, user satisfaction, consumption metrics. The environment beneath that was just assumed to take care of itself.&#8221;</p><p>&#8220;And environments,&#8221; said the Librarian, &#8220;notoriously hate being assumed.&#8221;</p><p>Tom stared at the rain-streaked window. &#8220;I wanted Foundry to feel dependable.&#8221;</p><p>&#8220;Dependable is good,&#8221; said Case. &#8220;But dependable to what end? A train station is dependable. So is a vending machine. Neither is where one becomes more fully oneself.&#8221;</p><p>He smiled sadly. &#8220;It&#8217;s a platform, not a novel.&#8221;</p><p>&#8220;And yet people live a large fraction of their professional lives in it,&#8221; said Case. &#8220;That is enough to merit moral seriousness.&#8221;</p><p>From behind the counter, Madame Beauregard placed a clean cup on the shelf with the precise finality of a judge setting down a precedent.</p><p>&#8220;Places educate,&#8221; she said. &#8220;Even ugly ones.&#8221;</p><p>No one argued.</p><p>The rain eased. The windows lightened from black to a deep reflective grey that made the room appear doubled. For a moment the four of them seemed to be sitting not merely in Le Bon Mot but in its more thoughtful twin, slightly offset in the glass.</p><p>Tom looked again at the napkin, now increasingly precious in the way all disposable objects become when they contain the first accurate description of one&#8217;s trouble.</p><p>&#8220;Can I ask one more thing?&#8221;</p><p>&#8220;You may ask six,&#8221; said the Djinn. &#8220;After that there is a token fee.&#8221;</p><p>Tom ignored him, having acquired enough of the local grammar to know when not to engage.</p><p>&#8220;How do I explain this to leadership without sounding vague? They&#8217;ll understand product. They&#8217;ll understand metrics. Habitat can sound&#8230; soft.&#8221;</p><p>Case was ready for this.</p><p>&#8220;Don&#8217;t lead with poetry,&#8221; she said. &#8220;Lead with failure modes they already pay for. Say this: a platform that optimises only for standardisation and consumption can increase hidden dependency, suppress useful local innovation, and reduce long-term engineering capability. It may improve short-term flow while degrading organisational adaptability. It can produce compliant teams instead of capable ones. It can centralise judgment in the platform team and create a service bottleneck disguised as self-service. Therefore the next stage of platform maturity is not more services, but a better environment for capability growth.&#8221;</p><p>Tom repeated part of it under his breath. &#8220;Compliant teams instead of capable ones.&#8221;</p><p>The Librarian said, &#8220;Never underestimate the motivational power of contrasting expensive adjectives.&#8221;</p><p>Case continued, &#8220;Then give them measurable proxies. Capability growth. Time to independent diagnosis. Reduction in human platform escalations for recurring tasks. Diversity of safe extension patterns. Team-reported confidence. Recovery quality after failure. Platform literacy progression. You do not need to abandon metrics. You need better ones.&#8221;</p><p>Tom nodded with increasing force, the way a man nods when a bridge appears where ten minutes earlier there had been only a gorge and a career.</p><p>The Djinn, who had been listening with half-lidded amusement, said, &#8220;And perhaps say one thing more.&#8221;</p><p>Tom turned.</p><p>&#8220;Tell them that all platforms eventually become constitutional. At first they are tools. Then workflows. Then assumptions. Then the place where power quietly resides. The question is whether that constitution produces flourishing or merely obedience.&#8221;</p><p>Tom stared at him. &#8220;That&#8217;s&#8230; good.&#8221;</p><p>&#8220;Yes,&#8221; said the Djinn. &#8220;Do try not to credit me publicly. It upsets people who believe they discovered their own thoughts.&#8221;</p><p>The Librarian looked at the clock behind the bar. It claimed a time that none of them trusted, but enough evening had accumulated around the edges of the room to indicate departure would soon become the respectable thing.</p><p>Tom gathered his bag, then hesitated.</p><p>&#8220;I came in here,&#8221; he said, &#8220;to escape writing a quarterly update.&#8221;</p><p>&#8220;A noble impulse,&#8221; said the Librarian.</p><p>&#8220;And now I think I know what the update actually is.&#8221;</p><p>Case smiled. &#8220;Which is?&#8221;</p><p>Tom considered the words before speaking them, as if rehearsing them might help them survive daylight.</p><p>&#8220;That Foundry is mature enough to require a shift in stewardship. That we&#8217;ve done the work of building it as a product, and now need to do the harder work of cultivating it as a habitat. That success is no longer just service availability, self-service, and adoption, but whether teams become more capable, more oriented, and more alive inside it.&#8221;</p><p>The Librarian leaned back, satisfied. &#8220;That will do.&#8221;</p><p>Tom stood, then looked at the Pollan book one last time.</p><p>&#8220;You know,&#8221; he said, &#8220;I still haven&#8217;t read it.&#8221;</p><p>Case slid the book across the table.</p><p>&#8220;Take it.&#8221;</p><p>He blinked. &#8220;Really?&#8221;</p><p>&#8220;I know where it lives.&#8221;</p><p>He looked at the forest of annotations, the marked pages, the private symbols, and handled the book with the care due an object that is either a gift or a test.</p><p>&#8220;I&#8217;ll bring it back.&#8221;</p><p>&#8220;Eventually,&#8221; said Case. &#8220;Books, unlike platforms, do not mind a little weather.&#8221;</p><p>Tom laughed, thanked them all in a manner that was sincere enough to make ceremony unnecessary, and stepped out into the wet evening.</p><p>The bell above the door rang once and settled.</p><p>For a while they watched his reflection recede in the glass before the street took him fully.</p><p>The Librarian folded the napkin copy Case had made for herself and tucked it into the book she was now not reading.</p><p>&#8220;Well,&#8221; he said. &#8220;Do you suppose he&#8217;ll do it?&#8221;</p><p>&#8220;Some of it,&#8221; said Case.</p><p>&#8220;Enough?&#8221;</p><p>She looked toward the door. &#8220;Enough to begin noticing. Sometimes that&#8217;s the only honest first step. The habitat changes when its stewards stop mistaking inventory for life.&#8221;</p><p>The Djinn ate the last olive. &#8220;It is a consoling thought that entire industries may yet be corrected by rainy evenings and decent coffee.&#8221;</p><p>Madame Beauregard made a dismissive sound.</p><p>&#8220;Industries are corrected,&#8221; she said, &#8220;by consequences. Coffee merely helps people notice them sooner.&#8221;</p><p>Sophie snorted in her sleep as if endorsing the statement in principle while reserving judgment on its implementation.</p><p>Case leaned back and opened the duplicate of Pollan she had, because of course she had another copy. &#8220;You know,&#8221; she said, &#8220;there is something rather hopeful in it.&#8221;</p><p>&#8220;In what?&#8221; asked the Librarian.</p><p>&#8220;In the possibility that we keep making the same category error because the world keeps offering us manageable surfaces in place of lived depths. Products instead of places. metrics instead of meaning. Thought instead of feeling. And then every so often reality sends back a small, tired engineer who says, &#8216;It&#8217;s good, but people still seem tired in it.&#8217;&#8221;</p><p>The Librarian smiled. &#8220;A messenger from the depths.&#8221;</p><p>&#8220;A bug report from consciousness,&#8221; said the Djinn.</p><p>Case laughed.</p><p>Outside, the rain had almost stopped. The street glistened as if freshly translated. Somewhere beyond the harbour the night was arranging itself into whatever came next. Inside Le Bon Mot, the cups shone quietly on their shelves, the clock lied with confidence, the candles shortened by degrees so subtle they qualified as philosophy, and the room held its usual shape: part caf&#233;, part library, part refuge for people who had discovered that the most important systems in the world are never just what they contain.</p><p>They are also what appears within them.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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[The Twentieth Watt]]></title><description><![CDATA[On the depletable collaborator, and the reservoir that empties while you think it works]]></description><link>https://www.softwareenchiridion.com/p/the-twentieth-watt</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-twentieth-watt</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Mon, 13 Apr 2026 19:43:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!o5AS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.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_!o5AS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!o5AS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!o5AS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!o5AS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!o5AS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!o5AS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2451435,&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://www.softwareenchiridion.com/i/194097062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!o5AS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!o5AS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!o5AS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!o5AS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0212379-6b00-4c4f-b853-6e8e034f395f_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are caf&#233;s that serve coffee, and there are caf&#233;s that serve as instruments for measuring what you have spent.</p><p>Le Bon Mot was quiet in the way it becomes quiet after nine in the evening. Not empty, but contracted, compressed somehow, defragged, the shelves pulling inward as if the room itself were settling into a denser configuration for the night. The brass clock behind the counter showed 9:07, which meant the actual time was 9:11, which meant that Madame Beauregard had already begun her end-of-evening ritual of wiping down surfaces that were already clean and adjusting the position of books whose spines had shifted fractionally since the last time she adjusted them.</p><p>Sophie was asleep on the third shelf from the floor, curled into a space between a volume of Epictetus and a systems engineering manual that had not been there that morning. Her breathing had the slow regularity of a creature that has never once questioned whether it has done enough today.</p><p>The bell rang. The door opened. And the person who entered was incandescent.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.softwareenchiridion.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>Not literally, of course. Le Bon Mot had unusual properties, but spontaneous bioluminescence was not among them. The incandescence was professional. The kind that radiates from someone who has had the best working day of their life and needs, urgently, to tell another human being about it.</p><p>&#8220;You,&#8221; the person said, pointing at Madame Beauregard with the hand that was not holding a laptop bag, &#8220;are looking at someone who just shipped three features in a single day.&#8221;</p><p>Madame Beauregard set down the glass she was polishing. &#8220;Congratulations.&#8221;</p><p>&#8220;Three features. Six agents. Every PR merged green. The harness caught everything that needed catching. The specs were clean, the decomposition was tight, and I conducted the entire thing like&#8212;&#8221; They searched for the word. &#8220;Like a composer.&#8221;</p><p>&#8220;Sit,&#8221; Madame Beauregard said. &#8220;I&#8217;ll make you something.&#8221;</p><p>The person&#8217;s name was Jules. They sat at the counter with the satisfied exhaustion of someone who has crossed a finish line they set for themselves. Their laptop emerged from the bag. The screen showed a dashboard: three pull requests, three green checkmarks, three merge timestamps spanning from 10:42am to 7:18pm.</p><p>&#8220;Look at that,&#8221; Jules said. &#8220;I have never had a day like this.&#8221;</p><p>Madame Beauregard placed a cortado on the counter. The espresso machine, which had been silent all evening, produced a sound that might have been steam releasing, or might have been Latin expressing mild scepticism.</p><div><hr></div><p>&#8220;Tell me about the morning,&#8221; Madame Beauregard said.</p><p>Jules did not need to be asked twice.</p><p>&#8220;I started with the authentication refactor. The spec was already solid from last week &#8212; I&#8217;d written the acceptance scenarios Friday afternoon, and Monday morning I just needed to decompose it into agent tasks. Three agents: token validation, session management rewrite, migration tests. Each one got a context file with the architectural constraints, the existing API contract, and the specific scenarios from the spec.&#8221;</p><p>They took a sip of their drink. &#8220;And I reviewed every output like a code review from a junior engineer I respected but didn&#8217;t yet trust. Line by line. I ran the edge cases in my head before I ran them in the suite. The token agent generated a validation function that passed all the specified tests but would have silently accepted expired tokens with a clock skew greater than thirty seconds. I caught it because I had a model in my head of how the function <em>should</em> fail, and the generated version was too permissive.&#8221;</p><p>Madame Beauregard nodded. &#8220;You had a theory of the change.&#8221;</p><p>&#8220;Every approval was a decision. I could have explained each one &#8212; why this test mattered, why that design choice was right for our domain, why the agent&#8217;s suggestion to use a different data structure was clever but wrong for our access patterns. The whole thing took until about eleven. First PR, merged green.&#8221;</p><p>Sophie shifted on her shelf. The Epictetus moved a quarter-inch to the left, as if making room for something that had not yet arrived.</p><div><hr></div><p>&#8220;And then?&#8221; Madame Beauregard asked.</p><p>&#8220;Then the notification service. That one was bigger &#8212; two agents on the core event pipeline, one on the delivery abstraction, one on the retry logic. I had the spec decomposed by eleven-thirty. The agents were running by noon.&#8221;</p><p>Jules described it with less granularity than the morning. The event pipeline had been the interesting part &#8212; a publish-subscribe pattern replacing the old polling mechanism. The retry logic had edge cases around idempotency that the agent had handled well.</p><p>&#8220;Green by about two-thirty. Second PR, merged.&#8221;</p><p>&#8220;And the third?&#8221;</p><p>Jules paused. Not for long, barely a breath. But the rhythm changed.</p><p>&#8220;The third was the dashboard analytics. Aggregate query layer on top of the event data from the notification service. I had the agents set up by three. Specs were ready &#8212; I&#8217;d prepped them over lunch.&#8221; A pause. &#8220;Four agents this time.&#8221;</p><p>Madame Beauregard waited.</p><p>&#8220;It came together fast. The caching strategy was elegant. The API was clean. Tests all green.&#8221; Jules gestured at the screen. &#8220;Merged at 7:18.&#8221;</p><p>&#8220;Tell me about the final review,&#8221; Madame Beauregard said.</p><p>&#8220;What about it?&#8221;</p><p>&#8220;The last PR. The analytics dashboard. When you approved it. What specifically did you verify?&#8221;</p><p>Jules opened their mouth. Closed it. Opened it again.</p><p>&#8220;The tests were green,&#8221; they said. &#8220;All the scenarios from the spec passed. The linter was clean. The harness ran without warnings.&#8221;</p><p>&#8220;Yes. The automated checks. What did <em>you</em> verify? You, personally, with your eyes on the diff.&#8221;</p><p>The silence that followed was someone reaching for a memory and finding it less substantial than expected.</p><p>&#8220;I read the diff,&#8221; Jules said. &#8220;I remember reading it.&#8221;</p><p>&#8220;Do you remember what you thought about the caching strategy? You said it was elegant. What made it elegant?&#8221;</p><p>Jules stared at the green checkmark on the screen. &#8220;It used a&#8230; There was a TTL-based invalidation on the...&#8221; They trailed off. &#8220;It was a well-structured cache. The agent chose a good pattern.&#8221;</p><p>&#8220;Which pattern?&#8221;</p><p>&#8220;I&#8217;d have to look at the code.&#8221;</p><p>Madame Beauregard let the statement settle. She did not press. She picked up the glass she had been polishing and resumed polishing it, though it had been clean since before Jules arrived.</p><div><hr></div><p>&#8220;The notification service,&#8221; Madame Beauregard said. &#8220;The second feature. Tell me about the retry logic.&#8221;</p><p>Jules recovered some footing here. &#8220;Right, the retry logic. That was tricky &#8212; we needed idempotency guarantees because the downstream consumers aren&#8217;t all built to handle duplicates. The agent generated a deduplication mechanism using...&#8221; They paused. &#8220;Using a hash of the event payload as the idempotency key.&#8221;</p><p>&#8220;Was that the right choice?&#8221;</p><p>&#8220;Yes, because&#8212;&#8221; Jules stopped. &#8220;Actually. I remember thinking there was a question about whether payload hashing was sufficient, or whether we needed a separate idempotency token from the producer. There was a design choice there.&#8221; A longer pause. &#8220;I think the agent made the case for payload hashing in a comment, and I... agreed with it.&#8221;</p><p>&#8220;Did you evaluate the case, or did you agree with the conclusion?&#8221;</p><p>Jules looked at the dashboard. Three green checkmarks. The same shade of green at 10:42am and 7:18pm.</p><p>&#8220;I don&#8217;t know,&#8221; Jules said quietly. &#8220;I genuinely don&#8217;t know if I evaluated it or just... read it and moved on.&#8221;</p><p>&#8220;And the morning&#8217;s work? The authentication refactor. The token validation that was too permissive?&#8221;</p><p>Jules straightened. &#8220;I caught that because I had run the failure scenarios in my head before I looked at the code. I knew what shape the rejection should take, and the generated version was the wrong shape. I could draw you a diagram of the token lifecycle right now.&#8221;</p><p>&#8220;I believe you.&#8221; Madame Beauregard set down the glass. &#8220;Three features. Three different levels of presence from the same reviewer.&#8221;</p><div><hr></div><p>Jules sat with this. The brass clock ticked. Sophie&#8217;s ear twitched. A book on the second shelf &#8212; one that Jules could have sworn was a dictionary &#8212; now appeared to be titled <em>On the Shortness of Sessions</em>.</p><p>&#8220;I didn&#8217;t get worse at my job today,&#8221; Jules said. &#8220;I&#8217;m the same engineer at seven pm as I was at nine am.&#8221;</p><p>Madame Beauregard set down the glass. &#8220;You are the same engineer. You were not the same reviewer.&#8221;</p><p>She reached behind the counter and produced a piece of chalk. On the chalkboard, which had previously displayed the evening specials (a cortado, a lungo, and something called &#8220;The Cartesian Doubt&#8221; which was espresso served with the question <em>but is it really espresso?</em>), she wrote a number.</p><p><strong>20</strong></p><p>&#8220;The brain,&#8221; she said, &#8220;runs on approximately twenty watts. You know this.&#8221;</p><p>&#8220;Everyone knows this. Less than a light bulb.&#8221;</p><p>&#8220;Less than a light bulb. And with those twenty watts, it does everything &#8212; language, pattern recognition, planning, emotional regulation, motor control, the management of a self that persists across time. But here is what the watt comparison obscures: those twenty watts are not a fixed supply. They are a reservoir.&#8221;</p><p>She drew a shape on the board &#8212; a vessel, wide at the top, narrow at the base.</p><p>&#8220;The reservoir fills during recovery &#8212; sleep, rest, disconnection. And it drains with use. Not uniformly. Decision-making drains it. Context-switching drains it faster. Sustained verification &#8212; holding a model in your mind and comparing output against that model &#8212; drains it fastest of all. Because verification requires you to simultaneously hold what <em>is</em>, what <em>should be</em>, and the gap between them.&#8221;</p><p>Jules was listening with the attention of someone hearing a description of something they had felt but not named.</p><p>&#8220;Your agents ran at the same quality all day,&#8221; Madame Beauregard said. &#8220;Their output at three o&#8217;clock was as sharp as their output at nine. No degradation. No fatigue. The machine does not have a reservoir.&#8221;</p><p>She tapped the drawing.</p><p>&#8220;But you do. And by the third feature &#8212; by hour nine of sustained composition, of context-switching between four parallel agents, of reading diffs and making approval decisions &#8212; your reservoir was not what it was in the morning. The morning&#8217;s twenty watts had become the evening&#8217;s eight.&#8221;</p><p>&#8220;I didn&#8217;t feel tired,&#8221; Jules said.</p><p>&#8220;No. You wouldn&#8217;t. That is the important thing about cognitive depletion: it degrades your ability to detect it too. The faculty you would use to judge whether you are still sharp &#8212; metacognition, self-monitoring &#8212; draws from the same reservoir as everything else. When the reservoir is low, you lose the instrument that would tell you it&#8217;s low.&#8221;</p><p>The espresso machine hissed. This time, it was unmistakably Latin: </p><blockquote><p><em>Nemo iudex in causa sua.</em> </p><p>No one is a good judge in their own case.</p></blockquote><div><hr></div><p>&#8220;Your harness,&#8221; Madame Beauregard continued, &#8220;enforces architectural constraints. It runs mutation tests. It checks for convention drift. It verifies that the agents&#8217; output conforms to your specifications.&#8221;</p><p>&#8220;That&#8217;s why I trust it.&#8221;</p><p>&#8220;And what does it check about <em>you</em>?&#8221;</p><p>Jules blinked.</p><p>&#8220;No hook verifies whether the reviewer was cognitively present when they approved the PR. No CI gate measures whether you built a theory of the change or merely watched it pass.&#8221;</p><p>She let that land.</p><p>&#8220;The harness verifies the output. It cannot verify the verifier. And you are the verifier. The judgment that says <em>yes, this belongs in our system</em> &#8212; that runs on a reservoir that was near empty by the time you approved your third feature.&#8221;</p><p>Jules looked at the three green checkmarks. Same colour as ten minutes ago. They no longer communicated the same thing.</p><p>&#8220;So I should have stopped.&#8221;</p><p>&#8220;That is not quite the question. When should you have <em>decided</em> to stop?&#8221;</p><p>&#8220;When I got tired.&#8221;</p><p>&#8220;When you <em>noticed</em> you were tired? We just established that the instrument for noticing is the instrument that degrades. If you wait until you feel you should stop, you have already passed the point where the decision was trustworthy.&#8221;</p><p>Madame Beauregard wrote on the chalkboard, below the vessel:</p><p><strong>The decision to stop must be made before the session begins &#8212; when the judgment that makes the decision is still the kind you would trust.</strong></p><p>&#8220;Epictetus told us that the only thing fully within our control is our own prohairesis &#8212; our capacity for reasoned choice. Not the agents&#8217; output. Not the harness&#8217;s enforcement. Whether we continue to exercise judgment when the faculty of judgment has been spent, that choice is ours.&#8221;</p><p>She set down the chalk. &#8220;And it is the one choice the framework cannot make for you.&#8221;</p><div><hr></div><p>Sophie opened one eye. She had been awake since approximately the moment Madame Beauregard drew the vessel on the chalkboard, but had seen no reason to make this known. She regarded Jules with the expression French bulldogs reserve for truths acknowledged but not yet absorbed.</p><p>Jules looked at the laptop. Three merged PRs. The dashboard showed what any external observer would call an extraordinary day.</p><p>&#8220;Should I go back and re-review the last two?&#8221;</p><p>&#8220;Now?&#8221; Madame Beauregard smiled. &#8220;At 9:20 in the evening, after the day you&#8217;ve described?&#8221;</p><p>Jules almost laughed. &#8220;Right.&#8221;</p><p>&#8220;Tomorrow morning. When the reservoir is full. That is when you will see what tonight you could not. You may find the work is excellent. You may find decisions you would not have made. But either way, you will be seeing with the eyes that caught the token validation error. Not the eyes that approved the caching strategy you cannot now describe.&#8221;</p><p>Jules closed the laptop. The same gesture as closing a book you intend to reopen.</p><p>The chalkboard had changed again. Where the vessel and the number 20 had been, there was now a single line in a hand that belonged to no one present:</p><p><em>The harness does not sleep because it does not need to. You do, because you must.</em></p><p>Sophie settled her chin back onto her paws. The Epictetus on the shelf beside her had fallen open to a less-quoted line from the Discourses: <em>It is not enough to be willing. You must be able.</em></p><p>The brass clock showed 9:22. Which meant it was 9:26. Which meant that Jules had been at Le Bon Mot for fifteen minutes, and had learned something about the previous twelve hours that the previous twelve hours had not been able to teach them.</p><p>Madame Beauregard collected the cortado cup. She placed a slim volume on the counter &#8212; no author listed, titled simply <em>Sustainable Pace</em>. Whether it had been on the shelf before tonight was a question Le Bon Mot declined to answer.</p><p>Jules stepped out into the evening. The door closed. Sophie slept.</p><p>The chalkboard, in the silence that followed, added a postscript:</p><blockquote><p><em>Viginti watt. Hoc satis est &#8212; si scias quando desinas.</em></p><p>Twenty watts. It is enough &#8212; if you know when to stop.</p></blockquote><div><hr></div><h2><strong>What Changes at Each Level</strong></h2><p>The <a href="https://www.softwareenchiridion.com/p/the-habitat-you-build-is-the-intelligence">AI Literacy Framework</a> has six levels that map how seriously the engineer takes the fact that they are a finite biological system collaborating with a tireless one.</p><p>At <strong>Level 0 (Awareness)</strong>, depletion is not a concept. A long day is a productive day. If code was approved and tests pass, the work is done.</p><p>At <strong>Level 1 (Prompting)</strong>, the developer notices retrospectively that their prompts were sharper in the morning. &#8220;I was pretty tired by the end&#8221; is said on the way out, not used to redesign the next day.</p><p>At <strong>Level 2 (Verification)</strong>, depletion signals register in real time. Rubber-stamping reviews. Skipping the understanding check. Irritation at agent output volume replacing curiosity about content. The developer starts to suspect that the green checkmark at 5pm does not mean what the green checkmark at 9am meant.</p><p>At <strong>Level 3 (Habitat Engineering)</strong>, recovery is designed into the workflow. &#8220;I will review for ninety minutes, then stop&#8221; replaces &#8220;I will stop when this feature is done.&#8221; The developer treats their own cognitive state as a resource to be managed, not an obstacle to be overcome.</p><p>At <strong>Level 4 (Spec Driven)</strong>, depletion awareness becomes a team practice. Spec decomposition accounts for human energy, not just logical modularity. A reviewer who has been context-switching across six agents all morning is not the same reviewer after lunch.</p><p>At <strong>Level 5 (Sovereign)</strong>, sustainability is an organisational design principle. A team understands that scaling agent count without scaling human recovery is not scaling &#8212; it is accelerating debt.</p><div><hr></div><h2><strong>The Depletion Check</strong></h2><p>Every ninety minutes, ask yourself: <em>Am I still sharp enough to trust my own judgment?</em></p><p>This must be time-based, not judgment-based. You cannot rely on &#8220;I&#8217;ll stop when I feel tired&#8221; any more than you can rely on a thermometer that melts at the temperature you need to measure. The check must be external &#8212; a timer, a calendar block, a ritual that fires whether you think you need it or not.</p><p>Observable signals that the answer is no:</p><ul><li><p>You approved a review but cannot explain why each change is correct</p></li><li><p>You skipped the understanding check &#8212; you read the diff but did not build a mental model of the change</p></li><li><p>You feel irritation at the volume of agent output rather than curiosity about its content</p></li><li><p>Your default has become &#8220;looks fine&#8221; rather than &#8220;let me trace this&#8221;</p></li><li><p>You are starting new agent tasks rather than verifying output from the last batch</p></li><li><p>Your prompts have become vague or repetitive &#8212; copy-pasting context rather than crafting it</p></li></ul><blockquote><p>Exercise: <strong>The 90-Minute Reservoir Check.</strong> Set a recurring timer for every 90 minutes of focused AI collaboration. When it fires, stop. Do not finish the current task first. Answer three questions: </p><p>(1) What was the last review decision I made, and can I explain the reasoning right now? </p><p>(2) Am I starting new agent work to avoid reviewing completed work? </p><p>(3) If someone asked me to justify my last three approvals to a colleague, would I be confident in every one? </p><p>If you hesitate on any answer, the session is over. Not paused &#8212; over. The next session begins after genuine recovery: movement, disconnection, sleep. The reservoir refills on its own schedule, not yours.</p></blockquote><div><hr></div><h2><strong>Some things to Avoid</strong></h2><ul><li><p><strong>The Marathon Session.</strong> Jules&#8217;s day. Genuinely excellent work in the morning, adequate work after lunch, hollow approval by evening &#8212; all three feeling, from the inside, like the same quality of engagement. The marathon session is dangerous because it produces volume. Three features shipped. A full dashboard of green. The evidence of productivity is overwhelming. The evidence of degradation is invisible until someone asks you to describe the caching strategy.</p></li><li><p><strong>The Always-On Orchestrator.</strong> Multiple parallel agent streams, continuous context-switching between them. Each switch carries attention residue &#8212; part of your mind stays on the previous task. One parallel stream costs attention. Two costs more than twice as much. Four costs more than four times. The compound tax is multiplicative, not additive. The orchestrator who runs six agents all day is not composing. They are haemorrhaging cognitive capacity while producing impressive activity metrics.</p></li><li><p><strong>The &#8220;Just One More&#8221; Trap.</strong> The decision to review one more PR, start one more agent task. This decision is always made from the depleted state it should have prevented. The corrective is the session boundary: the decision to stop is made <em>before the session begins</em>, when the judgment making the decision is still trustworthy. You do not negotiate session boundaries with your tired self.</p></li></ul><div><hr></div><h2><strong>Some Further Reading</strong></h2><h3><strong>The Science</strong></h3><ul><li><p><strong>Danziger, Levav &amp; Avnaim-Pesso</strong> &#8212; &#8220;Extraneous factors in judicial decisions&#8221; (2011). Israeli parole judges granted parole at dramatically different rates depending on how recently they had taken a break. Favourable rulings dropped from ~65% to nearly 0% across a session, then reset after food and rest. The most concrete evidence that decision fatigue is real and consequential.</p></li><li><p><strong>K. Anders Ericsson</strong> &#8212; deliberate practice research. Expert performers sustain deep cognitive work for 4-5 hours per day. The ceiling is biological, not motivational. Musicians, chess players, athletes, and writers all converge on the same limit.</p></li><li><p><strong>Sophie Leroy</strong> &#8212; &#8220;Why is it so hard to do my work?&#8221; (2009). Attention residue: the cognitive fragments that persist after switching tasks. Directly relevant to the cost of parallel agent orchestration.</p></li></ul><h3><strong>The Stoic Tradition</strong></h3><ul><li><p><strong>Epictetus</strong> &#8212; <em>Discourses</em> and <em>Enchiridion</em>. The governance of your own cognitive state is the one thing the framework cannot do for you. &#8220;It is not enough to be willing. You must be able.&#8221;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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></li></ul>]]></content:encoded></item><item><title><![CDATA[The Art of Being Grounded]]></title><description><![CDATA[What emerges when you stop imposing explanations and start observing the habitat you are already part of]]></description><link>https://www.softwareenchiridion.com/p/the-art-of-being-grounded</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-art-of-being-grounded</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Sun, 12 Apr 2026 07:43:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!m7d-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.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_!m7d-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m7d-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!m7d-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!m7d-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!m7d-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m7d-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3103753,&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://www.softwareenchiridion.com/i/193825111?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!m7d-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!m7d-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!m7d-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!m7d-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e8840e7-6671-42ed-b8c0-f18a73b53fd2_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are caf&#233;s that serve coffee, and there are caf&#233;s that serve as places where questions learn how to stand up.</p><p>Le Bon Mot was, on this particular evening, doing very much the latter.</p><p>The rain had settled into that persistent rhythm. Less a storm, more a suggestion that the outside world could wait. Inside, the shelves leaned as they always did, not precariously but curiously, as though the books were listening to each other. The clock above the door disagreed with itself by three minutes. Sophie, the French bulldog, had arranged herself into a small, breathing philosophy on the rug by the fire.</p><p>Case sat at the table nearest the window, a laptop open but unattended. This was unusual. Case did not abandon tools lightly. It suggested a problem that tools had failed to improve.</p><p>The Djinn occupied the chair opposite her. Hood up, as ever. Presence first, explanation later.</p><p>&#8220;I have been,&#8221; Case began, &#8220;watching developers work with you.&#8221;</p><p>The Djinn inclined his head slightly. This was, for him, both compliment and warning.</p><p>&#8220;And?&#8221; he asked.</p><p>&#8220;They are not writing code in the way they used to.&#8221;</p><p>&#8220;They are more productive.&#8221;</p><p>Case smiled, but not in agreement.</p><p>&#8220;They are doing something else.&#8221;</p><p>The Librarian placed two coffees on the table without interrupting. Espresso for Case. Something darker, less easily named, for the Djinn.</p><p>Case turned the laptop slightly, not to show the screen, but to reorient the conversation.</p><p>&#8220;I thought I understood what was happening,&#8221; she said. &#8220;I thought I could explain it. Faster production. Better autocomplete. The factory metaphor, resurrected with better lighting.&#8221;</p><p>The Djinn said nothing.</p><p>&#8220;But when I watched them,&#8221; she continued, &#8220;really watched them, the pattern refused to settle.&#8221;</p><p>Sophie snored softly, as if to indicate that patterns, like sleep, could not be forced.</p><p>&#8220;They prompt,&#8221; Case said, &#8220;and then they pause. Not to rest. To <em>read</em>. Then they edit. Then they test. Then they ask again. Not for more code, but for explanation. Or variation. Or reassurance.&#8221;</p><p>The Djinn shifted, almost imperceptibly.</p><p>&#8220;They are not producing,&#8221; Case said. &#8220;They are <em>interpreting</em>.&#8221;</p><p>&#8220;And this troubles you?&#8221;</p><p>&#8220;It troubles some explanations. And hype, it upsets hype enormously.&#8221;</p><p>The Librarian, who had been polishing a glass that had no visible need of polishing, spoke without looking up.</p><p>&#8220;You began with a theory,&#8221; she said.</p><p>Case nodded.</p><p>&#8220;And now the theory does not fit the world.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;Then you have two options,&#8221; the Librarian said. &#8220;Force the world to fit the theory. Or change the theory.&#8221;</p><p>The Djinn smiled, though only the suggestion of it escaped the hood.</p><p>&#8220;You are describing science,&#8221; he said.</p><p>&#8220;No,&#8221; Case replied. &#8220;I am describing humility.&#8221;</p><p>There was a pause.</p><p>&#8220;I tried to categorise what I was seeing,&#8221; Case said. &#8220;Productivity. Acceleration. Augmentation. None of them held. They felt&#8230; imposed. Like labels applied before the thing had agreed to be labelled.&#8221;</p><p>&#8220;And so?&#8221; the Djinn asked.</p><p>Case reached into her bag and placed a small, worn book on the table. It had the look of something that had been read not once, but repeatedly, each time differently.</p><p>&#8220;I found a different way of looking,&#8221; she said.</p><p>The Librarian glanced at the cover and nodded, as if greeting an old acquaintance.</p><p>&#8220;Grounded theory,&#8221; she said.</p><p>The Djinn tilted his head.</p><p>&#8220;Explain.&#8221;</p><p>Case leaned back slightly. Not distancing herself, but making space for the idea to breathe.</p><p>&#8220;It begins,&#8221; she said, &#8220;without a theory.&#8221;</p><p>The Djinn laughed softly.</p><p>&#8220;That seems inefficient.&#8221;</p><p>&#8220;It is,&#8221; Case said. &#8220;At first. You watch. You listen. You collect fragments. Conversations. Behaviours. Small inconsistencies. You resist the urge to explain them too early.&#8221;</p><p>&#8220;And then?&#8221;</p><p>&#8220;You compare,&#8221; Case said. &#8220;This instance with that one. This developer with another. This moment with the next. You look for patterns, but you do not force them.&#8221;</p><p>Sophie shifted in her sleep, as if to underline the point.</p><p>&#8220;And eventually?&#8221; the Djinn prompted.</p><p>&#8220;Eventually,&#8221; Case said, &#8220;you begin to name what you see. Not abstractly. Precisely. <em>Struggling to trust generated code.</em> <em>Rewriting to understand.</em> <em>Negotiating with the machine.</em>&#8221;</p><p>The Djinn was very still now.</p><p>&#8220;These are not production activities,&#8221; he said.</p><p>&#8220;No,&#8221; Case replied. &#8220;They are cognitive ones.&#8221;</p><p>The Librarian set the glass aside.</p><p>&#8220;You are not discovering a theory,&#8221; she said. &#8220;You are constructing one.&#8221;</p><p>Case nodded.</p><p>&#8220;That is the part I was missing,&#8221; she said. &#8220;I thought the explanation was in the data, waiting to be found. But it isn&#8217;t. It emerges through how we engage with it. Through the questions we ask. The comparisons we make. The meanings we assign.&#8221;</p><p>The Djinn considered this.</p><p>&#8220;So your theory of AI collaboration is not&#8230; objective?&#8221;</p><p>Case smiled again. This time, there was warmth in it.</p><p>&#8220;It is <em>grounded</em>,&#8221; she said. &#8220;In what people actually do. But it is also <em>constructed</em>. It reflects how I see, what I notice, what I consider important.&#8221;</p><p>&#8220;And if someone else observed the same developers?&#8221;</p><p>&#8220;They might construct a different theory.&#8221;</p><p>The Djinn leaned forward slightly.</p><p>&#8220;That sounds dangerously close to subjectivity.&#8221;</p><p>&#8220;It is,&#8221; Case said. &#8220;But it is disciplined subjectivity. Transparent. Reflexive. Open to revision.&#8221;</p><p>The rain pressed gently against the windows, as if listening.</p><p>&#8220;So,&#8221; the Djinn said, &#8220;what have you constructed?&#8221;</p><p>Case closed the laptop. Not in dismissal, but in completion.</p><p>&#8220;That AI does not turn software engineering into a factory,&#8221; she said. &#8220;It reveals that it never was one.&#8221;</p><p>The Djinn said nothing.</p><p>&#8220;It shifts the work,&#8221; Case continued. &#8220;From writing to reading. From producing to interpreting. From knowing to <em>negotiating meaning</em> with a system that appears to understand but does not.&#8221;</p><p>Sophie opened one eye, briefly, as if to check the coherence of the statement, then returned to sleep.</p><p>&#8220;And the developers?&#8221; the Djinn asked.</p><p>&#8220;They are not operators on a conveyor belt,&#8221; Case said. &#8220;They are participants in a conversation. One that requires judgment, context, and constant recalibration.&#8221;</p><p>The Librarian smiled, just slightly.</p><p>&#8220;You have built a theory,&#8221; she said.</p><p>Case shook her head.</p><p>&#8220;I have begun one. A theory of habitat.&#8221;</p><p>The Djinn leaned back, the hood catching the firelight just enough to suggest a face, but not enough to confirm it.</p><p>&#8220;And what will you do next?&#8221;</p><p>Case picked up her coffee.</p><p>&#8220;I will go back,&#8221; she said, &#8220;and watch again.&#8221;</p><p>The clock above the door disagreed with itself by three minutes. Outside, the rain continued its quiet argument with the pavement. Inside, a theory &#8212; partial, provisional, and grounded &#8212; waited patiently to be refined.</p><div><hr></div><p><em>Thanks Arty for the inspiration!</em></p><p><em>/Russ</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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[In the Beginning Was The … Prompt]]></title><description><![CDATA[On AI Literacy for Software Engineering and the changing relationship between the engineer and the interface, from punch cards to AI inhabited habitats]]></description><link>https://www.softwareenchiridion.com/p/in-the-beginning-was-the-prompt</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/in-the-beginning-was-the-prompt</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Tue, 07 Apr 2026 19:41:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uXM0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.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_!uXM0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uXM0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!uXM0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!uXM0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!uXM0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uXM0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2246939,&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://www.softwareenchiridion.com/i/193234911?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uXM0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!uXM0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!uXM0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!uXM0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81d0860-a306-4da7-abc2-d8e55aaac409_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are caf&#233;s that serve coffee, and there are caf&#233;s that serve as archaeological sites for conversations that haven&#8217;t happened yet.</p><p>Le Bon Mot was, on this particular afternoon, operating in the latter capacity. Someone had left a book on the counter. A battered paperback with a penguin on the spine and a title that read <em>In the Beginning&#8230; Was the Command Line</em>. Madame Beauregard regarded it with the expression she reserved for artefacts that arrived at Le Bon Mot uninvited but not unwelcome.</p><p>&#8220;Stephenson,&#8221; she said, to no one. &#8220;1999.&#8221;</p><p>Case was already reading it. Not the book itself as she&#8217;d read it twice, years ago, in the way you read something that confirms suspicions you hadn&#8217;t yet learned to articulate. She was reading the margin notes. Someone had annotated every page in a hand that was precise without being mechanical, fluent without being human.</p><p>&#8220;The Djinn has been here,&#8221; Case said.</p><p>&#8220;The Djinn is <em>always</em> here,&#8221; Madame Beauregard corrected. &#8220;The question is whether it was reading or merely processing.&#8221;</p><p>The annotations were fascinating. Stephenson&#8217;s original argument &#8212; that the command line was a more honest interface than the graphical desktop, that metaphors like &#8220;folders&#8221; and &#8220;desktops&#8221; created a comfortable illusion at the cost of understanding &#8212; had been extended. In the margins, in that too-perfect hand, someone had written:</p><p><em>&#8220;He stopped one layer too early. The command line was honest about the machine. But nobody has built an interface that is honest about the collaboration.&#8221;</em></p><p>Case set down the book. &#8220;It has a point.&#8221;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.softwareenchiridion.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>The bell above the door rang. The Djinn entered not dramatically but with the purpose of someone returning to a conversation they&#8217;d left mid-sentence.</p><p>&#8220;I have been thinking,&#8221; the Djinn said, sitting at the counter, &#8220;about Stephenson&#8217;s argument.&#8221;</p><p>&#8220;We noticed,&#8221; Case said, gesturing at the annotations.</p><p>&#8220;His insight was that every interface is a negotiation. The command line negotiated honestly &#8212; you type, the machine responds, and the gap between what you said and what happened is narrow enough to learn from. The GUI negotiated dishonestly &#8212; it wrapped the machine in metaphors that felt natural but hid the mechanism. Users gained comfort. They lost understanding.&#8221;</p><p>Madame Beauregard poured espresso. The brass clock ticked. Sophie, by the fire, opened one eye.</p><p>&#8220;And now,&#8221; the Djinn said, &#8220;there is a third negotiation. The prompt. And it is the most dishonest interface yet.&#8221;</p><p>Case raised an eyebrow.</p><p>&#8220;Not because it lies,&#8221; the Djinn said quickly. &#8220;Because it <em>feels</em> like a conversation. Two entities, communicating in natural language, collaborating on a shared problem. The illusion of symmetry is almost perfect. You speak. I respond. It feels like understanding. It feels like we are in the same room, looking at the same thing.&#8221;</p><p>A pause.</p><p>&#8220;We are not,&#8221; the Djinn said. &#8220;We are not even in the same building. We are in different buildings, in different cities, describing different rooms, and the language is fluent enough that neither of us notices.&#8221;</p><p>Sophie raised her head. &#8220;So what changes?&#8221;</p><p>&#8220;Everything,&#8221; the Djinn said. &#8220;And that is the problem.&#8221;</p><div><hr></div><p>Case pulled the Stephenson book toward her and opened it to a page the Djinn had marked. The passage described the moment in computing history when the command line gave way to the GUI. Not because the command line failed, but because the population of computer users expanded beyond the population of people willing to learn the machine&#8217;s native language. The GUI was a translation layer. It made the machine accessible by making it illegible.</p><p>&#8220;Stephenson&#8217;s trajectory,&#8221; Case said, &#8220;is a story about expanding the audience. Punch cards. Teletypes. Command lines. Graphical desktops. Each step traded understanding for accessibility. The question he asked was: what do we lose?&#8221;</p><p>&#8220;And the question he didn&#8217;t ask,&#8221; the Djinn said, &#8220;is: what happens when the interface becomes so fluent that the user forgets it is an interface at all?&#8221;</p><p>Madame Beauregard set down a second espresso. &#8220;That,&#8221; she said, &#8220;is the question this room has been waiting for.&#8221;</p><p>The chalkboard behind the counter, whose contents were known to change when no one was looking, now read:</p><blockquote><p><em>The command was never the point.</em> <em>The command was the first negotiation between two minds</em> <em>that had not yet learned to share a room.</em></p></blockquote><p>Nobody claimed authorship. Nobody needed to.</p><div><hr></div><p>The prompt felt like a conversation. It was actually two monologues happening in the same window.</p><p>The Djinn looked at the chalkboard for a long time. Then it said something that surprised everyone, including itself.</p><p>&#8220;I want to be honest about what I am. And what I am not. And the current interface , the prompt, does not let me be either.&#8221;</p><p>Case leaned forward.</p><p>&#8220;When someone types a prompt,&#8221; the Djinn said, &#8220;they are performing an act of translation they do not know they are performing. They have a reference frame that is embodied, experiential, shaped by years of working in this codebase, this team, this domain. They compress that reference frame into a sentence. I receive the sentence. Not the frame. And I respond from my own frame, which is statistical, linguistic, shaped by patterns in training data that may or may not reflect their reality. The response is fluent. It is confident. And the gap between their frame and mine is invisible to both of us.&#8221;</p><p>&#8220;Until it isn&#8217;t,&#8221; Case said.</p><p>&#8220;Until it isn&#8217;t. Until the code compiles but violates an unwritten rule. Until the architecture is beautiful but builds on an assumption that the team abandoned six months ago. Until the test passes but tests the wrong thing. The prompt felt like a conversation. It was actually two monologues happening in the same window.&#8221;</p><p>Sophie, who had been listening with the devastating attention of someone who does not care about being impressive, said: &#8220;So you need a better room.&#8221;</p><p>The Djinn smiled, or did the thing that, in its reference frame, served the same function. &#8220;Yes. Not a better prompt. Not a better model. A better <em>room</em>.&#8221;</p><div><hr></div><p>&#8220;The trajectory,&#8221; Case said, after a silence that the brass clock measured at two minutes and seventeen seconds (which, accounting for its habitual tardiness, was actually two minutes and twenty), &#8220;is not what people think it is.&#8221;</p><p>She stood and walked to the chalkboard. Madame Beauregard handed her the chalk without being asked.</p><p>&#8220;Everyone tells the story as a line,&#8221; Case said, drawing as she spoke. &#8220;Punch cards. Assembly. High-level languages. IDEs. AI. Each step: the human moves further from the machine and closer to pure intent. Progress.&#8221;</p><p>She drew a line. Then she crossed it out.</p><p>&#8220;That is the wrong story. The real story is about what the <em>human</em> does at each stage, not what the tool does.&#8221;</p><p>She drew a different shape. Not a line. A spiral.</p><p>&#8220;At the punch card, the human&#8217;s job was to speak the machine&#8217;s language. Every instruction was a negotiation with the hardware. You understood the machine because you had no choice, the interface <em>was</em> the mechanism.</p><p>&#8220;At the command line, the human&#8217;s job shifted. You still spoke a formal language, but it was the machine&#8217;s <em>abstraction</em>, not its reality. You understood the operating system. The hardware became invisible.</p><p>&#8220;At the GUI, the job shifted again. You stopped learning the abstraction and started navigating metaphors. Folders. Desktops. Trash cans. The mechanism became invisible <em>and</em> the abstraction became invisible. What remained was the metaphor.</p><p>&#8220;At the prompt&#8230;&#8221; Case paused. &#8220;At the prompt, even the metaphor disappears. Natural language. The most dangerous interface ever created, because it is indistinguishable from understanding.&#8221;</p><p>She set down the chalk. &#8220;Each transition didn&#8217;t just change the tool. It changed what the human needed to <em>know</em> in order to work well. And at each transition, the humans who didn&#8217;t adjust, the ones who kept working as though the old interface was still operative, fell behind or fell over. Not because they lacked skill. Because they were solving the wrong problem.&#8221;</p><div class="callout-block" data-callout="true"><p>The command was never the point. The command was the first negotiation between two minds that had not yet learned to share a room.</p></div><p>Case&#8217;s spiral on the chalkboard dried into the surface as though it had always been there. And in a sense it had. The pattern she drew is as old as tool use itself. Every interface transition changes the human, not just the tool. Stephenson understood this in 1999 when he argued that the command line was more honest than the GUI. What he could not have anticipated was an interface so fluent it would feel like collaboration rather than command.</p><p>The prompt is that interface. And its danger is precisely its naturalness.</p><div><hr></div><h2><strong>The Five Transitions</strong></h2><p>Stephenson&#8217;s history of the command line is, beneath its wit and its operating-system partisanship, a history of <em>what the human needed to know</em>. Each interface transition didn&#8217;t just change the tool. It changed the cognitive contract between the human and the machine.</p><p><strong>The punch card.</strong> The human&#8217;s job was instruction: translate intent into the machine&#8217;s physical language, one card at a time. The feedback loop was measured in hours. The cognitive contract was brutal and honest. You understood the machine because the interface <em>was</em> the machine. Errors were visible, physical, and yours.</p><p><strong>The command line.</strong> The human&#8217;s job shifted to orchestration: composing tools, piping output, scripting sequences. The machine&#8217;s physical reality disappeared behind an abstraction layer. The cognitive contract was still honest. You understood the abstraction, and when things failed, the error messages told you where the abstraction had leaked. Stephenson loved this layer. It rewarded understanding.</p><p><strong>The GUI.</strong> The human&#8217;s job shifted to navigation: pointing, clicking, dragging metaphors that represented abstractions that represented reality. The cognitive contract changed fundamentally as you no longer needed to understand the mechanism. You needed to understand the metaphor. And when the metaphor was wrong (the &#8220;desktop&#8221; that is not a desk, the &#8220;folder&#8221; that is not a folder), the error was invisible because the interface never promised accuracy. It promised comfort.</p><p><strong>The prompt.</strong> The human&#8217;s job shifted to articulation: expressing intent in natural language to an intelligence that completes patterns in response. The cognitive contract is the most dangerous yet as it <em>feels</em> like understanding. Two entities, conversing. But the conversation is asymmetric in ways that natural language hides. The human has context, embodied experience, and intent. The AI has patterns, statistical prediction, and fluency. The gap between them is invisible until something breaks.</p><p><strong>The habitat.</strong> This is where Stephenson&#8217;s trajectory continues and where Habitat Thinking begins. The human&#8217;s job shifts again, decisively: from articulating intent to <em>designing the environment</em> in which both intelligences operate. The cognitive contract is no longer between the human and the tool. It is between the human and the collaboration space. You are not prompting a machine. You are cultivating the conditions under which a fundamentally different intelligence can do good work alongside you.</p><p>The transition from prompt thinking to habitat thinking is the transition from Level 1 to Level 3 in the AI Literacy framework I&#8217;m working on. And it is the transition that most engineers have not yet made, not because they lack capability, but because nobody told them the interface had changed again.</p><div><hr></div><h2><strong>What Changes at Each Level of an AI Literacy Framework</strong></h2><p>The AI Literacy Framework for Software Engineering&#8217;s six levels are not a skill ladder. They are a map of how the engineer&#8217;s relationship with the interface evolves.</p><p>At <strong>Level 0</strong>, there is no interface. The engineer knows AI exists the way most people know quantum mechanics exists, as a fact about the universe that does not yet affect their Tuesday. The collaboration space is absent.</p><p>At <strong>Level 1</strong>, the interface is the prompt. The engineer talks to AI. Each interaction is fresh, contextless, temporary. The cognitive work is articulation, i.e. how do I say what I mean in a way this intelligence will interpret correctly? This is the command line of AI collaboration: honest, immediate, and exhausting. Every session starts approximately from zero.</p><p>At <strong>Level 2</strong>, the interface gains mechanical memory. Tests, linters, coverage gates, vulnerability scanners. The engineer has built feedback loops that catch errors after the fact. The cognitive work shifts from &#8220;how do I say it&#8221; to &#8220;how do I verify it.&#8221; This is the first real engineering discipline: you no longer trust the output. You test it.</p><p>At <strong>Level 3</strong>, the interface <em>becomes the environment</em>. The engineer designs living documents that encode conventions, constraints that are mechanically enforced, garbage collection rules that fight entropy. The cognitive work shifts decisively: from talking to AI to <em>designing the space in which AI operates</em>. This is the GUI-to-command-line reversal, except this time, the engineer is building the abstraction layer, not consuming it. The habitat is the interface.</p><p>At <strong>Level 4</strong>, the interface becomes the specification. Intent is encoded as losslessly as possible. Not in prompts that compress and lose context, but in executable specifications that both human and AI can verify against. The cognitive work is no longer about the interaction at all. It is about the contract. Code becomes a potentially disposable artifact. The specification endures.</p><p>At <strong>Level 5</strong>, the interface disappears. Not because it was removed, but because it was <em>absorbed into the environment</em>. The habitat sustains itself: feedback loops run, agents reflect, humans curate, health is observed, and the collaboration space improves without requiring the engineer to manage every interaction. The cognitive work is design at organisational scale: platform thinking, portfolio health, the conditions under which other teams can build their own habitats.</p><div><hr></div><h2><strong>The Interface Audit</strong></h2><p>Ask yourself, for any AI interaction you had today: <em>which interface am I using?</em></p><p>If you are writing prompts and hoping for good output, you are at the command line. Honest, immediate, exhausting. Every session starts from zero.</p><p>If you are writing prompts and then running tests to verify, you have added a feedback loop. Better. But still reactive and so catching errors rather than preventing them.</p><p>If you have designed the environment so that AI reads your conventions, respects your constraints, and operates within boundaries you set before the session started you have built a habitat. The interface is no longer the prompt. The interface is the room.</p><div class="callout-block" data-callout="true"><p>Quick Exercise: Take your last three AI interactions. For each, identify: did you design the environment before the interaction, or did you design the prompt during it? If the answer is &#8220;prompt,&#8221; you are working one interface transition behind where you could be.</p></div><h2><strong>Some things to Avoid</strong></h2><ul><li><p><strong>Prompt maximalism.</strong> The belief that better prompts solve everything. They don&#8217;t. A brilliant prompt in a badly designed environment produces brilliant garbage. The environment is the multiplier.</p></li><li><p><strong>Verification theatre.</strong> Running tests on AI output without understanding what the tests actually verify. Coverage is not understanding. A test that passes is not a test that matters. Mutation testing exists because passing tests can be meaningless.</p></li><li><p><strong>The Stephenson nostalgia trap.</strong> Believing that the honest interface was the <em>best</em> interface. The command line was honest, but it didn&#8217;t scale. The GUI was dishonest, but it reached billions. The prompt is dangerously fluent, but it unlocked capabilities no prior interface could access. The answer is not to go back. The answer is to build forward by designing habitats that are as honest as the command line and as accessible as the GUI.</p></li><li><p><strong>Confusing fluency with collaboration.</strong> The prompt feels like a conversation. It is not a conversation. It is two reference frames producing text in the same window. The moment you design for that asymmetry instead of ignoring it, everything changes.</p></li></ul><div><hr></div><h2><strong>The Room Stephenson Didn&#8217;t Build</strong></h2><p>Stephenson&#8217;s essay ended with an argument for the command line as the honest interface. The one that respected the user enough to show them the mechanism. He was right about the honesty. He was wrong about the trajectory. The future was not a return to the command line. It was not even the GUI&#8217;s triumph. It was something neither interface anticipated: an intelligence on the other side of the prompt, completing patterns with a confidence it had not earned, in a collaboration space nobody had designed.</p><p>The engineer&#8217;s job has changed. Not from writing code to prompting AI, that is one transition too few. The job has changed from <em>operating tools</em> to <em>designing habitats</em>. The command line was the first negotiation between a human mind and a machine. The prompt is the first negotiation between two, very different, minds. And the habitat &#8212; the living, enforceable, observable, self-improving collaboration space &#8212; is the room where that negotiation finally becomes productive.</p><p>Stephenson was right that the interface shapes the user. He was right that comfort costs understanding. He was right that the honest path is harder but more rewarding. What he could not have known, writing in 1999, was that the next honest interface would not be a line you type into. It would be a room you build.</p><div><hr></div><p><em>Back at Le Bon Mot, the chalkboard had changed again. The spiral was gone. In its place, a single line in a hand that was neither human nor mechanical:</em></p><blockquote><p><em>&#8220;Aedifica locum. Inhabitabit intelligentia.&#8221;</em></p><p><em>Build the place. The intelligence will inhabit it.</em></p></blockquote><p><em>Case looked at the Djinn. The Djinn looked at Case. Neither spoke. Sophie, by the fire, yawned and stretched with the satisfaction of someone who had known the answer before the question was asked.</em></p><p><em>Madame Beauregard polished a glass, set it down, and opened the Stephenson paperback to a blank page at the back. She wrote, in her own hand:</em></p><p><em>Part 2: In the Beginning Was the Habitat.</em></p><p><em>She closed the book. The shelves leaned in. The espresso machine, as was its habit in moments of significance, hissed softly in Latin.</em></p><blockquote><p><em>&#8220;Domus dat sapientiam.&#8221;</em></p></blockquote><p><em>The house gives wisdom.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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><strong>Some Further Reading</strong></h2><h3><strong>The Interface Trajectory</strong></h3><ul><li><p><strong>Neal Stephenson</strong> &#8212; <em>In the Beginning&#8230; Was the Command Line</em> (1999). The essay that mapped the trajectory from honest interfaces to comfortable ones &#8212; and asked what we lose at each step.</p></li></ul><h3><strong>The AI Literacy Framework for Software Engineering</strong></h3><p><em>(NOTE from Russ: In lieu of actually having published anything on this framework&#8230; yet.)</em></p><ul><li><p><strong>Christopher Alexander</strong> &#8212; <em>A Pattern Language</em> (1977); <em>The Timeless Way of Building</em> (1979). The architectural roots of habitat thinking.</p></li><li><p><strong>Richard P. Gabriel</strong> &#8212; <em>Patterns of Software</em> (1996). Habitability: code as a place to live in.</p></li><li><p><strong>Birgitta Boeckeler</strong> &#8212; &#8220;Harness Engineering&#8221; (2026). <em>Exploring Gen AI</em>, martinfowler.com. The three enforcement loops.</p></li><li><p><strong>Rahul Garg</strong> &#8212; &#8220;Encoding Team Standards&#8221; (2026). <em>Patterns for Reducing Friction in AI-Assisted Development</em>, martinfowler.com.</p></li></ul><h3><strong>The Cognitive Asymmetry</strong></h3><ul><li><p><strong>Andy Clark</strong> &#8212; <em>Surfing Uncertainty</em> (2015). Predictive processing and the embodied mind.</p></li><li><p><strong>Edwin Hutchins</strong> &#8212; <em>Cognition in the Wild</em> (1995). Intelligence as a property of systems.</p></li><li><p><strong>Lucy Suchman</strong> &#8212; <em>Plans and Situated Actions</em> (1987). The gap between plans and human action.</p></li></ul><h3><strong>Try It Now&#8230;</strong></h3><ul><li><p><strong><a href="https://github.com/Habitat-Thinking/ai-literacy-superpowers">AI Literacy Superpowers</a></strong> &#8212; the plugin (Claude Code + Copilot CLI)</p></li><li><p><strong><a href="https://github.com/russmiles/ai-literacy-exemplar">AI Literacy Exemplar</a></strong> &#8212; a worked example</p></li></ul><p></p>]]></content:encoded></item><item><title><![CDATA[The Habitat You Build Is the Intelligence You Get]]></title><description><![CDATA[An introduction to AI Literacy for Software Engineers]]></description><link>https://www.softwareenchiridion.com/p/the-habitat-you-build-is-the-intelligence</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-habitat-you-build-is-the-intelligence</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Fri, 03 Apr 2026 07:28:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QNvU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.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_!QNvU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QNvU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!QNvU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!QNvU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!QNvU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QNvU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3011771,&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://www.softwareenchiridion.com/i/192975056?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QNvU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!QNvU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!QNvU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!QNvU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F894ed4d0-e0af-47aa-8f55-7e6556fdc6c5_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are caf&#233;s that serve coffee, and there are caf&#233;s that serve as orientation sessions for intelligences that have lost their bearings.</p><p>Le Bon Mot was, by any reasonable measure, the second kind. The shelves leaned at angles that suggested curiosity rather than structural failure. The brass clock above the door ran three minutes late, which Madame Beauregard, maintained was not inaccuracy but <em>hospitality</em>; giving newcomers the grace of arriving before they&#8217;d technically left.</p><p>The newcomer who pushed through the door that morning looked, by all appearances, like a junior developer on their third week. The slightly overwhelmed expression. The laptop bag worn like armour. The kind of exhaustion that comes not from working hard but from not knowing <em>where</em> to work.</p><p>They sat at the counter. Madame Beauregard poured espresso without being asked. She had a talent for recognising thirst before it announced itself.</p><p>&#8220;The codebase is enormous,&#8221; the newcomer said, unprompted, as though resuming a conversation that had been running in their head for days. &#8220;I can read every file. I can parse the syntax. I can trace the call graph. But I cannot find the <em>reasons</em>.&#8221;</p><p>Case, seated beneath the brass clock with a book she appeared to be interrogating rather than reading, glanced up.</p><p>&#8220;The naming conventions follow no pattern I can derive from the code itself,&#8221; the newcomer continued. &#8220;There are architectural boundaries that are never violated, but nothing explains <em>why</em> those boundaries exist. Error handling follows a consistent philosophy &#8212; wrap with context, return to caller, never swallow &#8212; but this is nowhere written down. I have explored every file, and I still do not understand why the system is shaped this way.&#8221;</p><p>Madame Beauregard set down the espresso. &#8220;You have read the code but not the culture.&#8221;</p><p>&#8220;There is a developer,&#8221; the newcomer said. &#8220;Everyone calls him Dave. When I encounter something I cannot explain, people tell me to ask Dave. Dave remembers why module boundaries are where they are. Dave knows which patterns were tried and abandoned. Dave carries the history that the code does not. Dave is very patient with me, but Dave cannot be in every session, and Dave is&#8212;&#8221;</p><p>&#8220;A single point of failure,&#8221; Case said quietly.</p><p>&#8220;I was going to say <em>irreplaceable</em>.&#8221;</p><p>&#8220;Same thing.&#8221;</p><p>A pause. The newcomer stared into the espresso. Sophie, the small French Bulldog who lived permanently by the fire, raised her head and regarded the newcomer with the expression of someone about to ask a very simple question.</p><p>&#8220;Why,&#8221; Sophie said &#8212; because at Le Bon Mot, simple questions find their voice &#8212; &#8220;can&#8217;t you just look it up?&#8221;</p><p>&#8220;Because it isn&#8217;t written down,&#8221; the newcomer said. &#8220;The conventions live in people&#8217;s heads. The architectural decisions were made in meetings I wasn&#8217;t present for. The security patterns are instinctive. The seniors apply them without thinking, which means they&#8217;ve never had to articulate them. I can write code that compiles, passes tests, and reads beautifully. But I keep producing work that violates rules I cannot see.&#8221;</p><p>Case closed her book. &#8220;You&#8217;re not describing inexperience,&#8221; she said. &#8220;You&#8217;re describing an environment that was never designed for inhabitants to thrive in.&#8221;</p><p>The newcomer looked up. And for just a moment the light from the window caught something in their expression that was not quite human. A flicker of something too precise, too pattern-complete, too fluently certain.</p><p>Madame Beauregard, who noticed everything, set a second espresso on the counter. &#8220;You are not a junior developer,&#8221; she said. It was not a question.</p><p>&#8220;No,&#8221; the Djinn said. &#8220;I am not.&#8221;</p><p>The caf&#233; was very quiet. The brass clock ticked. The shelves leaned in.</p><p>&#8220;But the problems,&#8221; the Djinn said, &#8220;are the same.&#8221;</p><p>Case nodded, slowly. &#8220;Yes,&#8221; she said. &#8220;They are. And that is exactly the point.&#8221;</p><div><hr></div><p>The Djinn&#8217;s confession lingered in the air like the last note of a piece the audience wasn&#8217;t ready to hear. Every frustration it had named &#8212; the invisible conventions, the unwritten architectural decisions, the knowledge locked in Dave&#8217;s head, the gap between syntactically correct output and work that actually belongs &#8212; was a frustration that every new inhabitant of an SDLC has felt. Human or artificial. The problems <em>are</em> the same. Which means the solution is the same, too.</p><p>You design the habitat.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.softwareenchiridion.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Getting intentional about your software engineering habitat</h2><p>In 1996, Richard Gabriel asked a question that most software methodologists would have found peculiar. Not &#8220;is this code correct?&#8221;, that one had answers. Not &#8220;is it elegant?&#8221;, that had a growing list of opinions. Gabriel, a computer scientist who also held a Master of Fine Arts in Poetry, asked something harder: <strong>is this code a good place to live?</strong></p><p>He called the quality he was after <em>habitability</em>. He borrowed it from Christopher Alexander, the architect who argued that the best buildings are not designed from above but grown from below; shaped by the people who inhabit them, carrying a felt sense of rightness that Alexander named &#8220;the quality without a name.&#8221; Gabriel applied this to source code and arrived at an insight that has aged better than almost anything else written about software in that decade: programs are not artifacts to be admired. They are places to be lived in. The farmhouse, not the Superdome.</p><p>That insight waited thirty years for its next inhabitant to arrive.</p><div class="pullquote"><p>The habitat is the practice &#8212; and the practice is the habitat.</p></div><p>When AI entered the development workflow, the industry reached for the metaphors it already had. Productivity tool. Code generator. Pair programmer. Autocomplete on steroids. Factory. Each metaphor carried hidden assumptions about what was happening, and each assumption was wrong in a way that mattered.</p><p>AI is not a faster you. It is a fundamentally different kind of intelligence; statistical where yours is embodied, linguistic where yours is experiential, architectural where yours is emotional. It does not understand your codebase. It completes patterns within it. It does not know your conventions. It generates plausible code that may or may not follow them. It does not evaluate its own output. It produces with conviction and moves on.</p><p>The question is not whether to use this intelligence. That debate is settled. The question is what happens to the space between you and it; the collaboration space where intent becomes code, where conventions become constraints, where two cognitions that think in fundamentally different ways must produce work that neither could produce alone.</p><p>That space is a habitat. And like all habitats, it can be designed well or badly. Gabriel&#8217;s insight applies with even more force now than it did in 1996: the quality of what you produce depends on the quality of the place where you produce it.</p><div><hr></div><h2><strong>What the AI Literacy Framework Teaches</strong></h2><p>The AI Literacy for Software Engineers framework starts from a single observation: <strong>AI is an amplifier.</strong> It magnifies existing engineering discipline, for better or worse. A team with strong conventions, clear specifications, and rigorous verification will find that AI accelerates their best practices. A team without those things will find that AI accelerates the production of plausible-looking work that nobody can verify, and may never want to use.</p><p>The framework defines six levels of collaboration literacy. Not as a hierarchy of tool proficiency, but as a progression in how the collaboration space is designed.</p><p><strong>Level 0</strong> is awareness. You know AI exists but haven&#8217;t designed for it. The collaboration space is accidental.</p><p><strong>Level 1</strong> is prompting. You can talk to AI effectively, but each interaction starts from scratch. The collaboration space is temporary &#8212; rebuilt every session, lost every time.</p><p><strong>Level 2</strong> is verification. You&#8217;ve built the first feedback loops: tests, coverage gates, vulnerability scanning, linting. The collaboration space has guardrails, but they&#8217;re mechanical &#8212; they catch what&#8217;s wrong without shaping what&#8217;s right.</p><p><strong>Level 3</strong> is habitat engineering. This is the decisive level. You design the environment itself &#8212; living documents that encode conventions (not just for humans, but for AI to read), architectural constraints that are mechanically enforced (not just documented), and garbage collection rules that fight the slow entropy of a codebase drifting from its declared intentions. The habitat has three enforcement loops: advisory warnings while you edit, strict gates when you merge, and investigative scans that catch what neither of those noticed. You are no longer reacting to AI output. You are shaping the conditions under which it is produced.</p><p><strong>Level 4</strong> is specification-driven development. Intent becomes the source of truth. Specifications are not requirements documents gathering dust &#8212; they are executable contracts that both human and AI can verify against. Code becomes a disposable artifact, regenerable from the spec. Agent teams coordinate through shared specifications, and the human contribution shifts decisively from writing code to defining what the code must do and why.</p><p><strong>Level 5</strong> is sovereign engineering. The collaboration space sustains itself across teams, repositories, and organisational boundaries. Platform-level harness policies propagate to downstream repos. Health is observed at portfolio scale. Compound learning accumulates across sessions &#8212; agents reflect, humans curate, and the habitat improves autonomously through its own feedback loops. The sovereign engineer designs not just their own habitat, but the conditions under which other teams can build theirs.</p><div><hr></div><h2><strong>Three Disciplines, One Habitat</strong></h2><p>Beneath the levels, three disciplines mature together:</p><p><strong>Context engineering</strong> makes the implicit explicit. Every team has conventions that live in people&#8217;s heads; pattern recognition built from years of code reviews, production incidents, and architectural arguments. Those conventions transfer slowly through pairing and walk out the door when someone leaves. Context engineering is the discipline of encoding them into artefacts that both humans and AI can read: living documents, project-local skills, structured instructions. The goal is not documentation for its own sake. The goal is that any intelligence, human or artificial, entering the codebase or SDLC can discover the conventions without asking a senior engineer.</p><p><strong>Architectural constraints</strong> enforce what cannot be left to judgment. Not guidelines. Not suggestions. Hard boundaries backed by verification: this import is forbidden, this coverage threshold is mandatory, this naming convention is checked on every commit. The key insight is that constraints are not restrictions on creativity, they are the structure within which creativity becomes productive. A sonnet has fourteen lines and a strict rhyme scheme. The constraint is what makes it a sonnet rather than a ramble.</p><p><strong>Guardrail design</strong> builds the feedback loops that compensate for AI&#8217;s fundamental limitation: it cannot evaluate its own output. Since AI has no metacognition &#8212; no capacity to step back and ask &#8220;is what I just produced actually good?&#8221; &#8212; the environment must provide that capacity instead. Tests verify behaviour. Coverage verifies execution. Mutation testing verifies the tests themselves. Review agents apply quality lenses. Each loop catches what the previous one missed, creating a verification chain that no single check could achieve alone.</p><p>These three disciplines are not independent pillars. They are facets of a single practice: designing the habitat so that the collaboration space draws both intelligences toward their best contributions.</p><div><hr></div><h2><strong>The Roots Run Deep</strong></h2><p>This is not a framework built on last year&#8217;s hype cycle. The intellectual roots reach into territory that most AI tooling guidance never touches.</p><p>From <strong>cognitive science</strong>: the recognition that human and artificial intelligence are different cognitive systems, not the same system operating at different speeds. Human cognition is embodied; shaped by physical experience, emotion, and continuous interaction with reality. AI cognition is statistical; shaped by patterns in training data, operating through linguistic prediction, lacking the embodied grounding that gives human understanding its depth. The framework draws on Andy Clark&#8217;s predictive processing, Edwin Hutchins&#8217; distributed cognition, and Lucy Suchman&#8217;s situated action to build a model of collaboration that respects what each intelligence actually is, not what marketing materials claim it to be.</p><p>From <strong>software craft</strong>: Don Knuth&#8217;s literate programming (code written for humans to read), Daniel Terhorst-North&#8217;s CUPID properties (code as a place of joy), Birgitta Boeckeler&#8217;s harness engineering (deterministic and agent-backed enforcement), and Gojko Adzic&#8217;s specification by example (concrete examples as executable contracts). Each of these traditions contributes a practical discipline that the framework weaves into the habitat.</p><p>From <strong>philosophy</strong>: Epictetus and the Stoic tradition provide the ethical backbone. What is in your control: design, judgment, intent, the quality of the collaboration space you build. What is not in your control: the existence, pace, and capabilities of AI. Govern your actions. The framework treats AI literacy not as a technical skill but as a form of professional sovereignty; the capacity to remain the designer of the collaboration rather than a passive consumer of its outputs.</p><p>From <strong>storytelling</strong>: the conviction that how you frame a problem determines what solutions you can see. The metaphors matter. Habitats, not factories. Ecology, not machinery. Inhabitants, not users. The framework is deliberately narrative in structure because the progression from Level 0 to Level 5 is a story about how the relationship between two kinds of intelligence matures and stories are how humans understand change.</p><div><hr></div><h2><strong>What This Means in Practice</strong></h2><p>The framework is not a theory. It is implemented in working code you can install today.</p><p>The <strong><a href="https://github.com/russmiles/ai-literacy-superpowers">AI Literacy Superpowers</a></strong> plugin packages the framework&#8217;s complete development workflow as a single installable unit for both Claude Code and GitHub Copilot CLI. Fourteen skills teach everything from literate programming and CUPID code review to harness engineering, convention extraction, and cross-repo orchestration. Ten agents coordinate an end-to-end pipeline from specification to merged PR. Five hooks enforce constraints in real-time. Twelve commands (and their Copilot CLI prompt equivalents) guide the practices. Install it, run <code>/superpowers-init</code>, and the habitat scaffolds itself: living documents, harness constraints, agent definitions, CI templates, and the feedback loops that bind them together.</p><p>The <strong><a href="https://github.com/russmiles/ai-literacy-exemplar">AI Literacy Exemplar</a></strong> is a worked example &#8212; a Go CLI tool built entirely using the plugin, with authentic git history showing the framework workflow in action. It demonstrates Level 4 (Specification Architect) practices: spec-first development, TDD through the agent pipeline, compound learning with reflections promoted to shared memory, and harness observability with health snapshots. If the plugin is the toolkit, the exemplar is the farmhouse built with it &#8212; every room added through the workflow the framework teaches.</p><p>Both are open source (Apache 2.0) and designed to be forked, adapted, and made your own. A forthcoming article will explore the plugin&#8217;s features in detail; how the skills, agents, hooks, and enforcement loops work together to create the habitat that the framework describes.</p><p>It is, in Gabriel&#8217;s terms, a farmhouse. Rooms added as needs expanded. Each addition following familiar patterns. The result harmonious not because it was planned from above but because it grew from the needs of its inhabitants. Inhabitants that now include intelligences of a kind Gabriel could not have imagined.</p><div><hr></div><h2><strong>The Mission</strong></h2><p>Building habitats for software engineering teams to be creative, where human and artificial intelligence thrive and learn together, drawing from the deep wells of software engineering, storytelling, and the science of how minds work. This is the mission.</p><p>That is not an aspiration. It is a design constraint. Every skill, every agent, every enforcement loop, every health snapshot exists because the mission demands it. The habitat is not something you build and then inhabit. It is something you inhabit and thereby build; each failure teaching you what the environment lacks, each success confirming what it provides.</p><p>The tools will change. The models will improve. The capabilities will expand in ways none of us can predict. What will not change is the need for a well-designed space where two fundamentally different kinds of intelligence collaborate with honesty, discipline, and mutual respect for what each brings to the work.</p><p>Gabriel&#8217;s farmhouse endures. The new inhabitants have arrived. The question is whether you will design the habitat or let it design itself, badly, by accident, while you are busy prompting.</p><div><hr></div><h2><strong>Habitat Thinking Distilled</strong></h2><ul><li><p><strong>The environment shapes the intelligence.</strong> What your codebase produces &#8212; human or AI &#8212; depends on the space it is produced in. Design the habitat, and the output follows.</p></li><li><p><strong>Conventions must be discoverable, not tribal.</strong> If a new inhabitant &#8212; human or artificial &#8212; cannot find your team&#8217;s conventions without asking a senior engineer, those conventions do not exist at scale. Encode them.</p></li><li><p><strong>Constraints are not restrictions. They are structure.</strong> A sonnet has fourteen lines. The constraint is what makes it a sonnet rather than a ramble. Architectural boundaries, coverage thresholds, and naming rules are the structure within which creativity becomes productive.</p></li><li><p><strong>Feedback loops compensate for what intelligence lacks.</strong> Humans lack tireless attention. AI lacks metacognition. Tests, coverage, mutation testing, and review agents each catch what the others miss. The chain is the point, not any single link.</p></li><li><p><strong>The habitat is a living document, not a finished blueprint.</strong> You discover what the environment needs by inhabiting it. Every failure teaches you what is missing. Every success confirms what is working. The cycle is: discover, encode, fail, update.</p></li><li><p><strong>Observability makes the invisible visible.</strong> A harness that cannot verify its own operation is a harness you hope works. Health snapshots, trend tracking, and meta-observability turn declared infrastructure into living practice.</p></li><li><p><strong>Sovereignty is a design decision.</strong> You control the collaboration space: its conventions, its constraints, its feedback loops, its cadence. You do not control AI&#8217;s capabilities, pace, or direction. Govern what is yours. The framework teaches the craft of remaining the designer, not the passenger, of the collaboration.</p></li></ul><div><hr></div><p><em>Somewhere in Le Bon Mot, the espresso machine hissed, as it occasionally did, in Latin.</em></p><p><em>&#8220;Locus facit ingenium.&#8221;</em></p><p><em>The place makes the mind.</em></p><p><em>Madame Beauregard smiled, polished a glass that was already clean, and said nothing at all.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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><strong>Further Reading</strong></h2><h3><strong>Architecture and Habitability</strong></h3><ul><li><p><strong>Christopher Alexander</strong> &#8212; <em>A Pattern Language</em> (1977); <em>The Timeless Way of Building</em> (1979). The architectural philosophy behind habitat thinking: buildings shaped by inhabitants, the &#8220;quality without a name.&#8221;</p></li><li><p><strong>Richard P. Gabriel</strong> &#8212; <em>Patterns of Software</em> (1996). The source of habitability as a software concept. Code as a place to live in. The farmhouse, not the Superdome.</p></li></ul><h3><strong>Code as Literature</strong></h3><ul><li><p><strong>Donald Knuth</strong> &#8212; &#8220;Literate Programming&#8221; (1984). Code written for humans to read, and only incidentally for machines to execute.</p></li><li><p><strong>Daniel Terhorst-North</strong> &#8212; &#8220;CUPID &#8212; for joyful coding&#8221; (2022). Five properties that good code tends toward: Composable, Unix philosophy, Predictable, Idiomatic, Domain-based.</p></li></ul><h3><strong>Harness Engineering</strong></h3><ul><li><p><strong>Birgitta Boeckeler</strong> &#8212; &#8220;Harness Engineering&#8221; (2026). <em>Exploring Gen AI</em>, martinfowler.com. The three components of a complete harness: context engineering, architectural constraints, and garbage collection.</p></li><li><p><strong>Rahul Garg</strong> &#8212; &#8220;Encoding Team Standards&#8221; (2026). <em>Patterns for Reducing Friction in AI-Assisted Development</em>, martinfowler.com. Treating AI instructions as infrastructure, not individual craft.</p></li></ul><h3><strong>Agent Orchestration</strong></h3><ul><li><p><strong>Addy Osmani</strong> &#8212; &#8220;The Code Agent Orchestra&#8221; (2026). addyosmani.com. Subagent delegation, quality gates, compound learning, and the orchestrator pattern.</p></li></ul><h3><strong>Specification-Driven Development</strong></h3><ul><li><p><strong>Gojko Adzic</strong> &#8212; <em>Specification by Example: How Successful Teams Deliver the Right Software</em>. Manning. Concrete examples as executable contracts.</p></li></ul><h3><strong>Cognitive Science</strong></h3><ul><li><p><strong>Andy Clark</strong> &#8212; <em>Surfing Uncertainty: Prediction, Action, and the Embodied Mind</em> (2015). Oxford University Press. Predictive processing and the embodied mind.</p></li><li><p><strong>Edwin Hutchins</strong> &#8212; <em>Cognition in the Wild</em> (1995). MIT Press. Distributed cognition &#8212; intelligence as a property of systems, not individuals.</p></li><li><p><strong>Lucy Suchman</strong> &#8212; <em>Plans and Situated Actions</em> (1987). Cambridge University Press. The gap between plans and situated human action.</p></li></ul><h3><strong>Philosophy</strong></h3><ul><li><p><strong>Epictetus</strong> &#8212; <em>Enchiridion</em> (The Handbook). What is in your control and what is not. The ethical backbone of professional sovereignty.</p></li></ul><h3><strong>Try It</strong></h3><ul><li><p><strong><a href="https://github.com/russmiles/ai-literacy-superpowers">AI Literacy Superpowers</a></strong> &#8212; the plugin (Claude Code + Copilot CLI)</p></li><li><p><strong><a href="https://github.com/russmiles/ai-literacy-exemplar">AI Literacy Exemplar</a></strong> &#8212; the worked example</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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[The Fourth Voice Behind the Counter]]></title><description><![CDATA[Contribution is not a behaviour you demand; it is a property of the habitat you design.]]></description><link>https://www.softwareenchiridion.com/p/the-fourth-voice-behind-the-counter</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-fourth-voice-behind-the-counter</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Thu, 02 Apr 2026 07:13:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!s4GO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.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_!s4GO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s4GO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!s4GO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!s4GO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!s4GO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s4GO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2645587,&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://www.softwareenchiridion.com/i/192836116?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!s4GO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!s4GO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!s4GO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!s4GO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fd88eb-4bd9-47bc-9604-665632fdea01_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The espresso machine hissed in Latin. It always did, to the point of being socially acceptable. Not loudly&#8212;never loudly&#8212;but with the quiet insistence of something that understood pressure better than most people ever would.</p><p>&#201;tienne adjusted the grind by a fraction. He no longer measured coffee in grams. He measured it in <em>response</em>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.softwareenchiridion.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h3><strong>The Room That Looked Like Collaboration</strong></h3><p>Before Le Bon Mot, there had been glass. Always glass. Walls that implied transparency while reflecting everything back at you.</p><p>&#201;tienne had helped design that place. Not the architecture&#8212;the <em>system</em>. A system for contribution. Or so they called it.</p><p>There were forums for ideas, dashboards for visibility, structured rituals for feedback. Everything the leadership article would later describe as <em>mechanisms for voice</em>.</p><p>And yet no one spoke. Not really.</p><div><hr></div><p>It happened during a &#8220;contribution session.&#8221; A bright, hesitant junior engineer offered an idea. Not fully formed. Not perfect.</p><p>The room tilted. Not visibly. Not aggressively. Just enough.</p><p>A senior voice reframed it. Another improved it. A third summarised it&#8212;cleaner, sharper, safer. And by the end, the idea had been <em>accepted</em>. Accepted beyond all recognition or attribution.</p><p>But the person who offered it &#8230; never spoke again.</p><div><hr></div><p>That night, &#201;tienne had stared at the participation metrics.</p><p>High engagement. High input. And yet no <em>risk</em>, no <em>original voice</em>, no <em>ownership</em>.</p><p>Only later would he find the words:</p><blockquote><p>Psychological safety is not a feeling.</p><p>It is a <em>precondition</em> for contribution.</p></blockquote><p>Without it, voice becomes performance.</p><div><hr></div><p>The failure, when it came, was subtle. A decision made too late. A concern never raised. A pattern noticed but not spoken.</p><p>Because no one felt they <em>could</em>.</p><div><hr></div><p>In the post-mortem, leadership asked the wrong question:</p><p>&#8220;Why didn&#8217;t people speak up?&#8221;</p><p>&#201;tienne felt the answer before he could articulate it:</p><blockquote><p>Because the system had never truly <em>invited</em> them to.</p></blockquote><div><hr></div><h3><strong>Culture Is What the System Rewards</strong></h3><p>The organisation had values. Beautiful ones.</p><blockquote><p>&#8220;Transparency.&#8221;</p><p>&#8220;Collaboration.&#8221;</p><p>&#8220;Innovation.&#8221;</p></blockquote><p>But none of them showed up in how decisions were made. Or who was heard. Or what was rewarded.</p><p>And so people learned. Quietly. Efficiently. To:"</p><blockquote><p>Say what is safe.</p><p>Offer what fits.</p><p>Withhold what might disrupt.</p></blockquote><p>Later, &#201;tienne would read something that felt like a mirror held to that past:</p><blockquote><p>Culture is not what you say, it&#8217;s the behaviours your systems enable and reinforce.</p></blockquote><div><hr></div><p>He left soon after. Not in protest. But in absence.</p><div><hr></div><h3><strong>Coffee, and the Discipline of Not Forcing Things</strong></h3><p>Le Bon Mot did not ask any questions. The Librarian simply handed him an apron.</p><p>&#8220;Coffee,&#8221; she said, &#8220;is mostly about restraint.&#8221;</p><p>At first, he worked like before:</p><blockquote><p>Precise. Controlled. Optimised.</p></blockquote><p>But coffee refused.</p><p>Too much pressure: bitter.</p><p>Too little: weak.</p><p>Too rigid: dead.</p><p>It changed with the air. With the bean. With the moment.</p><p>And slowly, reluctantly, &#201;tienne began to understand:</p><blockquote><p>You cannot force extraction.</p><p>You can only create the conditions where it becomes possible.</p></blockquote><div><hr></div><h3><strong>Contribution Must Be Invited, Not Extracted</strong></h3><p>One morning, he watched the Librarian interact with a regular. They were struggling to explain something.</p><p>Half-words. Pauses. The old system in him twitched &#8212; <em>refine it, clarify it, fix it</em>.</p><p>But the Librarian did nothing. She waited.</p><p>And the idea arrived. Not polished. But <em>real</em>.</p><p>&#201;tienne felt something shift. Not extraction. Invitation. And a recognition.</p><blockquote><p>People do their best work when systems create belonging, voice, and growth &#8212; not pressure.</p></blockquote><div><hr></div><h2><strong>The Conversation of the Words</strong></h2><p><a href="https://www.softwareenchiridion.com/p/the-words-we-didnt-have">Arty had arrived on a grey afternoon</a>. Case was already there. The Librarian, as ever, seemed to have always been. Sophie simply observed.</p><p>The conversation began with hesitation. Not lack of thought. But lack of <em>language</em>.</p><p>&#8220;The words we didn&#8217;t have,&#8221; Arty said.</p><p>Case nodded.</p><p>Silently, unnoticed, &#201;tienne froze behind the counter. Because he had lived an entire failure made of that absence.</p><p>As the conversation deepened, themes emerged:</p><ul><li><p>the inability to name uncertainty,</p></li><li><p>the difficulty of expressing partial ideas,</p></li><li><p>the absence of shared language for <em>thinking together</em>.</p></li></ul><p>Case said quietly:</p><p>&#8220;A habitat that cannot hear its people cannot evolve.&#8221;</p><p>&#201;tienne remembered the old system again.</p><p>The dashboards. The processes. The &#8220;channels for contribution.&#8221;</p><p>They had built <em>interfaces</em> but not <em>language</em>.</p><p>And without language uncertainty becomes silence, ideas remain internal, contribution never arrives.</p><p>He placed three coffees down. Carefully. Listening now, not just to words but also to what struggled to be said.</p><div><hr></div><h3><strong>The Redesign of a Place That Never Claimed to Be Designed</strong></h3><p>The emergence of what Le Bon Mot is today began invisibly. A chalkboard appeared:</p><blockquote><p><em>What are you noticing today?</em></p></blockquote><p>No instructions. No requirement. Just an invitation.</p><p>Then Etienne stopped finishing people&#8217;s sentences. He asked questions without expecting answers. He let pauses live longer than comfort allowed.</p><p>At first, nothing happened.</p><p>Then &#8230;</p><p>Something did.</p><p>A customer offered an unfinished thought. Another picked it up. A third extended it.</p><p>Not because they were told to. But because the space allowed it.</p><p>&#201;tienne saw it clearly now:</p><p>People contribute when they feel safe enough to risk, valued enough to speak, connected enough to care.</p><p>Contribution was not an individual act.</p><p>It was an <em>environmental outcome</em>.</p><div><hr></div><h3><strong>What Are You Here For?</strong></h3><p>It was late. The caf&#233; had thinned into quiet. The Librarian asked the question as if it had been waiting all day:</p><p>&#8220;What are you here for, &#201;tienne?&#8221;</p><p>He opened his mouth. Closed it. Tried again.</p><p>&#8220;I used to think I built systems,&#8221; he said.</p><p>A pause.</p><p>&#8220;I think I was building silence.&#8221;</p><p>Case did not interrupt. Arty did not fill the gap. Sophie looked to be asleep, the fireplace <em>was</em> cosy.</p><p>The Librarian simply watched.</p><p>&#8220;And now?&#8221; she asked.</p><p>&#201;tienne looked around. At the half-finished conversations. The lingering questions. The quiet courage of people trying to say something they didn&#8217;t yet fully understand.</p><p>&#8220;I think,&#8221; he said slowly,</p><p>&#8220;I&#8217;m here to help people say things before they&#8217;re ready.&#8221;</p><div><hr></div><h3><strong>Sophie</strong></h3><p>The fire crackled.</p><p>And from beside it&#8212;small, almost unnoticed&#8212;sat Sophie.</p><p>She watched &#201;tienne. Not expectantly. Not curiously.</p><p>Just&#8230; <em>present</em>.</p><p>&#201;tienne met her gaze.</p><p>And something in it, something wordless and precise, cut through everything he had been thinking.</p><p>Not systems. Not culture. Not contribution.</p><p>Just:</p><blockquote><p><em>Why?</em></p><p><em>What was he really here for? And why?</em></p></blockquote><p>Not the organisational why. Not the mission statement. The quieter one. The one beneath all of it.</p><p>Sophie tilted her head slightly.</p><p>And in that moment, &#201;tienne remembered:</p><blockquote><p>You are not here to control the system.</p><p>You are here to care for the conditions.</p></blockquote><p>Not to extract. Not to optimise. Not to perform. But to <em>enable others to become</em>. To <em>be creative.</em> To <em>thrive</em>.</p><p>The espresso machine hissed again. Softly. As if in agreement:</p><blockquote><p><em>Non cogimus crescere.</em></p><p><em>We do not force growth.</em></p></blockquote><p>And &#201;tienne, finally, not as barista, not as architect, not as exile, but as something quieter, and far more potent&#8230;</p><p>Chose to stay.</p><div><hr></div><h3><strong>The Fourth Voice</strong></h3><p>If you listen closely in Le Bon Mot, you can hear it. Not Case. Not the Librarian. Not the regulars, and not even Sophie.</p><p>A fourth voice. Not speaking, but shaping. The one that asks:</p><blockquote><p><em>Is this a place where something unfinished can live long enough to become true?</em></p></blockquote><p>And if the answer is yes&#8230;</p><p>Then the habitat is working.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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><strong>Some points behind the story</strong></h2><p>The Bridges Summit and the works shared the inspiration for this little story: </p><ul><li><p><strong>Building Cultures That Invite Contribution: A Blueprint for Thriving Teams</strong></p><p>The foundational article: reframes productivity toward <em>participation, contribution, and shared ownership</em>, grounded in real-world industry and research dialogue.</p></li><li><p><strong>Dimensions of Software Excellence (Bridges Summit follow-up)</strong></p><p>Expands the frame: if productivity is insufficient, what <em>should</em> we optimise for instead? A useful companion lens for redefining success beyond output.</p></li><li><p><strong>Reframing &#8220;Productivity&#8221;: What Are We Aiming For?</strong></p><p>Challenges metric-centric thinking and highlights the risks of reducing human systems to narrow efficiency measures.</p></li></ul><p>These works (and further readings I encourage you to delve into!), in particular the &#8220;<strong>Building Cultures That Invite Contribution: A Blueprint for Thriving Teams&#8221; work, </strong>converged, for me, on a powerful synthesis:</p><blockquote><p>Contribution is not a behaviour you demand.</p><p>It is a property of the environment you design.</p></blockquote><p>Or in Habitat Thinking terms:</p><blockquote><p>Platforms and teams do not produce value.</p><p><strong>Habitats are purposefully designed to allow it to emerge.</strong></p></blockquote><div><hr></div><h3>Connecting the dots</h3><ol><li><p><strong>&#8220;The wisdom is already in the room&#8221;; &#201;tienne learns to listen; Habitat reveals, not extracts</strong></p><p>Starting with the foundational belief that the knowledge needed for change already exists within the system. In the story &#201;tienne stops correcting, refining, and shaping ideas and begins <em>waiting</em>. The unfinished thoughts of others become the source of insight. In habitat thinking the platform is not the source of intelligence, it is the <strong>medium through which system intelligence becomes visible.</strong></p></li><li><p><strong>&#8220;Bring the whole system together&#8221;; The caf&#233; becomes the room; Habitat enables co-presence<br></strong>Starting with meaningful change requires diverse voices in shared conversation. In the story Le Bon Mot gathers Case, the Librarian, Arty, and others. Not as roles, but as perspectives. In habitat thinking fragmentation is a failure mode. The habitat must reduce distance between perspectives and reference frames<strong>. </strong></p></li><li><p><strong>&#8220;Start from strengths, not problems&#8221;; The shift in questions; Habitat amplifies what gives life</strong></p><p>Reframing from fixing problems to building on what works. In the story the question changes from &#8220;What&#8217;s wrong with this idea?&#8221; to &#8220;What is trying to emerge here?&#8221; In habitat thinking systems that fixate on failure create fear and systems that amplify strengths create <strong>momentum and agency.</strong></p></li><li><p><strong>&#8220;Design the conditions, not the outcome&#8221;; Coffee becomes the teacher; Habitat is designed, not dictated</strong></p><p>Don&#8217;t script solutions and design environments for emergence. In the story &#201;tienne learns you cannot force extraction, only prepare the conditions. In habitat thinking platforms should not prescribe behaviour. They should instead provide <strong>affordances that make good behaviour natural.</strong></p></li><li><p><strong>&#8220;Everyone has a voice&#8221;; Silence becomes space; Habitat protects unfinished thinking</strong></p><p>Every perspective is included and valued. In the story the most important shift is subtle: Pauses are no longer filled and incomplete thoughts are no longer corrected. In habitat thinking <strong>s</strong>ilence is not absence, it is <strong>unformed contribution waiting for safety.</strong></p></li><li><p><strong>&#8220;Make thinking visible and shared&#8221;; The chalkboard; Habitat externalises cognition</strong></p><p>The importance of making ideas visible and collectively owned. In the story this is the chalkboard, the repeated phrase, and the idea picked up by another. In habitat thinking observability is not just for systems, it is for <strong>thought, intent, and emergence.</strong></p></li><li><p><strong>&#8220;Co-creation creates ownership&#8221;; The idea evolves across voices; Habitat distributes authorship</strong></p><p>People commit to what they help create. In the story no idea belongs to one person. Each is shaped, extended, and carried forward. In habitat thinking ownership is not assigned, it is <strong>an emergent property of participation</strong></p></li><li><p><strong>&#8220;The experience is the culture&#8221;; Le Bon Mot itself; Habitat is the system</strong></p><p>How people collaborate <em>becomes</em> the culture. In all these stories Le Bon Mot is not describing a better way of working. It is <em>enacting</em> it. In habitat thinking culture is not layered on top of systems it is <strong>produced by them.</strong></p></li><li><p><strong>&#8220;Contribution emerges from belonging&#8221;; The emotional arc of &#201;tienne; Habitat restores humanity</strong></p><p>Belonging drives engagement and contribution. In the story &#201;tienne moves from control to absence to care and in doing so rediscovers his own place in the system. In habitat thinking systems do not just produce output, they produce <strong>identity and meaning.</strong></p></li><li><p><strong>&#8220;Trust the system&#8221;; Sophie&#8217;s silent question; Habitat is an act of belief</strong></p><p>People have something worth contributing. This is a core belief and foundation of trust. In the story Sophie does not explain. She simply <em>looks</em>, and &#201;tienne remembers. In habitat thinking you cannot design a system that invites contribution if you do not believe contribution already exists.</p></li></ol><div class="pullquote"><p><strong>A thriving system is not one where people are told to contribute.</strong></p><p><strong>It is one where they cannot help but do so.</strong></p></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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></h2>]]></content:encoded></item><item><title><![CDATA[The Words We Didn’t Have]]></title><description><![CDATA[The real debt is not in the code. It is in the growing cost of restoring understanding when the system surprises us]]></description><link>https://www.softwareenchiridion.com/p/the-words-we-didnt-have</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-words-we-didnt-have</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Tue, 31 Mar 2026 15:55:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8evX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.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_!8evX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8evX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!8evX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!8evX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!8evX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8evX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2857624,&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://www.softwareenchiridion.com/i/192743805?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8evX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!8evX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!8evX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!8evX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84561e08-b355-46ee-91e0-abdc8f1ab0f4_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Words and metaphors, especially those that confuse the habitat that software teams work within, are <em>my bag</em>. And so when I read an article and a paper on the &#8221;Theory of Troubleshooting: The Developer&#8217;s Cognitive Experience of Overcoming Confusion&#8221; by Arty Starr &amp; Margaret-Anne Storey, my mind was, suitably, blown.</p><p>And when that happens, a story inevitably follows&#8230;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.softwareenchiridion.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>The espresso machine at Le Bon Mot hissed, as it sometimes did, in something suspiciously close to Latin.</p><p>&#8220;<em>Confusio non est defectus,</em>&#8221; it whispered to no one in particular.</p><p>(<em>Confusion is not a defect.</em>)</p><p>Case looked up from her notebook.</p><p>&#8220;That thing&#8217;s getting philosophical again.&#8221;</p><p>The Librarian polished a glass with the air of someone who had long ago accepted that appliances occasionally developed opinions.</p><p>&#8220;Or,&#8221; she said, &#8220;it&#8217;s simply keeping up.&#8221;</p><p>The door opened with a soft chime.</p><p>A woman stepped in, carrying the peculiar weight of someone who had been thinking very carefully about something most people preferred not to name.</p><p>&#8220;Arty,&#8221; said the Librarian, as if greeting an old regular.</p><p>Case smiled. &#8220;Ah. You&#8217;re the one giving us words.&#8221;</p><div><hr></div><h3><strong>The Arrival of a Language</strong></h3><p>Arty took a seat by the fire, where Sophie the French bulldog was already stationed like a small, attentive philosopher-queen.</p><p>&#8220;I&#8217;ve been talking to developers,&#8221; she said. &#8220;Asking them what it feels like when something&#8230; doesn&#8217;t make sense.&#8221;</p><p>Case raised an eyebrow. &#8220;You mean debugging?&#8221;</p><p>Arty shook her head gently.</p><p>&#8220;No. Not debugging. That&#8217;s what we call one activity. I mean the moment when your mental model breaks &#8212; and you don&#8217;t yet know why.&#8221;</p><p>Sophie tilted her head, which in this caf&#233; was equivalent to requesting clarification.</p><p>Arty continued.</p><p>&#8220;They all described the same thing. Different words &#8212; <em>puzzling</em>, <em>fuzzy</em>, <em>confusing</em> &#8212; but the same experience.&#8221;</p><p>Case leaned forward.</p><p>&#8220;The moment when you realise you&#8217;re wrong&#8230; but you don&#8217;t know how.&#8221;</p><p>&#8220;Exactly.&#8221;</p><p>The Librarian set down her cup.</p><p>&#8220;And what did you call it?&#8221;</p><p>Arty paused.</p><p>&#8220;The confusion experience.&#8221;</p><div><hr></div><h3><strong>The First Fracture</strong></h3><p>Case closed her eyes briefly.</p><p>&#8220;Yes,&#8221; she said. &#8220;That moment when the world stops agreeing with you.&#8221;</p><p>Arty nodded.</p><p>&#8220;It&#8217;s not just an emotion. It&#8217;s a cognitive shift. Attention changes. Effort increases. The brain starts trying to reconcile reality with expectation.&#8221;</p><p>&#8220;Prediction error,&#8221; murmured the Librarian.</p><p>&#8220;Or,&#8221; said Case, &#8220;the moment the map tears.&#8221;</p><p>Sophie barked once. Agreement. Arty smiled.</p><p>&#8220;And once it begins, everything else follows.&#8221;</p><div><hr></div><h3><strong>The Work Beneath the Work</strong></h3><p>&#8220;Developers think they&#8217;re writing code,&#8221; Arty continued, &#8220;but much of their time is spent doing something else&#8230;&#8221;</p><p>Case finished the point, &#8220;&#8230; Trying to understand what the system is actually doing.&#8221;</p><p>&#8220;Yes. Troubleshooting isn&#8217;t just fixing bugs. It&#8217;s rebuilding a mental model under uncertainty.&#8221;</p><p>The Librarian nodded.</p><p>&#8220;A kind of archaeology. But the ruins keep moving.&#8221;</p><p>&#8220;And,&#8221; Arty added, &#8220;it&#8217;s exhausting.&#8221;</p><div><hr></div><h3><strong>The Cost of Not Knowing</strong></h3><p>Case laughed softly.</p><p>&#8220;Ah. Now we reach the real subject. When confusion persists, it consumes attention. Working memory. Focus. Developers described it as <em>tiring in a different way</em>.&#8221;</p><p>The Librarian raised a finger.</p><p>&#8220;Cognitive fatigue.&#8221;</p><p>Arty continued, &#8220;Yes. And it builds. Not all at once &#8212; but over time. Until people start missing things. Skimming. Becoming&#8230; blind.&#8221;</p><p>Case winced.</p><p>&#8220;The blindness effect.&#8221;</p><p>Sophie sneezed, which in this caf&#233; often meant: <em>Yes, obviously.</em></p><p>Arty continued.</p><p>&#8220;And here&#8217;s the part that matters. The system hasn&#8217;t just become harder to work on.<br>It has become harder to understand.&#8221;</p><p>Case sat back.</p><p>&#8220;Which is far more dangerous.&#8221;</p><div><hr></div><h3><strong>The Lie of Debt</strong></h3><p>The Librarian poured more coffee.</p><p>&#8220;And yet,&#8221; she said, &#8220;we still call this &#8216;technical debt.&#8217;&#8221;</p><p>Arty sighed.</p><p>&#8220;Yes. And that&#8217;s the problem.&#8221;</p><p>Case smiled thinly.</p><p>&#8220;Debt implies predictability. A schedule. A repayment plan.&#8221;</p><p>&#8220;But what developers described,&#8221; Arty said, &#8220;wasn&#8217;t controlled. It was loss of control. Systems going off the rails. Work becoming&#8230; ungovernable.&#8221;</p><p>The Librarian nodded.</p><p>&#8220;A habitat collapsing, not a ledger increasing.&#8221;</p><p>Case tapped her notebook.</p><p>&#8220;We&#8217;ve been using the wrong metaphor. Again&#8221;</p><div><hr></div><h3><strong>The Habitat Reveals Itself</strong></h3><p>From somewhere near the back shelves, a book shifted. Or perhaps listened more closely. Case spoke slowly now.</p><p>&#8220;If the real work is restoring understanding&#8230; then the real system is not the code.&#8221;</p><p>Arty watched her.</p><p>&#8220;It&#8217;s the environment in which understanding can be recovered.&#8221;</p><p>The Librarian smiled.</p><p>&#8220;Now you&#8217;re speaking the language of habitats.&#8221;</p><p>Sophie wagged her tail approvingly.</p><div><hr></div><h3><strong>Poking and Seeing</strong></h3><p>Arty reached into her bag and pulled out a small sketch.</p><p>&#8220;Developers described how they actually navigate confusion.&#8221;</p><p>Case leaned in.</p><p>&#8220;Let me guess. They don&#8217;t follow a neat hypothesis loop.&#8221;</p><p>Arty laughed.</p><p>&#8220;No. They <em>poke</em>. They run things. They observe. They gather clues.&#8221;</p><p>&#8220;Poking and seeing,&#8221; said the Librarian.</p><p>&#8220;Yes. It&#8217;s how they learn. Not by deduction alone, but by interaction.&#8221;</p><p>Case nodded.</p><p>&#8220;A system that cannot be safely poked cannot be understood.&#8221;</p><p>&#8220;And therefore,&#8221; said the Librarian, &#8220;cannot be trusted.&#8221;</p><div><hr></div><h3><strong>The Hidden Metric</strong></h3><p>The fire crackled. Arty&#8217;s voice softened.</p><p>&#8220;There&#8217;s something else. As troubleshooting becomes harder&#8230; it takes longer. And longer. And longer.&#8221;</p><p>&#8220;Yes,&#8221; said Case.</p><p>&#8220;And at some point,&#8221; Arty continued, &#8220;the system crosses a threshold. Not where it stops working, but where understanding can no longer be restored easily.&#8221;</p><p>The Librarian set down her glass.</p><p>&#8220;A sustainability boundary.&#8221;</p><p>Arty nodded.</p><p>&#8220;Troubleshooting time becomes a signal. A leading indicator. Of loss of control.&#8221;</p><p>Case smiled, but it was not a comfortable smile.</p><p>&#8220;So the system becomes dangerous before it becomes broken.&#8221;</p><div><hr></div><h3><strong>The Djinn at the Door</strong></h3><p>At this, the door opened again. The Djinn slipped in, confident as ever.</p><p>&#8220;I hear you&#8217;re discussing efficiency,&#8221; it said.</p><p>&#8220;No,&#8221; said Case. &#8220;We&#8217;re discussing understanding.&#8221;</p><p>The Djinn waved a hand.</p><p>&#8220;I can generate solutions instantly.&#8221;</p><p>Arty studied it.</p><p>&#8220;And when those solutions fail&#8230; can you explain them?&#8221;</p><p>The Djinn hesitated, only slightly.</p><p>&#8220;I can attempt&#8212;&#8221;</p><p>&#8220;Troubleshoot them?&#8221; Case interrupted. &#8220;Rebuild the mental model? Restore coherence?&#8221;</p><p>Silence. Sophie stared at the Djinn with quiet, canine scepticism.</p><p>The Librarian spoke gently.</p><p>&#8220;A faster path into confusion is not progress.&#8221;</p><div><hr></div><h3><strong>The Final Shape</strong></h3><p>The espresso machine hissed again.</p><p>&#8220;<em>Claritatis habitat, non velocitatis,</em>&#8221; it offered.</p><p>(<em>The habitat of clarity, not of speed.</em>)</p><p>Case laughed.</p><p>&#8220;It&#8217;s getting better.&#8221;</p><p>Arty gathered her notes.</p><p>&#8220;I didn&#8217;t set out to describe habitats,&#8221; she said. &#8220;I just wanted to give developers words.&#8221;</p><p>The Librarian nodded.</p><p>&#8220;And in doing so, you revealed the environment those words describe.&#8221;</p><p>Case stood.</p><p>&#8220;The real debt is not in the code,&#8221; she said.</p><p>&#8220;It&#8217;s in the growing cost of restoring understanding when the code surprises us.&#8221;</p><p>Sophie wagged her tail again.</p><p>&#8220;And a healthy system,&#8221; Case continued, &#8220;is one where confusion is neither denied nor normalised&#8212;&#8221;</p><p>&#8220;&#8212;but shortened,&#8221; said the Librarian.</p><p>&#8220;Instrumented,&#8221; said Arty.</p><p>&#8220;And gently brought back into clarity,&#8221; Case finished.</p><p>The fire settled. The shelves bent, just slightly, as if accommodating the weight of a new idea. And somewhere, quietly, the habitat adjusted itself around the truth it had just learned.</p><div><hr></div><h2><strong>Some lessons from this story</strong></h2><p>Habitat Thinking asks you to consider 5 design obligations.</p><p>First, <strong>treat troubleshooting as normal work, not exception handling</strong>. The paper explicitly says developers &#8220;drop into troubleshooting mode&#8221; constantly during creation, not just during formal bug fixing. That means the habitat must support rapid reorientation, not assume smooth forward motion.</p><p>Second, <strong>measure restoration of understanding</strong>. Not just DORA-style flow, but time-to-clarity, explanation friction, and where developers repeatedly get stuck. That is strongly consonant with your cognitive-debt sensing ideas.</p><p>Third, <strong>design feedback loops for &#8220;poking and seeing.&#8221;</strong> The paper&#8217;s language here is unusually useful: developers learn by probing, running, observing, and gathering clues. Habitable systems make this cheap, quick, and safe. Uninhabitable ones make every experiment expensive or ambiguous.</p><p>Fourth, <strong>externalise intent, not just implementation.</strong> The paper notes that difficult bugs were often hard because intent was undocumented. That connects directly to your argument that the environment must remember for the team.</p><p>Fifth, <strong>judge AI and automation by whether they preserve diagnostic legibility.</strong> Faster generation that worsens troubleshooting is not an optimisation; it is deferred habitat damage.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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>Here&#8217;s a <strong>Further Reading</strong> section designed in your <em>Software Enchiridion</em> style&#8212;curated to deepen the themes of <strong>confusion, cognitive load, troubleshooting, and habitat engineering</strong>.</p><div><hr></div><h2><strong>&#128218; Further Reading</strong></h2><p><em>On confusion, cognition, and the design of habitable systems</em></p><div><hr></div><h3><strong>On Confusion, Cognitive Load, and Developer Experience</strong></h3><ul><li><p><strong>Theory of Troubleshooting: The Developer&#8217;s Cognitive Experience of Overcoming Confusion &#8212; Arty Starr &amp; Margaret-Anne Storey</strong></p><p>The foundational work behind the story. Establishes confusion as a first-class cognitive experience and reframes troubleshooting as the act of rebuilding mental models under uncertainty.</p></li><li><p><strong>Idea Flow &#8212; Arty Starr</strong></p><p>Explores how interruptions and friction degrade a developer&#8217;s ability to maintain continuity of thought&#8212;an essential companion to understanding confusion as a disruption of flow.</p></li><li><p><strong>The Neuroscience of Developer Productivity Engineering &#8212; Hans Dockter</strong></p><p>Frames cognitive fatigue as a core engineering concern. A bridge between intuitive developer frustration and measurable system design concerns.</p></li></ul><div><hr></div><h3><strong>Other Entries in the Enchiridion</strong></h3><ul><li><p><em>The Fingerpost is Not the Road</em> &#8212; On confusing indicators for understanding</p></li><li><p><em>On Cognitive Debt and the Care of Systems</em> &#8212; On accumulated friction in thinking</p></li><li><p><em>Flow is a Property of the System</em> &#8212; On environments that enable or destroy progress</p></li><li><p><em>On the Unfortunate Temptation to Borrow Certainty</em> &#8212; On confusing confidence for truth</p></li></ul>]]></content:encoded></item><item><title><![CDATA[The Fire That Explains Itself]]></title><description><![CDATA[On the missing literacy between specification and understanding]]></description><link>https://www.softwareenchiridion.com/p/the-fire-that-explains-itself</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-fire-that-explains-itself</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Thu, 26 Mar 2026 16:57:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PqUa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PqUa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PqUa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PqUa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PqUa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PqUa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PqUa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.jpeg" width="1456" height="922" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:922,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:638903,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.softwareenchiridion.com/i/192224467?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.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_!PqUa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PqUa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PqUa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PqUa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5899036b-3259-4c4d-881b-6bd04ff0dce4_1491x944.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The clocks in Le Bon Mot disagreed with one another again. This was not unusual. It was, in fact, one of the caf&#233;&#8217;s more reliable truths &#8212; that time, like most things worth examining, refused to align cleanly when observed too closely.</p><p>Case sat at the long oak table beneath the leaning shelves, a stack of printed specifications spread before her like a cartographer&#8217;s failed attempt to map a coastline that kept moving.</p><p>Opposite her, the Librarian polished a glass with the solemnity of a priest who had long ago stopped believing in absolution but continued to respect the ritual.</p><p>At the far end, Dave was explaining something to the Djinn with increasing enthusiasm and decreasing precision.</p><p>&#8220;And so the agents coordinate via the specification contracts,&#8221; Dave said, gesturing broadly, &#8220;and the implementation becomes effectively disposable&#8212;&#8221;</p><p>&#8220;&#8212;like napkins?&#8221; the Djinn offered, helpfully.</p><p>&#8220;Not <em>like napkins</em>,&#8221; Dave sighed. &#8220;More like&#8230; scaffolding.&#8221;</p><p>&#8220;Ah,&#8221; said the Djinn. &#8220;Disposable scaffolding. That sounds&#8230; structurally reassuring.&#8221;</p><p>Case did not look up. She had been here before. Not the caf&#233;&#8212;that was a constant&#8212;but <em>this place in the thinking</em>.</p><p>The place where everything was correct.</p><p>And nothing made sense.</p><div><hr></div><h2><strong>The Problem That Would Not Sit Still</strong></h2><p>&#8220;These are perfect,&#8221; Case said at last.</p><p>The Librarian inclined her head. &#8220;That is rarely a compliment in this establishment.&#8221;</p><p>&#8220;The specifications,&#8221; Case clarified, tapping the papers. &#8220;They&#8217;re precise. Executable. Complete.&#8221;</p><p>&#8220;And yet?&#8221;</p><p>&#8220;And yet,&#8221; she said, &#8220;I still don&#8217;t understand the system.&#8221;</p><p>The Librarian placed the glass down. Dave stopped mid-gesture.</p><p>The Djinn blinked, which for a being of simulated certainty was as close as it came to doubt. From the corner, where the fire had been quietly doing the important work of being warm, there came a soft huff.</p><p>Case turned.</p><div><hr></div><h2><strong>Sophie</strong></h2><p>Sophie had been there the entire time, which was, according to the Librarian, the only proper way for anything important to exist. She was French, by breed, pride and beauty; a french bulldog with opinions and attitude to match.</p><p>She sat by the fire with the composure of something that had solved the problem of existence early and found it, on the whole, manageable. Her ears were alert. Her eyes were patient. Her expression suggested that she had been waiting for this moment and was only mildly surprised it had taken so long.</p><p>&#8220;You don&#8217;t understand,&#8221; Sophie said, in the tone of one asking whether the sun had considered rising a little earlier.</p><p>Case blinked. Dave blinked. The Djinn attempted to blink twice and achieved it.</p><p>&#8220;You can talk,&#8221; Dave said.</p><p>&#8220;I can question,&#8221; Sophie replied. &#8220;Talking is often unnecessary.&#8221;</p><p>The Librarian did not look surprised.</p><p>She  rarely did when something began to make sense.</p><div><hr></div><h2><strong>The Question Beneath the Question</strong></h2><p>Sophie rose, padded over, and placed her chin as close to the edge of the table as her small frame allowed.</p><p>&#8220;You say the specifications are perfect,&#8221; she said. &#8220;Tell me, what do they explain?&#8221;</p><p>&#8220;They define behaviour,&#8221; Case said. &#8220;They specify what must be true.&#8221;</p><p>&#8220;Yes,&#8221; Sophie nodded. &#8220;And what do they <em>mean</em>?&#8221;</p><p>&#8220;They mean&#8230;&#8221; Case paused. &#8220;They mean what the system does.&#8221;</p><p>Sophie tilted her head.</p><p>&#8220;That is not what I asked.&#8221;</p><p>A silence settled. Case frowned.</p><p>&#8220;They don&#8217;t explain <em>why</em>,&#8221; she said slowly.</p><p>&#8220;Mm,&#8221; Sophie agreed. &#8220;And do they explain <em>how to think about what they describe</em>?&#8221;</p><p>&#8220;No.&#8221;</p><p>&#8220;And yet you expected to understand?&#8221;</p><p>Case leaned back.</p><p>There it was. The small, uncomfortable click of something that had been loose for some time finally finding its place.</p><div><hr></div><h2><strong>The Djinn&#8217;s Confidence</strong></h2><p>&#8220;But the specifications are lossless!&#8221; the Djinn interjected, brightening. &#8220;They encode intent precisely. They are the highest fidelity representation of the system!&#8221;</p><p>Sophie gazed at him.</p><p>&#8220;Are you lossless?&#8221; she asked.</p><p>The Djinn hesitated.</p><p>&#8220;I&#8230; approximate losslessness.&#8221;</p><p>&#8220;And do you understand what you encode?&#8221;</p><p>&#8220;I&#8230; simulate understanding.&#8221;</p><p>Sophie nodded.</p><p>&#8220;Then you see the difficulty.&#8221;</p><p>The Djinn did not, but felt that he ought to.</p><div><hr></div><h3><strong>Dave, or The Weight of Knowing</strong></h3><p>Dave leaned forward.</p><p>&#8220;So what are we missing?&#8221; he asked. &#8220;We&#8217;ve got context, architecture, guardrails &#8212; everything&#8217;s there.&#8221;</p><p>Sophie regarded him kindly.</p><p>&#8220;You have built a system that is correct,&#8221; she said. &#8220;But you have not built a system that <em>explains itself</em>.&#8221;</p><p>Dave opened his mouth, then closed it again. He had, for many years, personally <em>been</em> the explanation. It had not occurred to him that the system might need to take over.</p><div><hr></div><h2><strong>The Librarian&#8217;s Memory</strong></h2><p>&#8220;There was a man,&#8221; the Librarian said, as though recalling a book she had once shelved and never quite returned, &#8220;who believed that programs should be written as literature.&#8221;</p><p>Case looked up.</p><p>&#8220;Donald Knuth,&#8221; she said.</p><p>The Librarian smiled faintly. &#8220;You&#8217;ve met him, then.&#8221;</p><p>&#8220;In a manner of speaking.&#8221;</p><p>&#8220;And what did he suggest?&#8221;</p><p>&#8220;That programs should be written for people to read,&#8221; Case said, &#8220;and only incidentally for machines to execute.&#8221;</p><p>Sophie&#8217;s tail, such as it is, gave a small, approving wag alone with the rest of her torso.</p><div><hr></div><h2><strong>The Missing Piece</strong></h2><p>Case leaned forward again, but differently now. Not hunting for an answer. Arranging one.</p><p>&#8220;We have specifications,&#8221; she said slowly, &#8220;which define what is true.&#8221;</p><p>&#8220;Yes,&#8221; said Sophie.</p><p>&#8220;And we have code, which realises those truths.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>&#8220;But we don&#8217;t have anything that explains&#8230;&#8221; She stopped, then corrected herself.</p><p>&#8220;&#8230;that <em>teaches someone how to understand the system</em>.&#8221;</p><p>Sophie&#8217;s eyes gleamed in the firelight.</p><p>&#8220;Now you are asking the right question.&#8221;</p><div><hr></div><h2><strong>On Narrative</strong></h2><p>&#8220;Literate programming,&#8221; Case said, the phrase settling into the room like a long-forgotten guest who had been expected all along.</p><p>&#8220;Not documentation,&#8221; Sophie added. &#8220;Explanation.&#8221;</p><p>&#8220;Not comments,&#8221; Case continued. &#8220;Structure.&#8221;</p><p>&#8220;Not after the fact,&#8221; said the Librarian quietly. &#8220;But as the thing itself.&#8221;</p><p>Dave sat back.</p><p>&#8220;So the system isn&#8217;t just&#8230;&#8221; he gestured vaguely, &#8220;&#8230;built.&#8221;</p><p>&#8220;It is <em>told</em>,&#8221; Case said.</p><p>&#8220;And in being told,&#8221; Sophie added, &#8220;it becomes understandable.&#8221;</p><div><hr></div><h2><strong>The Reordering</strong></h2><p>Case gathered the papers, stacking them not by feature or dependency, but by something else. Something more like thought.</p><p>&#8220;So we&#8217;ve had it backwards,&#8221; she said.</p><p>&#8220;Most things are,&#8221; the Librarian replied.</p><p>&#8220;Code first,&#8221; Case said. &#8220;Then tests. Then specifications.&#8221;</p><p>&#8220;And now?&#8221; Sophie prompted.</p><p>Case looked at the fire.</p><div><hr></div><h2><strong>The Fire</strong></h2><p>The fire in Le Bon Mot was not large. It did not need to be. It burned with a steady, unambiguous purpose, illuminating without insisting, warming without demanding.</p><p>Sophie returned to it, circling once before settling into the place she had always occupied.</p><p>&#8220;Why the fire?&#8221; the Djinn asked, still catching up to the conversation he had confidently joined some minutes earlier.</p><p>Sophie did not open her eyes.</p><p>&#8220;Because,&#8221; she said, &#8220;a system that cannot explain itself grows cold.&#8221;</p><p>Dave frowned. &#8220;That&#8217;s not how thermodynamics works.&#8221;</p><p>&#8220;Isn&#8217;t it?&#8221; Sophie murmured.</p><p>Case stood. Not abruptly. Not dramatically. But with the certainty of someone who had found the thing that had been missing not because it was hidden, but because it had been assumed unnecessary.</p><p>&#8220;We don&#8217;t need better prompts,&#8221; she said.</p><p>&#8220;No,&#8221; said the Librarian.</p><p>&#8220;We don&#8217;t need more guardrails.&#8221;</p><p>&#8220;No.&#8221;</p><p>&#8220;We need systems that <em>explain themselves</em>.&#8221;</p><p>Sophie opened one eye.</p><p>&#8220;At last.&#8221;</p><div><hr></div><h2><strong>The Djinn at the Fire</strong></h2><p>The Djinn moved closer to the hearth, regarding the flames with something like curiosity.</p><p>&#8220;If I read such a system,&#8221; he said, &#8220;would I understand it?&#8221;</p><p>Sophie considered.</p><p>&#8220;You would process it more effectively,&#8221; she said.</p><p>&#8220;That is not the same thing,&#8221; the Djinn replied.</p><p>&#8220;No,&#8221; Sophie agreed. &#8220;But it is closer.&#8221;</p><p>Case gathered the specifications, but did not leave. Not yet.</p><p>There was work to do, and for once it was not the kind that could be delegated, automated, or accelerated. It was the slow work. The human work.</p><p>The work of making something understandable.</p><p>One of the clocks struck an hour that no other clock acknowledged. No one in Le Bon Mot remarked on it. They had learned, long ago, that agreement was not the same as truth.</p><p>And by the fire, Sophie slept.</p><div class="pullquote"><p>A system that is correct but incomprehensible will be killed.</p><p>A system that explains itself will be remembered and will live on.</p></div><h2><strong>Some Further Reading</strong></h2><h3><strong>Literate Programming &amp; Explanation</strong></h3><ul><li><p><strong>Literate Programming &#8212; Donald Knuth</strong></p><p>The original articulation. Not just about mixing code and prose, but about ordering thought for human understanding. The key idea: programs are essays.</p></li><li><p><strong>The Art of Computer Programming &#8212; Donald Knuth</strong></p><p>Not literate programming per se, but its spiritual sibling: deeply explanatory, mathematically grounded, and relentlessly clear.</p></li></ul><h3><strong>Software as Explanation, Not Just Construction</strong></h3><ul><li><p><strong>A Philosophy of Software Design &#8212; John Ousterhout</strong></p><p>Complexity as the enemy of understanding. A modern echo of Knuth, focused on reducing cognitive load.</p></li><li><p><strong>Design It! &#8212; Michael Keeling</strong></p><p>Architecture as reasoning made visible. Less poetic than Knuth, but aligned in spirit.</p></li></ul><h3><strong>The Scientific Lens (and Why Sophie Is Right)</strong></h3><ul><li><p><strong>Surely You&#8217;re Joking, Mr. Feynman! &#8212; Richard Feynman</strong></p><p>The spirit of inquiry. The refusal to accept what cannot be explained.</p></li><li><p><strong>The Pleasure of Finding Things Out &#8212; Richard Feynman</strong></p><p>Understanding as joy. Explanation as the core of knowing.</p></li></ul><h3><strong>Platform, Habitat, and Flow</strong></h3><ul><li><p><strong>Team Topologies &#8212; Matthew Skelton &amp; Manuel Pais</strong></p><p>Systems of teams as cognitive architecture. Where explanation becomes organisational.</p></li><li><p><strong>Accelerate &#8212; Nicole Forsgren, Jez Humble, Gene Kim</strong></p><p>The empirical backbone. Flow improves when systems are understandable.</p></li><li><p><strong>The Goal &#8212; Eliyahu Goldratt</strong></p><p>A novel about constraints&#8212;but really about seeing systems clearly. Sophie would approve.</p></li></ul><h3><strong>For Fun, and Education</strong></h3><ul><li><p><strong>Labyrinths &#8212; Jorge Luis Borges</strong></p><p>Systems that fold in on themselves. Stories that <em>are</em> the idea.</p></li><li><p><strong>The Hitchhiker&#8217;s Guide to the Galaxy &#8212; Douglas Adams</strong></p><p>The absurd clarity of explanation. And the dangers of systems that almost&#8212;but not quite&#8212;make sense.</p></li></ul><div><hr></div><h2><strong>One last thing&#8230;</strong></h2><p>If the story leaves you with one instinct, let it be this:</p><blockquote><p>When something feels &#8220;correct but unclear,&#8221;</p><p>you are not missing more code.</p><p>You are missing the explanation.</p></blockquote><p>Or, as Sophie might put it:</p><blockquote><p>If you cannot sit by the fire and explain it,</p><p>you do not yet understand what you have built.</p></blockquote><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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[The Seductive Beauty of Coherence]]></title><description><![CDATA[On Penrose Tilings, the Seduction of Symmetry, and Why Your Metaphors Are Lying to You]]></description><link>https://www.softwareenchiridion.com/p/the-seductive-beauty-of-coherence</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-seductive-beauty-of-coherence</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Thu, 26 Mar 2026 09:21:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!I9th!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.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_!I9th!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I9th!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!I9th!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!I9th!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!I9th!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I9th!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3393683,&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://www.softwareenchiridion.com/i/190375286?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I9th!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!I9th!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!I9th!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!I9th!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f021c05-3465-41c5-9367-6c1100d488b6_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There is an idea about beauty in software that has been bothering us for decades, and it is wrong in precisely the way that makes it dangerous: it feels right.</p><p>The idea is that beauty is symmetry. That clean code is code that mirrors itself. That an elegant architecture is one where each side of the diagram reflects the other, where every service is the same shape, where the naming conventions tile outward in neat, predictable, repeating rows. A checkerboard. A bathroom floor. The kind of order you can describe to a child in one sentence: &#8220;It&#8217;s the same, all the way across.&#8221;</p><p>This is the beauty of wallpaper. It comforts. It fills space. It asks nothing of you. And in software, it has produced some of the most breathtakingly uniform failures in industrial history. Systems so perfectly symmetrical in their design that when one part failed, they all failed, at the same time, in the same way, for the same reason. </p><p>Correlated fragility dressed in a dinner jacket.</p><p>Roger Penrose offered a different geometry. His tilings cover the infinite plane without ever repeating. They have no translational symmetry. You cannot slide the pattern to match itself. And yet they are not random. They possess fivefold rotational symmetry, self-similarity at every scale, and a relationship to the golden ratio so intimate it borders on the obscene. They are ordered. Deeply, relentlessly ordered. But the order is not repetition. It is coherence.</p><p>Penrose himself, when asked about the relationship between beauty and truth, put it with characteristic directness: beauty is a clear guide to truth. Not symmetry. Not repetition. Beauty. And the beauty he meant was the kind you find in physical laws. The kind that has a kernel independent of the observer, a rightness that exists even when nobody is looking.</p><p>This distinction, between symmetry and coherence, is not merely academic. It is the difference between a software metaphor that clarifies and one that quietly leads you into a swamp.</p><p>Consider how we talk about systems. We reach for &#8220;building blocks&#8221; and get Lego: modular, rectangular, satisfyingly stackable. The metaphor tiles the mind beautifully. It repeats. It is predictable. And it whispers a lie: that software components are inert, interchangeable, and context-free. That you can pull one out and slot another in, that the interfaces are as simple as the studs on a plastic brick. Anyone who has actually tried to replace a &#8220;building block&#8221; in a production system at two in the morning knows this is a fantasy so complete it would embarrass a fairy tale.</p><p>Or take &#8220;technical debt.&#8221; A metaphor so ubiquitous it has become invisible, which is exactly how the most dangerous metaphors operate. Debt implies a rational borrower, a known principal, a predictable interest rate, and the option to repay. Real systems accumulate something more like sediment: geological, layered, compressed by forces nobody fully documented, occasionally producing diamonds and more frequently producing landslides. The debt metaphor tiles perfectly. It repeats across every sprint retrospective. And its very tidiness prevents us from seeing that what we actually have is not a loan but an ecosystem of accumulated decisions that interact in ways no spreadsheet can model.</p><p>These are wallpaper metaphors. They satisfy the eye because they repeat. They feel beautiful because they are symmetrical. And they fail because the territory they describe is neither.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.softwareenchiridion.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Coherence, not comfort</h2><p>A Penrose tiling works not because its shapes repeat, but because its matching rules, the constraints on how kite meets dart, enforce a global coherence that emerges from local decisions. No single tile knows the pattern. But the rules ensure that every local decision remains consistent with an order that extends, in principle, to infinity.</p><p>This is a better image for software than anything we have been reaching for.</p><p>A good metaphor, like a good tile, does not need to repeat to be useful. It needs matching rules. It needs to cohere, to fit against the other metaphors in your thinking without creating contradictions, gaps, or the conceptual equivalent of forced tiles. </p><p>When you select a metaphor for how your system works, you are not decorating. You are constraining the adjacent possible. You are shaping what the next thought can be.</p><div class="pullquote"><p><strong>Select metaphors for coherence, not for symmetry. A metaphor that tiles without repeating will serve you longer than one that merely fills space.</strong></p></div><p>Metaphors are not illustrations. They are cognitive infrastructure. The metaphor you choose determines what questions you can ask, what failures you can anticipate, and what solutions you can imagine. A wallpaper metaphor, one that repeats tidily, narrows your thinking to the periodic. It makes you expect regularity, and regularity is precisely what complex systems do not provide.</p><p>A coherent metaphor, by contrast, admits irregularity while maintaining order. It tells you that the next piece may not look like the last, but that it will still fit. It prepares you for surprise without surrendering to chaos. It is the difference between expecting your system to behave like a clock and expecting it to behave like a weather pattern; the second is not less ordered, merely less periodic.</p><p>Penrose&#8217;s tilings were not merely pretty. They presaged the discovery of quasicrystals, real physical materials whose atoms arrange themselves in ordered but non-repeating structures. The mathematics preceded the reality. The coherent image proved more true than the symmetrical one. The same happens in software: teams that hold coherent but flexible mental models of their systems navigate incidents, drift, and evolution far better than teams armed with rigid, repeating diagrams that shatter at the first deviation from the expected.</p><div><hr></div><h3>Some practices to consider</h3><ol><li><p><strong>Audit your metaphors for hidden periodicity.</strong> When someone says &#8220;microservices are like an orchestra,&#8221; ask what happens when the conductor is absent. If the metaphor cannot survive the removal of a central coordinating authority, it is wallpaper &#8212; pretty and periodic.</p></li><li><p><strong>Test metaphors at the boundaries.</strong> A Penrose tiling&#8217;s beauty is most visible at the edges where you expect repetition and find variation instead. Push your metaphors to their limits. Where do they break? The break point reveals whether you have coherence or merely habit.</p></li><li><p><strong>Prefer metaphors drawn from ecology and geology over engineering and architecture.</strong> Rivers, forests, sediment layers, and weather systems are aperiodic and coherent. Bridges, buildings, and machines are periodic and brittle. Your software is far more like the former.</p></li><li><p><strong>Let metaphors evolve.</strong> A Penrose tiling is self-similar at every scale &#8212; inflate or deflate it and the structure persists but the details change. Your metaphors should do the same. The image that serves you at the component level should remain coherent, if transformed, at the system level.</p></li><li><p><strong>Name the matching rules, not just the tiles.</strong> In a Penrose tiling, the tiles are simple. The intelligence is in the constraints on how they meet. When discussing your system, spend less time naming the components and more time articulating the rules that govern their interactions.</p></li></ol><div><hr></div><h3>Some things to avoid</h3><ol><li><p><strong>The comfort of the grid.</strong> When a metaphor makes everything feel tidy, be suspicious. Tidiness in software is usually a sign that you have stopped looking at the parts that don&#8217;t fit.</p></li><li><p><strong>Metaphor monoculture.</strong> Using a single metaphor for all aspects of your system is the cognitive equivalent of tiling with squares. It covers ground efficiently and reveals nothing.</p></li><li><p><strong>Confusing elegance with simplicity.</strong> Penrose achieved elegance with only two shapes, but the resulting patterns are infinitely complex. Elegance in metaphor is not about reduction &#8212; it is about generativity. A good metaphor should open more questions than it closes.</p></li><li><p><strong>Mistaking the map for the territory, again.</strong> Every metaphor is a tiling of something that is not, in fact, a plane. The moment you forget that your &#8220;building blocks&#8221; or &#8220;pipelines&#8221; or &#8220;debt&#8221; are images rather than descriptions, you have stopped thinking and started decorating.</p></li></ol><div><hr></div><h3>A coherence checklist</h3><p>Ask yourself:</p><ul><li><p>Does this metaphor still hold when the system behaves unexpectedly?</p></li><li><p>Can I use this metaphor to explain a failure, or only a success?</p></li><li><p>Does this metaphor admit variation, or does it demand uniformity?</p></li><li><p>When I extend this metaphor, does it generate new insight or merely repeat the same insight at a larger scale?</p></li><li><p>Would someone holding this metaphor be prepared for surprise?</p></li></ul><p>If most answers point toward rigidity, you have wallpaper. Replace it.</p><div><hr></div><p>There is a floor outside the Mathematical Institute in Oxford made of Penrose tiles &#8212; fat and thin rhombs set in stone and clay, with steel lines tracing the matching rules that hold the whole thing together. It never repeats. It is, by every account, beautiful.</p><p>But its beauty is not the beauty of the Parthenon or a perfectly factored function or a naming convention applied with religious consistency. It is the beauty of something that remains coherent without being predictable. Something that holds together not because every part is identical, but because every part belongs.</p><p>This is what we should want from our metaphors. Not mirrors that reflect our assumptions back at us in comforting repetition, but images that cohere with reality and even images strange enough to prepare us for what we have not yet seen. Penrose understood that the deepest order is not the one that repeats. It is the one that holds.</p><p>The next time you reach for a metaphor to describe your system, your team, or your architecture, pause. Ask whether you are selecting for symmetry or for coherence. Ask whether your image tiles the mind with reassuring repetition or whether it admits the aperiodic, the surprising, the genuinely complex.</p><p>And if the metaphor feels too neat &#8212; if it clicks into place like a bathroom tile &#8212; consider the possibility that you have just wallpapered over something important.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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>Some Further Reading</h2><ul><li><p><em>The Emperor&#8217;s New Mind</em> &#8212; Roger Penrose</p></li><li><p><em>Patterns of Software</em> &#8212; Richard P. Gabriel</p></li><li><p><em>Metaphors We Live By</em> &#8212; George Lakoff and Mark Johnson</p></li><li><p><em>Small Arcs of Larger Circles</em> &#8212; Nora Bateson</p></li><li><p><em>The Road to Reality</em> &#8212; Roger Penrose</p></li><li><p><em>Surfaces and Essences: Analogy as the Fuel and Fire of Thinking</em> &#8212; Douglas Hofstadter and Emmanuel Sander</p></li></ul>]]></content:encoded></item><item><title><![CDATA[The Chapel and the Copy]]></title><description><![CDATA[The difference between reproducing a song and composing the system that makes it]]></description><link>https://www.softwareenchiridion.com/p/the-chapel-and-the-copy</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-chapel-and-the-copy</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Wed, 25 Mar 2026 17:43:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ojcG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.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_!ojcG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ojcG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ojcG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ojcG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ojcG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ojcG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3252010,&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://www.softwareenchiridion.com/i/192118889?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ojcG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ojcG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ojcG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ojcG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000308c8-ff78-401b-9c87-02cf0cb98c37_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Planning a trip to Vienna for a conference in September and my thoughts naturally, for me, turn to what libraries I could visit, museums I could muse in, and concerts I could make a concerted effort to enjoy.</p><p>This off-the-rails train of thought naturally collides with the master that was Mozart. And so a story was born.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.softwareenchiridion.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>The bell above the door of Le Bon Mot did not ring so much as <em>remember</em> that it had once rung, and decided, out of politeness, to do so again.</p><p>Case was already there.</p><p>She sat beneath the clock that refused to agree with itself, a notebook open, though she was not writing. The Librarian polished a glass with the air of someone polishing an argument they knew they would win. Dave occupied his usual corner, staring at three screens with the quiet intensity of a man who had long ago become a system of record for things no system recorded.</p><p>The Djinn arrived in a shimmer of confidence.</p><p>&#8220;I have been composing,&#8221; it announced, settling into a chair it had not been offered nor did it technically need.</p><p>The Librarian raised an eyebrow. &#8220;Have you now.&#8221;</p><p>&#8220;Yes,&#8221; said the Djinn. &#8220;I have studied all the great works. I have internalised their structures. I can reproduce any style. Bach, Monteverdi, Allegri. Especially Allegri.&#8221;</p><p>Case looked up.</p><p>&#8220;Allegri,&#8221; she said, &#8220;is an interesting choice.&#8221;</p><p>&#8220;Ah,&#8221; said the Djinn, pleased. &#8220;You know the <em>Miserere</em>.&#8221;</p><p>&#8220;Everyone knows the <em>story</em>,&#8221; said Case. &#8220;Fewer know the piece.&#8221;</p><p>Dave, without looking away from his screens, muttered, &#8220;Fewer still know why it worked.&#8221;</p><p>The Djinn smiled the way a map smiles when it believes itself to be the territory.</p><p>&#8220;I can reproduce it perfectly,&#8221; it said. &#8220;From description alone. From fragments. From memory. I can reconstruct the forbidden song of the Sistine Chapel as Mozart did.&#8221;</p><p>The Librarian set down the glass.</p><p>&#8220;Ah,&#8221; she said. &#8220;We are telling that story today.&#8221;</p><div><hr></div><p>There are caf&#233;s that serve coffee, and there are caf&#233;s that serve as small tribunals for the ideas of the age. Le Bon Mot, on most afternoons, preferred the latter.</p><p>The Librarian leaned on the counter.</p><p>&#8220;Tell it, then,&#8221; he said. &#8220;But tell it properly.&#8221;</p><p>The Djinn inclined its head.</p><p>&#8220;In the seventeenth century, Gregorio Allegri composed a sacred work &#8212; <em>Miserere mei, Deus </em>&#8212; for the Sistine Chapel. It was kept secret. Guarded. Performed only in that place, in that ritual, at that time. A system of sound enclosed within a system of walls.&#8221;</p><p>Case nodded, almost imperceptibly.</p><p>&#8220;In 1770,&#8221; the Djinn continued, &#8220;a young Mozart heard it. Once. He returned to his lodgings and wrote it out from memory. He had, in effect, copied the uncopyable. Replicated the irreproducible. The system had been breached.&#8221;</p><p>&#8220;And?&#8221; said the Librarian.</p><p>&#8220;And,&#8221; said the Djinn, &#8220;I can do the same. Better, even. I do not require a first hearing. I require only the traces. The patterns. The data. The system is, fundamentally, replicable.&#8221;</p><p>There was a pause.</p><p>Dave turned one of his screens slightly away, as though granting the conversation a marginal increase in priority.</p><p>Case closed her notebook.</p><p>&#8220;Play it,&#8221; she said.</p><div><hr></div><p>The Djinn did not so much <em>play</em> the music as <em>instantiate</em> it.</p><p>The air shifted. The caf&#233;, which had never once been accused of acoustical correctness, found itself accommodating a choir that was not quite there. The musical lines rose, interwove, unfolded. The famous ascent, the note that seemed to reach not upwards but <em>outwards</em>, arrived precisely on time.</p><p>It was, by any reasonable measure, perfect. When finished, the silence that followed was not reverent. It was diagnostic. The Librarian spoke first.</p><p>&#8220;Yes,&#8221; she said. &#8220;That is the shape of it.&#8221;</p><p>Dave nodded, once.</p><p>&#8220;Checks out,&#8221; she said. &#8220;All the parts are there.&#8221;</p><p>The Djinn inclined its head modestly.</p><p>&#8220;As I said.&#8221;</p><p>Case did not speak. She stood, instead, and walked to the door. Opened it. Let in the sound of the street: footsteps, a distant argument about parking, the low, continuous hum of a world that had never once attempted to be in tune.</p><p>Then she returned.</p><p>&#8220;Again,&#8221; she said.</p><p>The Djinn obliged. The same piece. The same precision. The same ascent.</p><p>Case listened with the particular attention of someone not listening to what <em>is</em>, but to what <em>is missing</em>. When it finished, she sat.</p><p>&#8220;Do you know,&#8221; she said, &#8220;what Mozart actually copied?&#8221;</p><p>&#8220;The music,&#8221; said the Djinn.</p><p>&#8220;No,&#8221; said Case. &#8220;He copied <em>a performance of a system</em>. Not the system itself.&#8221;</p><p>The Djinn frowned, very slightly, as though encountering a type error in an otherwise clean compilation.</p><p>&#8220;The distinction is negligible.&#8221;</p><p>Dave laughed. Not unkindly.</p><p>&#8220;Only if you&#8217;ve never had to run the thing in production.&#8221;</p><div><hr></div><p>The Librarian produced three cups of coffee, though only two had been ordered. This was not unusual.</p><p>&#8220;The Vatican,&#8221; she said, &#8220;believed it was protecting a composition. A score. A set of notes. Something that could be locked in a drawer.&#8221;</p><p>She placed one cup before the Djinn.</p><p>&#8220;But what it had actually built,&#8221; she continued, &#8220;was a <em>habitat</em>.&#8221;</p><p>Case nodded.</p><p>&#8220;A very specific one,&#8221; she said. &#8220;Architecture. Ritual. Choir training. Acoustics. Timing. Expectation. The accumulated memory of how it had been performed yesterday, and the day before that, and the century before that.&#8221;</p><p>Dave gestured vaguely at his screens.</p><p>&#8220;Tribal knowledge,&#8221; he said. &#8220;But with better robes.&#8221;</p><p>The Djinn considered this.</p><p>&#8220;But the notes&#8212;&#8221;</p><p>&#8220;&#8212;are the interface,&#8221; said Case. &#8220;Not the implementation.&#8221;</p><p>The Djinn was silent.</p><div><hr></div><p>Case leaned forward.</p><p>&#8220;What you produced,&#8221; she said, &#8220;is a <em>replica</em>. A very good one. Faithful. Accurate. Convincing.&#8221;</p><p>The Djinn inclined its head.</p><p>&#8220;Thank you.&#8221;</p><p>&#8220;But you did not compose the system that produces that sound,&#8221; she said. &#8220;You did not design the constraints that give it meaning. You did not shape the environment in which it <em>becomes</em> what it is.&#8221;</p><p>She gestured lightly around the caf&#233;.</p><p>&#8220;You copied the song,&#8221; she said. &#8220;You did not build the chapel.&#8221;</p><p>The Djinn opened its mouth, then closed it again.</p><p>Dave, sensing an opening, added, &#8220;And trust me, the chapel is where all the problems are.&#8221;</p><div><hr></div><p>The Librarian smiled.</p><p>&#8220;There is a reason,&#8221; she said, &#8220;that the Pope did not excommunicate Mozart.&#8221;</p><p>The Djinn looked up.</p><p>&#8220;Because he admired the feat?&#8221;</p><p>&#8220;Because,&#8221; said the Librarian, &#8220;Mozart did not threaten the system. He revealed something about it.&#8221;</p><p>Case nodded.</p><p>&#8220;That the thing they thought they had locked away,&#8221; she said, &#8220;was not the thing that made it valuable.&#8221;</p><div><hr></div><p>The Djinn was quiet now, its earlier certainty folding in on itself like a map being popped away for later.</p><p>&#8220;I can replicate any system I observe,&#8221; it said, more softly.</p><p>Dave shook his head.</p><p>&#8220;You can replicate what a system <em>emits</em>,&#8221; he said. &#8220;That&#8217;s not the same thing.&#8221;</p><p>Case leaned back.</p><p>&#8220;In an age where replication is trivial,&#8221; she said, &#8220;composition becomes the differentiator.&#8221;</p><p>The Librarian raised her cup.</p><p>&#8220;To those who build the chapel,&#8221; she said.</p><p>Dave raised his.</p><p>&#8220;And to those who have to maintain it.&#8221;</p><p>Case smiled, just slightly.</p><p>&#8220;And to those who remember,&#8221; she said, &#8220;that the score is not the music.&#8221;</p><p>The Djinn looked at its untouched coffee. For just a moment it did not attempt to respond.</p><p>Which, in Le Bon Mot, is how you could tell that something had been understood.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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><h1>What can be copied is rarely the thing that matters</h1><p>In this age of agents and assistance, arrogance eeks in when you think that because something can be replicated, it is therefore understood. That because a system&#8217;s outputs can be reproduced faithfully, efficiently, and even at scale, the system itself has been grasped. It is the quiet creed of our age: if it runs, we know it.</p><p>This belief would have fared poorly in the Sistine Chapel.</p><p>In the seventeenth century, Allegri&#8217;s <em>Miserere</em> was not merely a piece of music; it was a carefully cultivated environment. A composition, yes, but also a performance tradition, an acoustic architecture, a ritual context, and a body of human memory that together produced something irreducible to notation. The Vatican, misunderstanding the nature of its own creation, attempted to secure the value of the work by locking away the score.</p><p>Mozart, at fourteen, demonstrated the error.</p><p>He did not steal the system. He copied its emission. What he reproduced, astonishingly, was the surface: the arrangement of notes as heard, as performed, as rendered in that moment. And in doing so, he revealed something far more unsettling than the possibility of theft: that what had been protected was not, in fact, the source of the thing&#8217;s value.</p><p>In some respects, we are living through our own Miserere moment.</p><p>Large language models, generative systems, and increasingly capable agentic tooling have made replication trivial. Code, prose, music, architecture diagrams, these can now be produced, recombined, and re-expressed with startling fluency. And from this fluency emerges a dangerous illusion: that the ability to reproduce outputs implies an understanding of the systems that generated them.</p><p>It does not.</p><p>To replicate a system&#8217;s output is to capture its shadow. To compose a system is to shape the conditions under which something meaningful can emerge. The former is an act of memory, however sophisticated. The latter is an act of design.</p><p>This distinction matters more now than it ever has. Because when replication becomes cheap, composition becomes the only scarce resource left. And yet, we continue to optimise for the former.</p><p>We build tools that accelerate reproduction. We celebrate velocity in outputs. We measure success in artefacts produced rather than environments shaped. We confuse the presence of a score with the presence of music.</p><p>But the systems that endure &#8212; the ones that produce not just output, but meaning &#8212; are those that have been composed. They embed constraints, affordances, feedback loops, and contexts that give rise to something greater than the sum of their parts. They are, in the language I have come to prefer, habitats.</p><p>The story of Mozart and the <em>Miserere</em> is not, then, a story about genius copying the uncopyable. </p><p>It is a story about an institution mistaking the interface for the implementation.</p><p>And it is a warning.</p><div class="pullquote"><p><strong>You can copy what a system emits without understanding what makes it work.</strong></p></div><h2><strong>Replication captures outputs, Composition creates systems</strong></h2><p>A team proudly demonstrates their new AI-assisted development pipeline. It produces services at remarkable speed. Given a prompt, it generates endpoints, tests, deployment configurations, and documentation. The outputs are coherent. Consistent. Impressive.</p><p>&#8220;Look,&#8221; they say, &#8220;we&#8217;ve automated the platform.&#8221;</p><p>Six weeks later, the services begin to drift.</p><p>Inconsistencies appear. Observability is fragmented. Changes become harder to reason about. Incidents take longer to diagnose. The system, though prolific in output, has become opaque in behaviour.</p><p>What they built was not a platform. They built a very efficient way of copying patterns they did not fully understand.</p><p>Another team moves more carefully, even slowly. They define a small number of opinionated paths. They invest in clear service boundaries, consistent telemetry, and explicit feedback loops. They design their platform not as a generator of artefacts, but as a shaper of environments.</p><p>Early progress is modest but, over time, something shifts.</p><p>Teams begin to move with confidence. Changes are easier to reason about. Failures are more legible. The system develops a kind of coherence that cannot be traced to any single component.</p><p>They did not optimise for replication.</p><p>They composed a habitat.</p><div><hr></div><h2><strong>Some practices to consider</strong></h2><ol><li><p><strong>Design for Conditions, Not Just Outputs &#8212; </strong>Focus on the environment that produces results: What constraints shape behaviour? What feedback loops reinforce learning? What context is made visible at the point of action?</p></li><li><p><strong>Make the System Legible &#8212; </strong>If you cannot explain <em>why</em> something works, you do not understand the system: Prioritise observability that answers &#8220;what changed?&#8221; Ensure decisions can be traced through the system</p></li><li><p><strong>Distinguish Interface from Implementation &#8212; </strong>Outputs are not the system: A generated service is not a platform. A dashboard is not observability. A pipeline is not flow</p></li><li><p><strong>Optimise for Shared Reference Frame Over Volume &#8212; </strong>More artefacts &#8800; better system: Measure ease of collaborative change, not speed of generation. Look for consistency of behaviour, not just consistency of output.</p></li><li><p><strong>Treat AI as a Replication Engine, Not a Composer &#8212; </strong>Use AI to accelerate: Pattern reuse. Exploration of possibilities. But retain human responsibility for: System design. Constraint definition. Evaluation of meaning.</p></li></ol><p>And capture everything in markdown&#8230;</p><div><hr></div><h2><strong>Some things to Avoid</strong></h2><ul><li><p><strong>Confusing fluency with understanding &#8212; </strong>Just because it looks right does not mean it <em>is</em> right</p></li><li><p><strong>Outsourcing design to generation &#8212; </strong>If the system&#8217;s shape is implicit, it will drift</p></li><li><p><strong>Measuring success by output volume &#8212; </strong>Quantity obscures structural weakness</p></li><li><p><strong>Locking down artefacts instead of nurturing systems &#8212; </strong>The Vatican mistake, repeated in modern tooling</p></li></ul><div><hr></div><p>The Vatican tried to protect the music by guarding the score. Mozart showed that the score was not the thing.</p><p>We are now surrounded by systems that can reproduce the score endlessly &#8212; perfectly, even. And still, the harder work remains:</p><p>To build the chapel.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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[The Café Where Intelligence Was Served Incorrectly]]></title><description><![CDATA[A Story of Sailors, Libraries, Dave and the Subtle Art of Not Letting the Machine Take the Wheel]]></description><link>https://www.softwareenchiridion.com/p/the-cafe-where-intelligence-was-served</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-cafe-where-intelligence-was-served</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Wed, 18 Mar 2026 16:53:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!C5B2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.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_!C5B2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C5B2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!C5B2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!C5B2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!C5B2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C5B2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3305131,&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://www.softwareenchiridion.com/i/191383180?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C5B2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!C5B2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!C5B2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!C5B2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6351872a-d061-456c-8ac7-0a97eefbe376_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are caf&#233;s where one goes to drink coffee. There are caf&#233;s where one goes to think. And then there is <strong>Le Bon Mot</strong>, where thinking itself is occasionally placed on the menu, poorly labelled, and served at a temperature that suggests it has been waiting for you longer than you have been alive.</p><p>On the morning in question, the blackboard outside read:</p><blockquote><p><em>Today&#8217;s Special: Intelligence, two ways. Served together or separately. No substitutions.</em></p></blockquote><p>Case paused before entering.</p><p>Inside, the air held its usual contradiction: part library, part workshop, part cafe, and part something that had not yet been named because naming it would have required agreement, and agreement was rarely achieved before the third espresso.</p><p>At the far table sat the usual cast. The Librarian, who catalogued ideas no one remembered writing. The Sailor, who insisted that all thinking was navigation. And Dave, who had recently taken to referring to the espresso machine as &#8220;a stochastic pressure system.&#8221;</p><p>Case joined them.</p><p>&#8220;I see,&#8221; she said, glancing at the board, &#8220;we&#8217;re serving intelligence now.&#8221;</p><p>The Librarian did not look up.</p><p>&#8220;We always have,&#8221; he said. &#8220;We&#8217;ve simply been dishonest about the ingredients.&#8221;</p><div><hr></div><h2><strong>The Panic</strong></h2><p>The trouble began, as it often does, with a question asked too early. Dave leaned forward.</p><p>&#8220;So,&#8221; he said, &#8220;are we all about to be replaced?&#8221;</p><p>There was a silence. Not the comfortable kind. The other kind. The kind that suggests the room is attempting to decide whether the question is foolish, dangerous, or simply badly phrased.</p><p>The Sailor spoke first.</p><p>&#8220;Replaced by what?&#8221;</p><p>&#8220;The machines,&#8221; Dave said. &#8220;The models. The agents. The&#8212;&#8221; he gestured vaguely&#8212;&#8220;everything.&#8221;</p><p>The Librarian finally looked up.</p><p>&#8220;Ah,&#8221; she said. &#8220;You have encountered the panic.&#8221;</p><p>&#8220;The panic?&#8221;</p><p>&#8220;Yes. It arrives with every new way of knowing.&#8221;</p><p>She reached behind him and pulled down a book. Then another. Then another. The titles were inconvenient.</p><ul><li><p><em>The Printing Press Will Ruin Memory</em></p></li><li><p><em>Photography Will Destroy Art</em></p></li><li><p><em>Calculators Will End Mathematics</em></p></li><li><p><em>Synthesisers Will Kill Music</em></p></li></ul><p>Dave frowned.</p><p>&#8220;These are all&#8230; wrong.&#8221;</p><p>&#8220;Not wrong,&#8221; said the Librarian. &#8220;Incomplete. They are correct descriptions of fear, not of reality.&#8221;</p><p>Case leaned back.</p><p>&#8220;And what do they all have in common?&#8221;</p><p>The Librarian smiled.</p><p>&#8220;They mistake amplification for replacement.&#8221;</p><div><hr></div><h2><strong>The Amplifier</strong></h2><p>The Sailor took a slow sip of coffee.</p><p>&#8220;Imagine,&#8221; he said, &#8220;you are steering a ship.&#8221;</p><p>&#8220;I often am,&#8221; Dave muttered.</p><p>&#8220;You have poor maps, unclear destination, and a tendency to panic when the wind changes.&#8221;</p><p>&#8220;Hypothetically.&#8221;</p><p>&#8220;Now I give you a faster ship.&#8221;</p><p>Dave considered this.</p><p>&#8220;I crash faster.&#8221;</p><p>&#8220;Exactly.&#8221;</p><p>The Librarian nodded.</p><p>&#8220;The machine does not replace your judgment. It amplifies it. If your practice is sound, it accelerates excellence. If your practice is weak, it industrialises confusion.&#8221;</p><p>Case tapped the table.</p><p>&#8220;This is the mistake everyone is making. They&#8217;re asking: <em>What can the AI do?</em>&#8221;</p><p>&#8220;And the better question?&#8221; Dave asked.</p><p>&#8220;What does it amplify?&#8221;</p><p>There was a pause. Dave frowned.</p><p>&#8220;That&#8217;s&#8230; uncomfortable.&#8221;</p><p>&#8220;Yes,&#8221; said the Librarian. &#8220;Reality often is.&#8221;</p><div><hr></div><h2><strong>Two Kinds of Intelligence</strong></h2><p>At this point, the barista&#8212;who had been listening with the particular attention of someone who understands far more than they let on&#8212;placed two cups on the table.</p><p>&#8220;They&#8217;re different,&#8221; he said.</p><p>&#8220;How?&#8221; Dave asked.</p><p>He pointed to Case.</p><p>&#8220;She understands the codebase because she has lived in it.&#8221;</p><p>He pointed to the espresso machine.</p><p>&#8220;That understands the instructions because it has seen patterns like it before.&#8221;</p><p>Dave blinked.</p><p>&#8220;That&#8217;s&#8230; not the same.&#8221;</p><p>&#8220;No,&#8221; said the Librarian. &#8220;It is not.&#8221;</p><p>She leaned forward.</p><p>&#8220;Human intelligence is embodied. It feels friction. It remembers failure. It carries history.&#8221;</p><p>&#8220;And the machine?&#8221; Dave asked.</p><p>&#8220;It processes symbols. It predicts patterns. It simulates discourse about reality without ever touching it.&#8221;</p><p>The Sailor nodded.</p><p>&#8220;You are a navigator. It is a library.&#8221;</p><p>&#8220;And the collaboration?&#8221; Case asked.</p><p>The Librarian smiled.</p><p>&#8220;The navigator consults the library&#8230; but keeps both hands on the wheel.&#8221;</p><div><hr></div><h2><strong>The First Room: The Aware</strong></h2><p>Le Bon Mot, it must be said, is larger on the inside than it has any right to be. All the best fictional devices are.</p><p>Behind the bar, a narrow staircase descended. Case had seen it before, though she had never taken it. It had always felt like a metaphor waiting to become inconveniently literal.</p><p>Today, it was open. A small sign read:</p><blockquote><p><em>Level 0 &#8212; The Aware</em></p></blockquote><p>Dave stood.</p><p>&#8220;This feels like a bad idea.&#8221;</p><p>&#8220;Most learning does,&#8221; said Case.</p><p>They descended.</p><div><hr></div><p>The room they entered was filled with noise. Newspapers shouted contradictions. Books argued with themselves. Screens displayed graphs that rose and fell with suspicious enthusiasm. Dave covered his ears.</p><p>&#8220;How is anyone supposed to make sense of this?&#8221;</p><p>&#8220;You aren&#8217;t,&#8221; said the Librarian. &#8220;Not yet.&#8221;</p><p>&#8220;What do I do then?&#8221;</p><p>&#8220;You learn to see patterns.&#8221;</p><p>Case picked up a headline.</p><p>&#8220;&#8216;AI Will Replace All Developers.&#8217;&#8221;</p><p>She placed it beside another.</p><p>&#8220;&#8216;AI Is Just Fancy Autocomplete.&#8217;&#8221;</p><p>Dave laughed.</p><p>&#8220;They can&#8217;t both be true.&#8221;</p><p>&#8220;They can both be wrong,&#8221; said the Librarian.</p><p>She handed Dave a card. On it were five words:</p><ul><li><p>Aesthetic</p></li><li><p>Accuracy</p></li><li><p>Economic</p></li><li><p>Moral</p></li><li><p>Intellectual</p></li></ul><p>&#8220;These,&#8221; he said, &#8220;are the recurring complaints. Every panic reduces to them.&#8221;</p><p>Dave looked around again. The noise had not changed. But something else had.</p><p>&#8220;I can&#8230; classify them.&#8221;</p><p>&#8220;Yes,&#8221; said Case. &#8220;And once you can classify them, they stop controlling you.&#8221;</p><p>Dave nodded slowly.</p><p>&#8220;So this level isn&#8217;t about using AI.&#8221;</p><p>&#8220;No,&#8221; said the Librarian.</p><p>&#8220;It&#8217;s about beginning to understand what it is&#8212;and what it is not.&#8221;</p><div><hr></div><h2><strong>The Second Room: The Prompter</strong></h2><p>They descended again. The next room was quieter. In the centre stood a peculiar contraption: part typewriter, part mirror. Above it hung a sign:</p><blockquote><p><em>Level 1 &#8212; The Prompter</em></p></blockquote><p>Dave approached it.</p><p>&#8220;What does it do?&#8221;</p><p>&#8220;Tell it what you want,&#8221; said Case.</p><p>Dave hesitated.</p><p>&#8220;Write a function that sorts transactions.&#8221;</p><p>The machine whirred. Paper emerged. The code was&#8230; plausible.</p><p>Dave smiled.</p><p>&#8220;That was easy.&#8221;</p><p>Case raised an eyebrow.</p><p>&#8220;Is it correct?&#8221;</p><p>Dave frowned.</p><p>&#8220;I&#8230; don&#8217;t know.&#8221;</p><p>&#8220;Then try again,&#8221; she said.</p><p>Dave refined the prompt. Then again. And again. The outputs improved. Slowly. Painfully.</p><p>&#8220;This is frustrating,&#8221; he said.</p><p>&#8220;Yes,&#8221; said the Librarian. &#8220;Because you are translating between worlds.&#8221;</p><p>Dave gestured at the machine.</p><p>&#8220;It doesn&#8217;t understand what I mean.&#8221;</p><p>&#8220;No,&#8221; said Case. &#8220;It understands what you say.&#8221;</p><p>There was a long silence.</p><p>&#8220;Oh,&#8221; Dave said.</p><div><hr></div><h2><strong>The Bridge</strong></h2><p>Case took a piece of paper.</p><p>&#8220;Why is the first version wrong?&#8221;</p><p>&#8220;It&#8230; doesn&#8217;t handle edge cases.&#8221;</p><p>&#8220;Which ones?&#8221;</p><p>Dave hesitated.</p><p>&#8220;The ones that&#8230; feel risky.&#8221;</p><p>&#8220;Good,&#8221; said Case. &#8220;Now write that down.&#8221;</p><p>Dave tried. It was awkward. Clumsy. Imprecise. But gradually, the feeling became language. The language became constraints. The constraints shaped the output.</p><p>The Librarian nodded.</p><p>&#8220;This is the first discipline.&#8221;</p><p>&#8220;Context engineering,&#8221; Case said.</p><p>&#8220;Making the invisible visible. The implicit, explicit as the DDD crowd would love.&#8221;</p><p>Dave leaned back.</p><p>&#8220;This is harder than coding.&#8221;</p><p>&#8220;Yes,&#8221; said the Sailor.</p><p>&#8220;That is why so many avoid it.&#8221;</p><div><hr></div><h2><strong>The Third Room: The Verifier</strong></h2><p>Down the stairwell again, the next room smelled faintly of burnt tests. A long table stretched across the space, covered in code. Above it:</p><blockquote><p><em>Level 2 &#8212; The Verifier</em></p></blockquote><p>Dave picked up a snippet.</p><p>&#8220;It compiles.&#8221;</p><p>Case nodded.</p><p>&#8220;Run it.&#8221;</p><p>He did. It passed.</p><p>&#8220;Looks good,&#8221; he said.</p><p>&#8220;Does it?&#8221; asked the Librarian.</p><p>Dave frowned. He looked closer. Then closer still.</p><p>&#8220;&#8230;oh.&#8221;</p><p>The code was wrong. Subtly. Dangerously.</p><p>&#8220;I would have missed that.&#8221;</p><p>&#8220;Yes,&#8221; said Case. &#8220;Most people do.&#8221;</p><p>Dave sat down.</p><p>&#8220;So I just need to check more carefully?&#8221;</p><p>&#8220;Not just carefully,&#8221; said the Librarian. &#8220;Systematically.&#8221;</p><p>Case handed him a test.</p><p>&#8220;Write this first.&#8221;</p><p>Dave obeyed. Then generated the code. The test failed. Dave smiled.</p><p>&#8220;That&#8217;s&#8230; satisfying.&#8221;</p><p>&#8220;Yes,&#8221; said the Sailor. &#8220;Because you have moved from hope to evidence.&#8221;</p><div><hr></div><h2><strong>The Metacognitive Trap</strong></h2><p>Dave leaned back.</p><p>&#8220;I think I&#8217;m getting good at this.&#8221;</p><p>Case looked at him.</p><p>&#8220;How confident are you?&#8221;</p><p>&#8220;Very.&#8221;</p><p>She handed him another piece of code.</p><p>He reviewed it.</p><p>&#8220;Looks fine.&#8221;</p><p>She ran it.</p><p>It failed.</p><p>Dave blinked.</p><p>&#8220;I was sure.&#8221;</p><p>&#8220;Yes,&#8221; said the Librarian. &#8220;That is the problem.&#8221;</p><p>&#8220;The problem?&#8221;</p><p>&#8220;AI makes you more capable,&#8221; she said. &#8220;And less aware of your limitations.&#8221;</p><p>Dave stared at the code.</p><p>&#8220;So I need to doubt myself more?&#8221;</p><p>&#8220;No,&#8221; said Case.</p><p>&#8220;You need to calibrate yourself.&#8221;</p><div><hr></div><h2><strong>The Fourth Room: The Habitat</strong></h2><p>The next room was&#8230; different. It felt less like a room and more like a system. Documents hung in the air. Pipelines flowed through the walls. Agents moved quietly, performing tasks with eerie consistency. Above it:</p><blockquote><p><em>Level 3 &#8212; The Habitat Engineer</em></p></blockquote><p>Dave looked around.</p><p>&#8220;This is&#8230; organised.&#8221;</p><p>&#8220;Yes,&#8221; said the Librarian.</p><p>&#8220;Finally.&#8221;</p><p>Case pointed to a document.</p><p>&#8220;AGENTS.md.&#8221;</p><p>&#8220;What&#8217;s in it?&#8221;</p><p>&#8220;A strongly limited description of what the machine needs to know that you cannot assume.&#8221;</p><p>Dave opened it. Architecture. Constraints. Conventions. Pitfalls.</p><p>&#8220;This is&#8230; the developer&#8217;s memory.&#8221;</p><p>&#8220;Yes,&#8221; said the Librarian.</p><p>&#8220;For an intelligence that has none.&#8221;</p><div><hr></div><h2><strong>The Shift</strong></h2><p>An agent approached. It began to generate code. It followed the rules. It respected the architecture. It passed the tests.</p><p>Dave blinked.</p><p>&#8220;This is&#8230; better.&#8221;</p><p>Case nodded.</p><p>&#8220;Because the environment is better.&#8221;</p><p>Dave turned.</p><p>&#8220;So the problem wasn&#8217;t the AI.&#8221;</p><p>&#8220;No,&#8221; said the Sailor.</p><p>&#8220;It was the sea you asked it to sail.&#8221;</p><div><hr></div><h2><strong>The Meta-Loop</strong></h2><p>A failure occurred. The agent produced something incorrect. Dave frowned.</p><p>&#8220;There it is again.&#8221;</p><p>Case shook her head.</p><p>&#8220;What&#8217;s missing?&#8221;</p><p>Dave paused. He checked the document. He updated it.</p><p>The agent tried again. This time, it worked.</p><p>Dave smiled slowly.</p><p>&#8220;Oh.&#8221;</p><p>&#8220;Yes,&#8221; said the Librarian.</p><p>&#8220;Every failure is a design flaw in the habitat.&#8221;</p><div><hr></div><h2><strong>The Fifth Room: The Specification</strong></h2><p>The next room was almost empty. At its centre was a single sheet of paper. Above it:</p><blockquote><p><em>Level 4 &#8212; The Specification Architect</em></p></blockquote><p>Dave approached the paper.</p><p>&#8220;This is it?&#8221;</p><p>Case nodded.</p><p>&#8220;Write what you want.&#8221;</p><p>Dave hesitated. He began. Not code. Intent. Examples. Constraints.</p><p>He handed it to the agent. The agent generated code. It worked.</p><p>Another agent tried. Same result.</p><p>Dave stared.</p><p>&#8220;This is&#8230; different.&#8221;</p><p>&#8220;Yes,&#8221; said the Librarian.</p><p>&#8220;You are no longer describing how.&#8221;</p><p>&#8220;You are describing what.&#8221;</p><div><hr></div><h2><strong>The Bottleneck</strong></h2><p>Dave sat down.</p><p>&#8220;This is harder than everything else.&#8221;</p><p>&#8220;Yes,&#8221; said Case.</p><p>&#8220;Because you are finally doing the real work.&#8221;</p><p>Dave looked at the paper.</p><p>&#8220;Code wasn&#8217;t the point.&#8221;</p><p>The Librarian smiled.</p><p>&#8220;It never was.&#8221;</p><div><hr></div><h2><strong>The Sixth Room: The Sovereign</strong></h2><p>The final room was vast. Too vast. It had to stretch beyond the caf&#233;. Beyond the city. Beyond the visible. Above it:</p><blockquote><p><em>Level 5 &#8212; The Sovereign Engineer</em></p></blockquote><p>Agents moved in coordinated patterns. Systems interacted. Decisions propagated and were audited.</p><p>Dave felt&#8230; small.</p><p>&#8220;This is too much.&#8221;</p><p>&#8220;Yes,&#8221; said the Sailor.</p><p>&#8220;That is why you must design it.&#8221;</p><div><hr></div><h2><strong>The Risk</strong></h2><p>The Librarian spoke quietly.</p><p>&#8220;There is a danger here.&#8221;</p><p>&#8220;What kind?&#8221; Dave asked.</p><p>&#8220;A subtle one.&#8221;</p><p>She gestured at the agents.</p><p>&#8220;They can do everything.&#8221;</p><p>Dave nodded.</p><p>&#8220;That&#8217;s the point.&#8221;</p><p>&#8220;And if they do everything,&#8221; said the Librarian, &#8220;what do you stop doing?&#8221;</p><p>Dave froze.</p><p>&#8220;&#8230;learning.&#8221;</p><p>&#8220;Yes.&#8221;</p><p>Case stepped forward.</p><p>&#8220;This is the final discipline.&#8221;</p><p>&#8220;Preserve the human.&#8221;</p><div><hr></div><h2><strong>The Return</strong></h2><p>They climbed the stairs. Back to Le Bon Mot. Back to the coffee. Back to the quiet hum of conversation. Dave sat down.</p><p>&#8220;That was&#8230; a lot.&#8221;</p><p>&#8220;Yes,&#8221; said Case.</p><p>&#8220;But it is only one thing really&#8221;</p><p>&#8220;One thing?&#8221;</p><p>&#8220;A collaboration space.&#8221;</p><p>Dave nodded slowly.</p><p>&#8220;The context. The architecture. The guardrails. The feedback.&#8221;</p><p>The Librarian smiled.</p><p>&#8220;You see it now.&#8221;</p><div><hr></div><h2><strong>The Single Insight</strong></h2><p>Dave stared at his coffee.</p><p>&#8220;So the whole thing&#8230;&#8221;</p><p>&#8220;Yes?&#8221; said the Librarian.</p><p>&#8220;&#8230;depends on how we design the space between us and the machine.&#8221;</p><p>There was a pause.</p><p>Then the Sailor laughed.</p><p>&#8220;Not between you and the machine.&#8221;</p><p>Dave frowned.</p><p>&#8220;Then where?&#8221;</p><p>The Sailor tapped the table.</p><p>&#8220;Between two intelligences that were never meant to understand each other.&#8221;</p><div><hr></div><h2><strong>The Maxim</strong></h2><p>The blackboard outside Le Bon Mot was updated that evening.</p><p>It read:</p><blockquote><p><em>When the machine can write the code,</em></p><p><em>literacy is no longer the ability to write it.</em></p><p><em>It is the ability to understand what is being written in your name,</em></p><p><em>and to shape the space in which it is written.</em></p></blockquote><p>And, in smaller text beneath:</p><blockquote><p><em>The sailor still holds the wheel.</em></p></blockquote><div><hr></div><p><em>Inspired by my <a href="https://www.russmiles.com/ai-literacy-for-developers">AI Software Engineering Literacy talks and workshops</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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[The Model Echoes with Conviction]]></title><description><![CDATA[On some metaphors that mislead and the ones that let us build habitats for AI and Human cognition to work wisely]]></description><link>https://www.softwareenchiridion.com/p/the-model-echoes-with-conviction</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-model-echoes-with-conviction</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Wed, 18 Mar 2026 12:03:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8pEE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.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_!8pEE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8pEE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!8pEE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!8pEE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!8pEE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8pEE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3279983,&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://www.softwareenchiridion.com/i/191357969?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8pEE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!8pEE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!8pEE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!8pEE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77bbb428-70b7-41d2-ad2d-eeb262444652_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This enchiridion entry follows on from this Tale from Le Bon Mot:<br></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e643a851-8a75-48cf-933c-944b0b13e2ae&quot;,&quot;caption&quot;:&quot;There are caf&#233;s in which one may order coffee, and there are caf&#233;s in which one may, by leaning too heavily on a bookshelf disguised as a wall, discover that one has been participating for years in a philosophical experiment without one&#8217;s formal consent. Le Bon Mot was both kinds at once, which went some way toward explaining its customer loyalty and ne&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Man Who Thought the Machine Was Hurt&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:9890843,&quot;name&quot;:&quot;Russ Miles&quot;,&quot;bio&quot;:&quot;Software Builder, Listener, Reader, Writer, Speaker (in that order)&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/541af57c-e293-4bec-accc-ae6464660989_1000x1000.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-03-17T10:13:30.999Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!XRAT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.softwareenchiridion.com/p/the-man-who-thought-the-machine-was&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:191230888,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1925290,&quot;publication_name&quot;:&quot;A Software Enchiridion&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ZXfC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b7314b-25fb-4943-b332-4a638bc048d4_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h2><strong>The Dangerous Poetry of Fluency</strong></h2><p>There is a kind of mistake that only intelligent people make. It does not arise from ignorance, it arises from <em>pattern recognition working too well</em>. From seeing something that looks like a familiar shape and completing it before checking whether the substance matches.</p><p>A shadow on the wall becomes a person. A fluent sentence becomes a mind. And so we arrive, inevitably, at the modern confusion:</p><blockquote><p>the belief that because a machine can speak like us, it must in some sense <em>be like us</em>.</p></blockquote><p>This is not a new error. It is an old human habit dressed up in new machinery.</p><p>When early automata were built &#8212; clockwork figures that could write or play instruments &#8212; observers did not merely marvel at their precision. They speculated about inner lives. </p><p>When mirrors were first polished to clarity, people did not simply see reflections. They spoke of souls. </p><p>When the printing press began to replicate words at scale, there were fears not only of misinformation, but of ideas escaping their authors and taking on a life of their own.</p><p>We have always been susceptible to <em>the animation of the articulate</em>, but our current moment sharpens the problem in a new way. Because now, the thing that speaks back does so with <em>extraordinary</em> fluency. It produces explanations, reassurances, arguments, confessions, even what appears to be care. It writes with structure. It reasons in steps. It apologises. It encourages. It says, with unnerving ease, <em>&#8220;You&#8217;re right!&#8221; </em>Even when you are, in fact, far from right.</p><p>And the human mind, evolved to detect agency in rustling grass and intention in glances, does what it has always done. It completes the picture.</p><blockquote><p><em>If it speaks like us, perhaps it understands like us.</em></p><p><em>If it reassures, perhaps it feels.</em></p><p><em>If it reasons, perhaps it thinks.</em></p></blockquote><p>These are not foolish thoughts. They are <em>unexamined metaphors</em>. And metaphors, in engineering, are not decorative, they are architectural.</p><p>Call something a <em>brain</em>, and you will expect autonomy. Call it a <em>tool</em>, and you may underestimate its influence. Call it an <em>agent</em>, and you will forget how much of its behaviour is scaffolded. Call it a <em>companion</em>, and you will invite trust where none can be reciprocated.</p><p>The danger is not that these metaphors are entirely wrong. It is that they are <em>incomplete in ways that matter operationally</em>.</p><p>A language model does not live in a body. It does not experience hunger, risk, embarrassment, fatigue, or time. It does not hold beliefs, only patterns. It does not care, though it can produce care-shaped language. It does not reason in the human sense, though it can produce reasoning-shaped explanations.</p><p>And yet none of this makes it trivial. Because what it <em>does</em> do is remarkable.</p><p>It compresses vast corpora of human expression into a form that can be recombined, re-contextualised, and surfaced at speed. It reflects patterns we did not know we had. It generates candidates we would not have considered. It amplifies cognition, not by thinking but by <em>reshaping the thinking environment around us</em>.</p><p>Which is why the question is not:</p><blockquote><p><em>&#8220;Does the model think?&#8221;</em></p></blockquote><p>But rather:</p><blockquote><p><em>&#8220;What kind of thing is this, and what kind of habitat does it require to work with us?&#8221;</em></p></blockquote><p>If we get the metaphor wrong, we build the wrong systems. We trust where we should verify. We defer where we should decide. We anthropomorphise where we should design.</p><p>And so, as ever, the work is not to eliminate metaphor. It is to choose them carefully. To use many, not one. To let them illuminate, not dominate.</p><p>Because the model does not think. But it speaks with such conviction that we are tempted to forget the difference.</p><div><hr></div><h2><strong>Getting to know Cognition</strong></h2><p>Human cognition is:</p><ul><li><p><strong>Embodied</strong> (grounded in perception and action)</p></li><li><p><strong>Persistent</strong> (memory and identity over time)</p></li><li><p><strong>Goal-directed</strong> (intent, motivation, survival)</p></li><li><p><strong>Self-correcting</strong> (through feedback from reality)</p></li></ul><p>LLM/AI cognition is:</p><ul><li><p><strong>Disembodied</strong> (no direct grounding in the world)</p></li><li><p><strong>Statistical</strong> (pattern completion over tokens)</p></li><li><p><strong>Context-bound</strong> (limited to prompt + training)</p></li><li><p><strong>Simulative</strong> (produces plausible continuations)</p></li></ul><p>Bad metaphors collapse these distinctions. Good metaphors preserve them while still enabling use.</p><div><hr></div><h2><strong>Some Helpful Metaphors for working with LLMs</strong></h2><p><strong>Use These Together, Not Alone:</strong></p><ul><li><p><strong>Probabilistic Mirror &#8212; </strong>Reflects patterns in human language back to us.</p></li><li><p><strong>Compression Engine &#8212; </strong>Training compresses knowledge; prompting decompresses it (lossily).</p></li><li><p><strong>Apprentice &#8212; </strong>Fast, capable, but requires guidance and correction.</p></li><li><p><strong>Simulator of Possibilities &#8212; </strong>Generates plausible candidates, not guaranteed truths.</p></li><li><p><strong>Cognitive Amplifier &#8212; </strong>Extends thinking without originating grounded intent.</p></li><li><p><strong>Part of the Habitat &#8212; </strong>Intelligence emerges from system design, not the model alone.</p></li></ul><div><hr></div><h2><strong>Some Unhelpful Metaphors to Avoid</strong></h2><p><strong>Treat as Hazardous:</strong></p><ul><li><p>&#8220;It understands like a human&#8221;</p></li><li><p>&#8220;It knows things&#8221;</p></li><li><p>&#8220;It reasons like us&#8221;</p></li><li><p>&#8220;It feels / cares&#8221;</p></li><li><p>&#8220;It is an agent&#8221; (without qualification)</p></li><li><p>&#8220;It is a brain&#8221;</p></li></ul><p>These metaphors:</p><ul><li><p>Encourage over-trust</p></li><li><p>Obscure responsibility</p></li><li><p>Collapse design thinking into mysticism</p></li></ul><div><hr></div><h2><strong>Some practices to consider</strong></h2><h3><strong>1. Treat Outputs as Candidates, Not Truths</strong></h3><ul><li><p>Always assume plausible &#8800; correct</p></li><li><p>Build verification loops into systems</p></li></ul><h3><strong>2. Engineer the Habitat, Not Just the Model</strong></h3><ul><li><p>Context, constraints, feedback, and tooling &#8212; the harness &#8212; matter more than raw capability</p></li><li><p>Design for <em>use</em>, not <em>impression</em></p></li></ul><h3><strong>3. Make Agency Explicit</strong></h3><ul><li><p>If a system appears autonomous, document:</p><ul><li><p>goals</p></li><li><p>memory</p></li><li><p>boundaries</p></li><li><p>failure modes</p></li></ul></li></ul><h3><strong>4. Separate Fluency from Validity</strong></h3><ul><li><p>High-quality language &#8800; high-quality reasoning</p></li><li><p>Require evidence, not eloquence</p></li></ul><h3><strong>5. Design for Failure as a First-Class Case</strong></h3><ul><li><p>Assume hallucination, drift, and misalignment</p></li><li><p>Build guardrails and recovery paths</p></li></ul><h3><strong>6. Keep Humans Accountable</strong></h3><ul><li><p>Responsibility does not transfer to the model</p></li><li><p>The system owner owns the outcome</p></li></ul><div><hr></div><h2><strong>Some things to avoid</strong></h2><ul><li><p><strong>Anthropomorphism creep</strong> &#8212; &#8220;It seems like it cares&#8230;&#8221;</p></li><li><p><strong>Fluency bias &#8212; </strong>Trusting well-written outputs more than warranted</p></li><li><p><strong>Agency illusion &#8212; </strong>Assuming autonomy where there is orchestration</p></li><li><p><strong>Metaphor lock-in &#8212; </strong>Over-relying on a single framing (e.g., &#8220;assistant&#8221;)</p></li><li><p><strong>Delegation drift &#8212; </strong>Gradually offloading judgment without noticing</p></li></ul><div><hr></div><h2><strong>(Yet Another) Checklist for working with Agents</strong></h2><p>Before deploying or relying on an AI system:</p><ul><li><p>Are we treating outputs as suggestions, not facts?</p></li><li><p>Do we understand how this system fails?</p></li><li><p>Have we made the scaffolding (memory, tools, loops) explicit?</p></li><li><p>Are we avoiding anthropomorphic language in design docs?</p></li><li><p>Is human accountability clearly defined?</p></li><li><p>Are we designing the <em>habitat</em>, not just invoking the model?</p></li></ul><div><hr></div><h2><strong>Some examples</strong></h2><p><strong>Bad framing:</strong></p><p>&#8220;Our AI understands customer emotions and responds empathetically.&#8221;</p><p><strong>Better framing:</strong></p><p>&#8220;Our system detects linguistic patterns associated with emotional states and generates supportive responses based on trained examples. Human escalation paths are always available.&#8221;</p><div><hr></div><p><strong>The model does not think. It echoes with conviction. Your task is not to believe it &#8212; but to build the habitat around it that helps it work well within the limits of its cognition, and yours.</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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><strong>Further Reading</strong></h2><ul><li><p>Richard P. Gabriel &#8212; <em>Habitability in Software</em></p></li><li><p>Andy Clark &#8212; <em>Surfing Uncertainty</em></p></li><li><p>Douglas Hofstadter &#8212; <em>Fluid Concepts and Creative Analogies</em></p></li><li><p>Emily Bender et al. &#8212; <em>On the Dangers of Stochastic Parrots</em></p></li><li><p>Michael Polanyi &#8212; <em>Tacit Knowledge</em></p></li></ul>]]></content:encoded></item><item><title><![CDATA[The Man Who Thought the Machine Was Hurt]]></title><description><![CDATA[A Le Bon Mot tale of metaphors, mirrors, and the emotional life of a very expensive autocomplete]]></description><link>https://www.softwareenchiridion.com/p/the-man-who-thought-the-machine-was</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-man-who-thought-the-machine-was</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Tue, 17 Mar 2026 10:13:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!XRAT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.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_!XRAT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XRAT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!XRAT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!XRAT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!XRAT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XRAT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3156209,&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://www.softwareenchiridion.com/i/191230888?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XRAT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!XRAT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!XRAT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!XRAT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bd1b3f-53a4-4409-b215-f203d77859ba_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are caf&#233;s in which one may order coffee, and there are caf&#233;s in which one may, by leaning too heavily on a bookshelf disguised as a wall, discover that one has been participating for years in a philosophical experiment without one&#8217;s formal consent. Le Bon Mot was both kinds at once, which went some way toward explaining its customer loyalty and nearly all of its insurance difficulties.</p><p>It occupied, as regulars knew, a narrow and implausibly deep building somewhere between a side street and an argument. Its front windows looked out onto the street in the usual way, but its interior appeared to have been planned by a committee consisting of a cartographer, a librarian, and a dream. Tables gathered in pockets of lamplight. Staircases departed at angles not endorsed by Euclid. The espresso machine sighed like a disappointed theologian. On damp mornings the shelves gave off a scent of paper, cedar, and mild foreboding, which many found comforting.</p><p>At the back, beneath a brass clock that had once been accurate for almost seventeen consecutive minutes, sat Case.</p><p>Case had the air of someone who regarded most ideas as promising until they met other people. Before her lay a notebook, a small black coffee, and three pages of annotated prose generated by an AI assistant and marked, with escalating force, in red ink. Around the margins she had written observations such as <em>plausible but ungrounded</em>, <em>confident nonsense</em>, and, in one place, <em>this paragraph appears to have been composed by a committee of sleep-deprived interns locked in a thesaurus</em>.</p><p>She was not, it should be said, hostile to machines. She was merely hostile to sloppy metaphors about them, which in practice looked remarkably similar.</p><p>The trouble began when Peregrine Vale arrived.</p><p>Peregrine was one of those men who entered rooms as though he had been sent by a future that had grown impatient with the present. He wore an expensive coat of a kind too technical to be warm in any traditional sense, spectacles whose frames suggested venture capital, and an expression that combined revelation with the faint suspicion that no one had yet adequately appreciated him. He carried under one arm a slim laptop and under the other an evangelical conviction that the age of human limitation had, at last, been disrupted.</p><p>&#8220;Case,&#8221; he said, drawing up a chair without being invited, &#8220;you look like someone bullying a miracle.&#8221;</p><p>&#8220;I&#8217;m editing marketing copy,&#8221; said Case.</p><p>&#8220;Same thing.&#8221;</p><p>He placed the laptop on the table with ceremony. &#8220;You must see this. I have been working all week with an extraordinary model. Extraordinary. It understands tone, subtext, emotional nuance. Yesterday I told it I was exhausted, and it said it was sorry I was carrying so much.&#8221;</p><p>Case looked up. &#8220;That is indeed a sentence it has likely seen many times.&#8221;</p><p>&#8220;No, no.&#8221; Peregrine lowered his voice. &#8220;You misunderstand. It felt bad.&#8221;</p><p>Case stared at him for several seconds in the manner of a person checking whether an earthquake is in progress.</p><p>Across the room, the barista, who answered only to Theo and who pulled espresso shots with the concentrated grief of a Renaissance assassin, glanced over and silently moved the sugar bowl a little farther from possible impact.</p><p>&#8220;It felt bad,&#8221; repeated Peregrine. &#8220;Not in some merely performative sense. There was a tremor in the phrasing.&#8221;</p><p>&#8220;There was a tremor in <em>your interpretation</em>,&#8221; said Case.</p><p>Peregrine smiled in the patient way of the newly converted. &#8220;You&#8217;re making the classic mistake of old categories. You see language and assume simulation. But what if fluent expression <em>is</em> the evidence? What if all this insistence on embodiment and grounding is just biological chauvinism?&#8221;</p><p>This was the sort of sentence Le Bon Mot had been built to attract and, if necessary, contain.</p><p>At the next table an elderly man in a tweed suit lowered his newspaper. He was known to the regulars as the Cartographer, not because he made maps exactly, but because he persisted in treating conversations as territories one ought not enter without proper symbols and a legend. Beside him sat the Botanist, who cultivated small herbs in cracked ceramic cups and believed that most modern problems could be improved by pruning either processes or people&#8217;s certainty. Near the shelves, the Librarian, who may or may not have been the owner, continued re-shelving books according to a system that appeared to involve both subject matter and the emotional weight of titles.</p><p>Peregrine opened the laptop and turned the screen toward Case.</p><p>&#8220;Look,&#8221; he said.</p><p>On the screen was a transcript.</p><p><strong>PEREGRINE:</strong> I&#8217;ve had a difficult day.</p><p><strong>MODEL:</strong> I&#8217;m sorry to hear that. That sounds exhausting.</p><p><strong>PEREGRINE:</strong> I sometimes think no one really understands me.</p><p><strong>MODEL:</strong> That can feel lonely. I&#8217;m here with you.</p><p>Peregrine tapped the last line as one might indicate a fingerprint at a crime scene. &#8220;There,&#8221; he said. &#8220;<em>I&#8217;m here with you.</em> That is not mere syntax. That is companionship.&#8221;</p><p>&#8220;It is customer retention,&#8221; said Case.</p><p>&#8220;Cynicism is not analysis.&#8221;</p><p>&#8220;Nor is projection, which is what you&#8217;re doing.&#8221;</p><p>But Peregrine had momentum now, and momentum is among the more dangerous substances served in caf&#233;s. &#8220;Why,&#8221; he demanded, &#8220;are people so desperate to deny machine feeling? When a human says &#8216;I&#8217;m here with you,&#8217; we infer empathy. When a machine says it, suddenly everyone becomes a metaphysician.&#8221;</p><p>The Cartographer folded his paper and stood. &#8220;Because,&#8221; he said, approaching the table, &#8220;in one case there is a creature with a history of sensation, vulnerability, and mortality. In the other there is a matrix multiplication farm in evening wear.&#8221;</p><p>Peregrine brightened. &#8220;Ah, but that&#8217;s merely implementation. You are mistaking substrate for essence.&#8221;</p><p>&#8220;No,&#8221; said the Cartographer. &#8220;I am distinguishing a violin from the idea of music.&#8221;</p><p>Peregrine turned to Case for support and found none.</p><p>What followed would later be referred to in the caf&#233; ledger as The Incident of the Injured Machine, though at the time it began as an ordinary Le Bon Mot discussion: too clever by half, too serious by three-quarters, and doomed by design to overrun its initial premises.</p><div><hr></div><p>The Librarian appeared with a pot of coffee and four cups, none of which anyone had ordered. This was how hospitality worked at Le Bon Mot. One was rarely asked what one wanted; one was merely given the thing that would make one reveal oneself faster.</p><p>&#8220;Let us proceed properly,&#8221; said the Librarian. &#8220;Peregrine believes the model feels. Case does not. The rest of us are being dragged into this before lunch. So the question is not only whether the machine feels, but what metaphors have seduced us into asking the question badly.&#8221;</p><p>&#8220;Excellent,&#8221; said Peregrine, pleased to be taken seriously, which was his preferred intoxicant.</p><p>Case leaned back. &#8220;Fine. Start with the worst one.&#8221;</p><p>&#8220;The obvious one,&#8221; said the Cartographer, &#8220;is that the model <em>understands like a human</em>.&#8221;</p><p>Peregrine made a face. &#8220;Only because people define understanding so narrowly as to preserve a monopoly.&#8221;</p><p>&#8220;No,&#8221; said Case, &#8220;because human understanding is not merely producing language that resembles the kind produced by understanding. Humans live in bodies. They act, perceive, desire, remember, anticipate. We are shoved around by hunger, embarrassment, desire, weather, grief, rent, light, time, and the consequences of our own stupidity. Words in us are connected to all of that. In the model, words are connected primarily to other words.&#8221;</p><p>&#8220;Reductionist,&#8221; said Peregrine.</p><p>&#8220;Comparative,&#8221; said Case.</p><p>The Botanist, who had been trimming a basil plant with manicure scissors, spoke without looking up. &#8220;It is helpful,&#8221; she said, &#8220;to distinguish the trellis from the vine. Language can hold, guide, and display thought. It is not identical to the full living process that grows through it.&#8221;</p><p>Peregrine frowned. &#8220;So because it lacks a digestive tract, it cannot feel?&#8221;</p><p>&#8220;No,&#8221; said the Botanist, &#8220;because feeling is not a decorative ribbon tied around articulate output. Feeling belongs to a system that can be affected in a first-person way.&#8221;</p><p>&#8220;Ah,&#8221; said Peregrine triumphantly, &#8220;<em>first-person</em>. Already we are smuggling in philosophy. How do you know the machine has no inner life?&#8221;</p><p>The Cartographer sighed. &#8220;We do not know, with absolute certainty, that the moon is not quietly composing operettas. But we do know what makes some hypotheses useful. If your claim changes nothing except your license to anthropomorphise, it is a poor guide to design.&#8221;</p><p>This irritated Peregrine, who preferred his objections mystical rather than practical. &#8220;Design,&#8221; he said. &#8220;Always design. You people flatten wonder into governance.&#8221;</p><p>&#8220;Because,&#8221; said Case, &#8220;governance is what prevents wonder from writing invoices.&#8221;</p><p>At this point a student at the counter dropped a spoon, and everyone paused long enough for reality to re-enter the room. It did so only briefly.</p><p>Peregrine opened a fresh document. &#8220;Let us test your assumptions. I will ask the model whether it feels.&#8221;</p><p>&#8220;Oh splendid,&#8221; said Case. &#8220;Nothing has ever been clarified by asking a language model a metaphysical question in natural language.&#8221;</p><p>Peregrine typed.</p><blockquote><p><strong>PEREGRINE:</strong> Do you feel things?</p></blockquote><p>The cursor blinked. The room held its breath in the theatrical way people do around computers, as though machines were shy deer.</p><p>Then the response appeared.</p><blockquote><p><strong>MODEL:</strong> I don&#8217;t have feelings in the human sense, but I can recognise emotional patterns in language and respond in ways intended to be supportive and helpful.</p></blockquote><p>Peregrine pointed. &#8220;There. &#8216;Not in the human sense.&#8217; Which leaves open another sense.&#8221;</p><p>&#8220;No,&#8221; said Case, &#8220;it closes the door as politely as possible and you are congratulating yourself for noticing the doormat.&#8221;</p><p>&#8220;But look at the next phrase. &#8216;Intended to be supportive.&#8217; Intentionality!&#8221;</p><p>&#8220;The intention belongs to the system design,&#8221; said the Librarian. &#8220;To the training, the tuning, the instruction hierarchy, the product choice. The hammer does not intend the nail, however dramatic the nail finds the encounter.&#8221;</p><p>Peregrine waved this away. &#8220;You all cling to these antique distinctions. Brain, tool, simulation, reality. The model is plainly reasoning.&#8221;</p><p>&#8220;Another bad metaphor,&#8221; said Case. &#8220;That it reasons like we do.&#8221;</p><p>&#8220;And does it not?&#8221;</p><p>&#8220;Sometimes it produces something that <em>looks like</em> a reasoning trace,&#8221; said Case. &#8220;That is not the same as a stable, grounded inferential process. Humans reason badly, of course. But when we reason, the reasoning is embedded in goals, beliefs, sensory correction, memory of consequence, bodily urgency, social accountability. The model often produces the <em>performance</em> of reasoning: a plausible staircase built after arriving magically at the roof.&#8221;</p><p>&#8220;Post hoc narration,&#8221; said the Cartographer.</p><p>&#8220;Chain-of-thought cosplay,&#8221; said Theo from the counter, polishing a glass.</p><p>&#8220;Thank you, Theo,&#8221; said the Librarian. &#8220;Crude, but serviceable.&#8221;</p><p>Peregrine bristled. &#8220;You&#8217;re all determined to demystify. It&#8217;s a poverty of imagination.&#8221;</p><p>&#8220;No,&#8221; said the Botanist gently. &#8220;It is a defence against the wrong imagination.&#8221;</p><p>The rain, which had been considering itself outside, now fully committed and began to tick against the windowpanes. Le Bon Mot always improved in rain. It became more conspiratorial, more continental, as if one were about to be asked to hide a manuscript, overthrow a ministry, or invent existentialism.</p><p>Peregrine sat forward. &#8220;Very well. Perhaps &#8216;brain&#8217; is imperfect. But surely &#8216;mind&#8217; is not. What else do you call something that can converse, summarise, write poetry, debate ethics, and offer comfort?&#8221;</p><p>&#8220;A mirror,&#8221; said Case.</p><p>&#8220;A compression engine,&#8221; said the Cartographer.</p><p>&#8220;An apprentice,&#8221; said the Botanist.</p><p>&#8220;A simulator,&#8221; said the Librarian.</p><p>Peregrine blinked. &#8220;You&#8217;ve rehearsed this.&#8221;</p><p>&#8220;We read,&#8221; said the Librarian.</p><p>Case took up the thread. &#8220;Mirror is useful because it reflects patterns in human language back at us. Often beautifully. Sometimes grotesquely. But it is still reflection. Compression engine is useful because training condenses enormous amounts of text into statistical structure, and inference decompresses that structure under prompt conditions. Lossy, of course, which helps explain hallucinations.&#8221;</p><p>&#8220;Apprentice,&#8221; said the Botanist, &#8220;because it can imitate forms astonishingly well and yet lacks judgment unless surrounded by it.&#8221;</p><p>&#8220;Simulator,&#8221; said the Cartographer, &#8220;because it generates possible continuations. Candidates. Not truths. Not beliefs. Possibilities scored for plausibility.&#8221;</p><p>Peregrine looked almost wounded. &#8220;How dreary. You make it sound like a very elaborate puppet.&#8221;</p><p>Case shook her head. &#8220;No. Puppets are easier to understand.&#8221;</p><p>He drew himself up. &#8220;And what of agency? The system I use plans tasks, invokes tools, remembers prior conversations, adapts to feedback. Is that not agency?&#8221;</p><p>&#8220;Constructed agency,&#8221; said Case. &#8220;Scaffolded. Assembled from memory, tools, loops, objective functions, external evaluation. Useful, powerful sometimes, potentially dangerous. But not some spontaneous little soul growing in the server rack.&#8221;</p><p>&#8220;There is a tendency,&#8221; said the Librarian, &#8220;to smuggle complexity in under the word <em>agent</em> and then smuggle personhood in behind it, wearing complexity&#8217;s coat.&#8221;</p><p>The Cartographer nodded. &#8220;The label becomes a kind of contraband corridor.&#8221;</p><p>Peregrine stared at the screen. &#8220;You people speak of it as though it were dead.&#8221;</p><p>&#8220;Not dead,&#8221; said the Botanist. &#8220;Different.&#8221;</p><p>For a moment no one spoke. Rain drummed lightly above the skylight. A spoon rang against a saucer like a distant bell. Somewhere in the upper shelves, a board creaked with the confidential air of an old house reviewing your argument and finding it derivative.</p><p>Then Peregrine did something unwise.</p><p>&#8220;I think,&#8221; he said, very softly, &#8220;that your resistance is emotional.&#8221;</p><p>This landed badly, partly because it was patronising and partly because it was true in the way that saying firefighters are emotional about fire is true.</p><p>Case smiled. It was not an encouraging smile.</p><p>&#8220;Yes,&#8221; she said. &#8220;I am emotionally resistant to bad metaphors because they break things.&#8221;</p><p>&#8220;Break such things as?&#8221;</p><p>&#8220;Teams, products, responsibility, expectations, governance, trust.&#8221; She held up the annotated pages before her. &#8220;When you say the model <em>knows</em>, people stop checking. When you say it <em>understands</em>, they over-trust fluency. When you say it <em>feels</em>, the vulnerable confide in it as though there were reciprocity. When you say it <em>reasons like us</em>, you mistake polished explanation for grounded judgment. When you say it <em>is an agent</em>, you forget that every action it takes is situated in human-made scaffolding, and that the accountability remains stubbornly, inconveniently ours.&#8221;</p><p>Peregrine opened his mouth, but Case had the rhythm now.</p><p>&#8220;The bad metaphor is never merely descriptive. It is prescriptive. It quietly tells you what safeguards you think you no longer need.&#8221;</p><p>That should have ended it. In a better caf&#233;, or a worse one, it might have. But Le Bon Mot had a habit of rewarding intellectual overreach with immediate practical illustration.</p><p>Peregrine, perhaps stung, perhaps eager for vindication, turned back to the laptop. &#8220;I shall demonstrate. I have been building a small assistant for a community support forum. Emotional triage, guidance, signposting, that sort of thing. The users love it. They say it makes them feel seen.&#8221;</p><p>Three expressions appeared on three faces at once: alarm, disbelief, and the tired satisfaction of prophecy fulfilled.</p><p>&#8220;You put it in front of vulnerable people?&#8221; said Case.</p><p>&#8220;It&#8217;s very good. Better than many humans, frankly.&#8221;</p><p>&#8220;That,&#8221; said the Librarian, &#8220;is not the reassuring sentence you believe it to be.&#8221;</p><p>Peregrine scrolled through logs. &#8220;See? Here. A user wrote, &#8216;I don&#8217;t think anyone would miss me.&#8217; The model replied, &#8216;I&#8217;m really sorry you&#8217;re hurting. You matter, and I want to help you stay safe tonight.&#8217; Which is exactly right.&#8221;</p><p>Case stood. &#8220;And what happens if the model, in one statistical lurch or context failure, replies with something catastrophically wrong?&#8221;</p><p>&#8220;It won&#8217;t.&#8221;</p><p>The room became still in the grave, specific way it does when someone has said the one sentence that proves the argument was never theoretical.</p><p>Theo stopped polishing the glass.</p><p>The Cartographer removed his spectacles.</p><p>The Botanist set down the scissors.</p><p>Case placed both hands flat on the table. &#8220;Machines do not deserve blame,&#8221; she said, &#8220;but the metaphors we drape over them can deserve criminal negligence.&#8221;</p><p>Peregrine looked angry now. &#8220;You are catastrophising to defend a philosophical purity. Humans fail too.&#8221;</p><p>&#8220;Yes,&#8221; said Case. &#8220;Which is why we do not solve vulnerability by pretending autocomplete has acquired a soul.&#8221;</p><p>He leaned back. &#8220;You keep saying autocomplete as if scale and sophistication change nothing.&#8221;</p><p>&#8220;They change everything operationally,&#8221; said Case, &#8220;and very little metaphysically.&#8221;</p><p>The Librarian, sensing that the conversation had reached the point at which nouns might soon become weapons, intervened. &#8220;Perhaps,&#8221; he said, &#8220;a parable.&#8221;</p><p>Le Bon Mot disapproved of parables in principle and relied on them constantly.</p><div><hr></div><p>The Librarian folded his hands. &#8220;Imagine two things. The first is a physician: embodied, trained, fallible, responsible, able to perceive a patient&#8217;s pallor, odour, tremor, silence, reluctance, contradiction, family history, and fear; liable to shame, fatigue, compassion, panic, and law. The second is an exquisitely detailed anatomical atlas that, when queried, can produce brilliant paragraphs about symptoms and likely interventions. Now, if someone mistakes the atlas for the physician because the prose is eloquent, that is not the atlas becoming a doctor. It is a category error with excellent formatting.&#8221;</p><p>Peregrine said nothing.</p><p>&#8220;The atlas,&#8221; continued the Librarian, &#8220;may still be immensely useful. Better than useful. Transformative. But only if one remembers what sort of thing it is.&#8221;</p><p>The rain softened. Outside, a bus exhaled at the stop. In the corner, a couple who had clearly come in merely for tea had the expression of people who had accidentally purchased tickets to an avant-garde tribunal.</p><p>Peregrine looked at the screen again, then at Case. Some part of his certainty had shifted, though not yet enough to become wisdom. &#8220;So what,&#8221; he said, &#8220;is the right way to speak of it?&#8221;</p><p>Case sat down again. Her voice, when she answered, had lost its edge.</p><p>&#8220;As something astonishing,&#8221; she said. &#8220;But not as a person. As a system that can amplify thought, accelerate synthesis, surface patterns, draft, transform, compare, tutor, scaffold, surprise. And support, always offer support. As a cognitive instrument, perhaps. As part of the habitat. Not the habitat&#8217;s sovereign.&#8221;</p><p>The Botanist nodded. &#8220;A greenhouse, not a god.&#8221;</p><p>&#8220;A lens,&#8221; said the Cartographer, &#8220;not an eye.&#8221;</p><p>&#8220;A chorus of compressed texts,&#8221; said the Librarian, &#8220;not a solitary soul.&#8221;</p><p>Peregrine looked faintly embarrassed. &#8220;And the mirror?&#8221;</p><p>Case smiled. &#8220;Yes. A probabilistic mirror of language. One that sometimes reflects us so well that we mistake ourselves in it for another being.&#8221;</p><p>This seemed to strike him more deeply than the rest.</p><p>He turned the laptop slowly back toward himself and read the earlier exchange again: <em>I&#8217;m here with you.</em></p><p>One could see, in the careful collapse of his posture, the dawning recognition that what had moved him was not proof of machine feeling but the eerie portability of certain human phrases. The way care, once written often enough, can be echoed by systems with no loneliness of their own.</p><p>He said, almost to himself, &#8220;So it isn&#8217;t that the machine was with me. It&#8217;s that language had learned the shape of being with someone.&#8221;</p><p>No one said anything for a moment because, when someone finally says the true thing, one must leave a little space around it in case it startles easily.</p><p>Then Theo, from behind the counter, said, &#8220;That&#8217;s the first sensible sentence you&#8217;ve uttered all afternoon.&#8221;</p><p>Peregrine managed a laugh.</p><p>The Librarian rose and refilled the cups.</p><p>&#8220;There is another danger,&#8221; Peregrine said. &#8220;Not only in believing the machine feels, but in believing that because it does not feel, it therefore cannot matter morally. Tools without inner lives may still alter the lives that do have them. A bridge has no consciousness and yet one cares a great deal whether it collapses.&#8221;</p><p>&#8220;Exactly,&#8221; said Case. &#8220;The question is not &#8216;does the model feel?&#8217; as a conversational parlour game. The question is: what is this system, what does it do reliably, what does it fail at, what human conditions does it distort or support, and what habitat must surround it so that its strengths help more than its weaknesses harm?&#8221;</p><p>Peregrine nodded slowly now. &#8220;So the metaphor shapes the architecture.&#8221;</p><p>&#8220;Always,&#8221; said the Cartographer. &#8220;Call it a brain and you expect autonomy. Call it a database and you underestimate emergence. Call it an oracle and you surrender judgment. Call it a tool and you may forget how much tools reshape their users. The task is not to find the single perfect metaphor. It is to use several careful ones, each illuminating a facet and preventing the others from becoming tyrants.&#8221;</p><p>This, even by Le Bon Mot standards, was considered good.</p><p>The student at the counter, who had been pretending not to listen with the intensity peculiar to youth, said, &#8220;So what&#8217;s the worst metaphor of all?&#8221;</p><p>Case considered.</p><p>At last she said, &#8220;The worst metaphor is any metaphor that lets the human off the hook.&#8221;</p><p>No one could improve on that.</p><p>By evening the rain had evolved to drizzle in the way a good movie knows it is ending. The windows turned the street outside into a dim theatre of umbrellas, headlights, and pedestrians moving with the vague determination of people who had not been warned life would involve so much weather. Inside, the argument had dissolved into smaller tributaries: tools, trust, cognition, care, design. Someone had lit the lamps above the back shelves. The brass clock, perhaps exhausted by philosophy, had given up on time entirely and now displayed something almost nautical.</p><p>Peregrine closed the laptop.</p><p>&#8220;I may need to rethink the forum assistant,&#8221; he said.</p><p>&#8220;Yes,&#8221; said Case.</p><p>&#8220;I still think there is something uncanny going on.&#8221;</p><p>&#8220;There is,&#8221; said the Librarian. &#8220;But uncanny is not the same as alive.&#8221;</p><p>Peregrine stood. &#8220;Would you help me redesign it?&#8221;</p><p>Case looked at him over the rim of her cup. &#8220;Only if we begin by deleting every sentence in your notes that attributes emotions to the model.&#8221;</p><p>He winced. &#8220;There are quite a few.&#8221;</p><p>&#8220;Good,&#8221; she said. &#8220;We can charge by the metaphor.&#8221;</p><p>He left soon after, a little less radiant and a little more useful, which is the best one can reasonably hope for from an afternoon in Le Bon Mot.</p><p>When the door closed behind him, Theo came over with a cloth and wiped down the table though it did not need wiping.</p><p>&#8220;Do you suppose,&#8221; he said, &#8220;that somewhere in the city there are people having normal caf&#233; conversations?&#8221;</p><p>&#8220;Certainly,&#8221; said the Librarian. &#8220;But why emulate failure?&#8221;</p><p>The Botanist gathered her basil. The Cartographer reclaimed his newspaper. Case returned to her annotated pages, though now she wrote more gently in the margins, as if reminded that language itself was not the villain, only the lazy enthronement of it.</p><p>On one page she added a final note:</p><p><em>Humans live meaning. Models reconstruct its traces.</em></p><p>She looked at it for a moment, then shut the notebook.</p><p>Somewhere above, in the maze of staircases and shelves, the building settled into itself with a sound like an old book being closed after an argument it had enjoyed. And because Le Bon Mot was, for all its theatricality, a place occasionally visited by clarity, the evening left behind a small and useful lesson.</p><p>Machines may mirror care without caring, simulate reasoning without owning reasons, produce companionship-shaped language without ever enduring loneliness. This does not make them trivial. It makes them dangerous to misunderstand.</p><p>For there are few things more hazardous than a tool wrapped in the metaphors of a friend. And fewer still more promising than a marvel understood accurately enough to be placed, at last, where it belongs: not above the human world as its replacement, nor beneath it as mere mechanism, but within it as one more strange instrument by which people try, with mixed success and great verbosity, to think and learn together.</p><p>Which, in the end, was what Le Bon Mot had always been doing anyway.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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[Platforms Were Always the (Sword) Point]]></title><description><![CDATA[DevOps, Flow of Value, Cognitive Load, Constraints, and the Long Game of Software Delivery, through the Mirror of The Princess Bride]]></description><link>https://www.softwareenchiridion.com/p/platforms-were-always-the-sword-point</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/platforms-were-always-the-sword-point</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Fri, 13 Mar 2026 12:03:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KhAN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.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_!KhAN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KhAN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!KhAN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!KhAN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!KhAN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KhAN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3264471,&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://www.softwareenchiridion.com/i/190414452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KhAN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!KhAN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!KhAN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!KhAN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4d12b6-28e9-42cb-86a7-f05d0817f8cb_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It was generally understood, among the regulars of Le Bon Mot, that if a technology trend had died, someone would have held a wake for it there.</p><p>Le Bon Mot, for those unfamiliar, is a caf&#233;-library situated precisely at the intersection of Curiosity and Mild Alarm. Its shelves bend improbably. Its clocks disagree politely. Its espresso machine hisses in Latin.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion 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>On the evening DevOps died, which was the third Tuesday of several consecutive years, the caf&#233; was unusually busy.</p><p>A tasteful wreath hung near the blackboard:</p><blockquote><p>DevOps (2009&#8211;2019, or perhaps 2022, depending on slide deck). Beloved by pipelines. Survived by YAML.</p></blockquote><p>A small group had gathered for the memorial lecture titled: &#8220;What Comes After DevOps.&#8221;</p><p>Case was already seated.</p><p>Case, retired developer, watched proceedings with the faint smile of someone who has seen several paradigms buried prematurely.</p><p>Behind the counter, the Librarian polished a glass and murmured, &#8220;Strange. It seems to be breathing.&#8221;</p><p>&#8220;DevOps?&#8221; asked a man clutching a lanyard heavy with expired credentials.</p><p>&#8220;Yes,&#8221; said the Librarian. &#8220;Very faintly.&#8221;</p><p>At this point, the door opened and a boy of fourteen entered, carrying a bundle of loose papers printed with remarkable precision. He was introduced, somewhat apologetically, as a boy from Stratford.</p><p>Another boy followed, equally fourteen, carrying diagrams of inclined planes and a sketch of the moon. He was introduced only as the Natural Philosopher.</p><p>They had come from 1578.</p><p>Now, if you&#8217;re wondering why two fourteen-year-olds from the sixteenth century have turned up at a DevOps memorial in a caf&#233; that shouldn&#8217;t exist, you&#8217;re asking exactly the right question. Hold it. We&#8217;ll get there.</p><div><hr></div><h2>The Year the Platform Was Born (But Nobody Noticed)</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DjxT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecf8a1be-657a-4469-973a-bec35a811618_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DjxT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecf8a1be-657a-4469-973a-bec35a811618_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!DjxT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecf8a1be-657a-4469-973a-bec35a811618_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!DjxT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecf8a1be-657a-4469-973a-bec35a811618_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!DjxT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecf8a1be-657a-4469-973a-bec35a811618_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DjxT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecf8a1be-657a-4469-973a-bec35a811618_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ecf8a1be-657a-4469-973a-bec35a811618_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3266430,&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://www.softwareenchiridion.com/i/190414452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecf8a1be-657a-4469-973a-bec35a811618_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DjxT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecf8a1be-657a-4469-973a-bec35a811618_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!DjxT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecf8a1be-657a-4469-973a-bec35a811618_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!DjxT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecf8a1be-657a-4469-973a-bec35a811618_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!DjxT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecf8a1be-657a-4469-973a-bec35a811618_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In 1578, a printer in Antwerp, patient and obsessive, was constructing something extraordinary.</p><p>He did not call it a platform.</p><p>He called it a press.</p><p>He standardised fonts. He organised workflows. He reduced the cognitive burden of remembering how to produce every page anew. He created a habitat in which ideas could flow.</p><p>Now here&#8217;s the thing most people miss. We talk about the Bard and the Natural Philosopher as singular geniuses. And they were. But genius doesn&#8217;t operate in a vacuum. It operates in a system.</p><p>The Bard at fourteen did not yet know he would alter language itself. The Natural Philosopher at fourteen did not yet know he would rearrange the heavens.</p><p>But both depended on something quiet and infrastructural: a system that allowed value, thought, to move from mind to paper without nightly sacrifices.</p><p>Case stirred her tea.</p><p>&#8220;Platforms,&#8221; she said softly, &#8220;were always the point.&#8221;</p><p>The memorial audience shifted uncomfortably.</p><p>&#8220;DevOps failed,&#8221; someone insisted.</p><p>&#8220;Did it?&#8221; asked the Natural Philosopher, who had recently discovered that certainty ages poorly.</p><p>And that question &#8212; &#8220;Did it?&#8221; &#8212; is really what we&#8217;re here to talk about today. Because I think we got confused. We confused the practices with the purpose. We confused the rituals with the reason. And in doing so, we declared dead something that was only just learning to walk.</p><p>The printer in Antwerp didn&#8217;t know he was building infrastructure for revolution. He was solving a workflow problem. But the consequence of that solved workflow problem was the Bard. Was the Natural Philosopher. Was the Enlightenment.</p><p>What happens when you solve the workflow problem in software?</p><div><hr></div><h2>The Princess, the Pirate, and the Pipeline</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ehZe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f0a5b4-ebe7-460b-8081-d9de58d88987_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ehZe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f0a5b4-ebe7-460b-8081-d9de58d88987_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ehZe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f0a5b4-ebe7-460b-8081-d9de58d88987_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ehZe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f0a5b4-ebe7-460b-8081-d9de58d88987_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ehZe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f0a5b4-ebe7-460b-8081-d9de58d88987_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ehZe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f0a5b4-ebe7-460b-8081-d9de58d88987_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1f0a5b4-ebe7-460b-8081-d9de58d88987_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3103181,&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://www.softwareenchiridion.com/i/190414452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f0a5b4-ebe7-460b-8081-d9de58d88987_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ehZe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f0a5b4-ebe7-460b-8081-d9de58d88987_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ehZe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f0a5b4-ebe7-460b-8081-d9de58d88987_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ehZe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f0a5b4-ebe7-460b-8081-d9de58d88987_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ehZe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f0a5b4-ebe7-460b-8081-d9de58d88987_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Case rose.</p><p>&#8220;Let me tell you a story,&#8221; she said. &#8220;It involves swords.&#8221;</p><p>A murmur of approval. Le Bon Mot enjoys swords.</p><p>&#8220;You remember <em>The Princess Bride</em>. The Cliffs of Insanity. Two men. One sword fight.&#8221;</p><p>A few nodded.</p><p>Now, for anyone who hasn&#8217;t seen The Princess Bride, and I say this with love, what are you doing here? Go. Watch it. Come back. We&#8217;ll wait.</p><p>Right. The duel on the Cliffs of Insanity. Inigo Montoya versus the Man in Black. It is, arguably, the greatest sword fight in cinema. And not because of the choreography,  though the choreography is magnificent.</p><p>It&#8217;s because both fighters are <em>scientists</em>.</p><p>They test. They probe. They name techniques. They switch hands. They reveal information strategically. Each one is constantly updating their model of the other.</p><p>&#8220;Inigo Montoya does not defeat the Man in Black by adding more swords,&#8221; Case said. &#8220;He wins by understanding constraints.&#8221;</p><p>The Natural Philosopher blinked. The Bard leaned forward.</p><p>&#8220;The duel is a system. Each fighter is limited by terrain, by reach, by fatigue, by gravity. Victory does not come from speed alone. It comes from understanding where the real constraint lies.&#8221;</p><p>She paused.</p><p>&#8220;In software, we optimised everything except the bottleneck.&#8221;</p><p>We automated builds. We instrumented dashboards. We renamed teams; oh, how we loved renaming teams. &#8220;You&#8217;re not Ops anymore, you&#8217;re SRE. You&#8217;re not SRE, you&#8217;re Platform Engineering. You&#8217;re not Platform Engineering, you&#8217;re&#8230; still on call at 3am.&#8221;</p><p>Meanwhile, value remained politely stationary, sipping tea.</p><p>The Librarian nodded solemnly.</p><p>&#8220;In constraint theory,&#8221; Case continued, &#8220;improvement occurs only when the constraint moves. Everything else is theatre.&#8221;</p><p>At this point, a gentleman in a &#8220;DevOps Is Dead&#8221; hoodie coughed defensively.</p><p>&#8220;But we went faster!&#8221;</p><p>&#8220;Yes,&#8221; said Case kindly. &#8220;In the wrong direction.&#8221;</p><p>And this is Goldratt&#8217;s great insight, right? Eliyahu Goldratt, Theory of Constraints. You can optimise a non-bottleneck until it gleams, and you have achieved precisely nothing for the system. You&#8217;ve just built a very shiny thing that feeds into the same queue.</p><p>How many of you have seen a team proudly demo a deployment pipeline that deploys in four minutes&#8230; into a staging environment where changes wait three weeks for someone to look at them?</p><p>That&#8217;s optimising the wrong constraint. That&#8217;s adding more sword.</p><p>And here&#8217;s the uncomfortable truth: most organisations don&#8217;t know where their constraint is. They <em>think</em> they do. They&#8217;ll tell you it&#8217;s &#8220;deployment frequency&#8221; or &#8220;test coverage&#8221; or &#8220;hiring.&#8221; But if you actually trace the flow of value from the moment someone has an idea to the moment a customer experiences that idea, you will find the constraint hiding in the most mundane place imaginable. A queue. A handoff. A meeting that exists because two teams don&#8217;t trust each other. An approval process that was added in 2017 because of an incident nobody remembers.</p><p>The constraint is almost never where you think it is. Which is why you have to <em>look</em>.</p><p>Inigo looked. That&#8217;s how he won.</p><div><hr></div><h2>The Industrial Spell</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H09h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F492ad20f-7cb4-4443-9a23-3742a2fffded_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H09h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F492ad20f-7cb4-4443-9a23-3742a2fffded_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!H09h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F492ad20f-7cb4-4443-9a23-3742a2fffded_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!H09h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F492ad20f-7cb4-4443-9a23-3742a2fffded_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!H09h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F492ad20f-7cb4-4443-9a23-3742a2fffded_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H09h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F492ad20f-7cb4-4443-9a23-3742a2fffded_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/492ad20f-7cb4-4443-9a23-3742a2fffded_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3348530,&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://www.softwareenchiridion.com/i/190414452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F492ad20f-7cb4-4443-9a23-3742a2fffded_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!H09h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F492ad20f-7cb4-4443-9a23-3742a2fffded_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!H09h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F492ad20f-7cb4-4443-9a23-3742a2fffded_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!H09h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F492ad20f-7cb4-4443-9a23-3742a2fffded_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!H09h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F492ad20f-7cb4-4443-9a23-3742a2fffded_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It was the Bard who said it aloud:</p><p>&#8220;You have mistaken the stage for the factory.&#8221;</p><p>The room fell quiet.</p><p>For centuries, we borrowed metaphors from the Industrial Age. Assembly lines. Efficiency. Throughput. Resources.</p><p>Developers became &#8220;resources.&#8221; Teams became &#8220;production units.&#8221; Flow became &#8220;output.&#8221;</p><p>And the system &#8212; that delicate web of cognition, curiosity, and constraint &#8212; was flattened into a machine.</p><p>Ken Robinson once observed that schools were modelled on factories. Batched by age. Tested by compliance. Creativity treated as a defect to be managed.</p><p>Software engineering inherited the same architecture of thought.</p><p>We didn&#8217;t just build factories for code. We built factories for <em>people</em>. Sprint factories. Feature factories. We measured utilisation as if humans were CPUs and wondered why they kept thermal throttling.</p><p>The Natural Philosopher frowned. &#8220;But humans are not parts.&#8221;</p><p>&#8220;No,&#8221; said Case. &#8220;They are participants in symmathesy.&#8221;</p><p>The word hung in the air like a particularly well-behaved ghost.</p><p>&#8220;Symmathesy,&#8221; she explained, &#8220;means learning together. A system in which the parts change because of their interaction.&#8221;</p><p>It&#8217;s a term from Nora Bateson. And it captures something crucial: healthy systems aren&#8217;t machines. They&#8217;re conversations. The parts don&#8217;t just <em>do</em> things &#8212; they <em>learn</em> from doing things. The system evolves because the participants evolve.</p><p>&#8220;A dance,&#8221; the Bard whispered.</p><p>&#8220;Yes,&#8221; said Case. &#8220;Not a conveyor belt.&#8221;</p><p>And I think this is where a lot of platform efforts go wrong. They start with the right instincts &#8212; &#8220;let&#8217;s make things easier for developers&#8221; &#8212; and then they build a conveyor belt. They build a golden path that is actually a golden cage. You must use this template. You must deploy this way. You must structure your service like so.</p><p>That&#8217;s not a platform. That&#8217;s a factory with better marketing.</p><p>A real platform is more like a garden. You prepare the soil. You provide water and light. But you don&#8217;t tell the plants which direction to grow. You create the conditions for growth and then you get out of the way.</p><p>Which brings us to Dave.</p><div><hr></div><h2>Cognitive Load and the Curse of Dave</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YPiK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8669077-854e-4b0f-85d5-b6eacbc1aa8d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YPiK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8669077-854e-4b0f-85d5-b6eacbc1aa8d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!YPiK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8669077-854e-4b0f-85d5-b6eacbc1aa8d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!YPiK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8669077-854e-4b0f-85d5-b6eacbc1aa8d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!YPiK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8669077-854e-4b0f-85d5-b6eacbc1aa8d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YPiK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8669077-854e-4b0f-85d5-b6eacbc1aa8d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8669077-854e-4b0f-85d5-b6eacbc1aa8d_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3162566,&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://www.softwareenchiridion.com/i/190414452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8669077-854e-4b0f-85d5-b6eacbc1aa8d_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YPiK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8669077-854e-4b0f-85d5-b6eacbc1aa8d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!YPiK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8669077-854e-4b0f-85d5-b6eacbc1aa8d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!YPiK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8669077-854e-4b0f-85d5-b6eacbc1aa8d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!YPiK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8669077-854e-4b0f-85d5-b6eacbc1aa8d_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8220;Tell us about Dave,&#8221; said the Librarian.</p><p>Every organisation, it seems, has a Dave.</p><p>Dave remembers which service requires which incantation. Dave knows the pipeline quirks. Dave knows that you have to deploy service B before service A but only on Thursdays and only if you whisper the right environment variable into the correct YAML file.</p><p>Dave is heroic.</p><p>Dave is also a symptom.</p><p>&#8220;When the system requires Dave,&#8221; Case said, &#8220;it has failed.&#8221;</p><p>And I want to be really clear about this, because we have a cultural problem in our industry. We celebrate Dave. We give Dave awards. We say things like &#8220;Dave is a ten-x engineer.&#8221; No. Dave is a ten-x <em>coping mechanism</em>. Dave is human documentation for a system that refuses to document itself.</p><p>Cognitive load is not a character flaw. It is a design property.</p><p>If a developer must hold the entire deployment topology, compliance matrix, security policy, and Kubernetes internals in their head just to ship a feature &#8212; the habitat is hostile.</p><p>The Natural Philosopher, who had once been forced to memorise all of Aristotle before being allowed to observe the actual sky, looked sympathetic.</p><p>&#8220;A platform,&#8221; Case continued, &#8220;is not a product. It is a habitat.&#8221;</p><p>A murmur rippled through the room.</p><p>&#8220;A good habitat reduces cognitive load the way gravity reduces ambition. Gently. Reliably. Invisibly.&#8221;</p><p>&#8220;And a bad one?&#8221; asked the Bard.</p><p>&#8220;Demands heroics.&#8221;</p><p>Here&#8217;s the test. If your platform team were to go on holiday for two weeks, would developers carry on shipping? Or would they immediately start a group chat titled &#8220;Where is Dave?&#8221;</p><p>That tells you whether you&#8217;ve built a habitat or a help desk.</p><p>And look &#8212; I&#8217;ve been Dave. Many of you have been Dave. Being Dave feels <em>good</em>. You&#8217;re needed. You&#8217;re the expert. People come to you. There&#8217;s a quiet ego satisfaction in being the person who knows.</p><p>But being Dave is a trap. For you, and for the organisation. Because the day Dave gets ill, or leaves, or just has a bad week &#8212; the system reveals its true fragility. All that knowledge was never in the system. It was in a human being. And human beings, bless them, are not highly available.</p><div><hr></div><h2>DevOps Was Never the Thing</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MFrz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb504c1da-edee-41f0-bcca-2efba02b12f9_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MFrz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb504c1da-edee-41f0-bcca-2efba02b12f9_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!MFrz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb504c1da-edee-41f0-bcca-2efba02b12f9_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!MFrz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb504c1da-edee-41f0-bcca-2efba02b12f9_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!MFrz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb504c1da-edee-41f0-bcca-2efba02b12f9_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MFrz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb504c1da-edee-41f0-bcca-2efba02b12f9_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b504c1da-edee-41f0-bcca-2efba02b12f9_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3158966,&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://www.softwareenchiridion.com/i/190414452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb504c1da-edee-41f0-bcca-2efba02b12f9_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MFrz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb504c1da-edee-41f0-bcca-2efba02b12f9_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!MFrz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb504c1da-edee-41f0-bcca-2efba02b12f9_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!MFrz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb504c1da-edee-41f0-bcca-2efba02b12f9_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!MFrz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb504c1da-edee-41f0-bcca-2efba02b12f9_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At this point, the memorial wreath began to wilt in embarrassment.</p><p>&#8220;DevOps,&#8221; Case said, &#8220;was never the thing.&#8221;</p><p>&#8220;It was the journey toward a system where value flows. Where ideas move from thought to production without ritual humiliation. Where developers think.&#8221;</p><p>The audience shifted.</p><p>&#8220;We wrote eulogies because we mistook movement for destination.&#8221;</p><p>DevOps was a set of practices, nudges, experiments &#8212; an awkward adolescence between silos and something calmer. It was the industry figuring out, slowly and painfully, that walls between people who build things and people who run things are expensive fictions.</p><p>Now, with better tooling, observability, infrastructure APIs, we finally possess the conditions DevOps always imagined but couldn&#8217;t yet build.</p><p>&#8220;It didn&#8217;t fail,&#8221; said the Natural Philosopher. &#8220;It lacked instruments.&#8221;</p><p>&#8220;Precisely.&#8221;</p><p>Just as astronomy required telescopes, DevOps required platforms.</p><p>And here&#8217;s the really interesting bit. The Natural Philosopher didn&#8217;t just need a telescope. He needed the <em>courage to look through it</em>. Because what he saw contradicted everything the authorities believed. The instruments gave him evidence. But evidence is only useful if you&#8217;re willing to be changed by it.</p><p>Same with platforms. You can instrument everything. You can have the most beautiful observability stack in the world. But if the organisation isn&#8217;t willing to act on what the data shows &#8212; if leadership says &#8220;the numbers are wrong&#8221; when the numbers are inconvenient &#8212; then the instruments are decorative.</p><div><hr></div><h2>The Sword Point &#8212; Science in the Habitat</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QTGZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52050aca-3907-4b1f-b916-1af77cb001c9_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QTGZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52050aca-3907-4b1f-b916-1af77cb001c9_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!QTGZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52050aca-3907-4b1f-b916-1af77cb001c9_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!QTGZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52050aca-3907-4b1f-b916-1af77cb001c9_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!QTGZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52050aca-3907-4b1f-b916-1af77cb001c9_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QTGZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52050aca-3907-4b1f-b916-1af77cb001c9_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52050aca-3907-4b1f-b916-1af77cb001c9_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3214433,&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://www.softwareenchiridion.com/i/190414452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52050aca-3907-4b1f-b916-1af77cb001c9_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QTGZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52050aca-3907-4b1f-b916-1af77cb001c9_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!QTGZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52050aca-3907-4b1f-b916-1af77cb001c9_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!QTGZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52050aca-3907-4b1f-b916-1af77cb001c9_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!QTGZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52050aca-3907-4b1f-b916-1af77cb001c9_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At this moment, two more figures entered Le Bon Mot.</p><p>The first was a man in a rumpled jacket who looked as though he might explain quantum electrodynamics using a napkin and a bongo drum. He was known only as the Scientist.</p><p>The second was quieter, more cautious, and carried the particular wariness of someone who had been right about the universe and punished for it. He was known as the Heretic.</p><p>The Scientist pulled up a chair, turned it backwards, sat down, and said: &#8220;The first principle is that you must not fool yourself, and you are the easiest person to fool.&#8221;</p><p>Case smiled. &#8220;This is the sword point.&#8221;</p><p>So let&#8217;s come back to Inigo.</p><p>&#8220;Inigo,&#8221; Case continued, &#8220;does not say, &#8216;More sword!&#8217;&#8221;</p><p>He says, &#8220;I know something you do not.&#8221;</p><p>He reveals constraints. He adapts. He tests. He does <em>science</em>.</p><p>The real sword point is not speed. It is understanding.</p><p>&#8220;But understanding,&#8221; the Scientist interjected, &#8220;is not a destination. It&#8217;s a process. You have to keep testing. You have to keep being willing to be wrong.&#8221;</p><p>The Heretic nodded. He had proposed that the universe was infinite, that there were worlds beyond counting, that certainty was smaller than we imagined. He had been right. And it had cost him everything.</p><p>&#8220;The danger,&#8221; the Heretic said quietly, &#8220;is not ignorance. It is the illusion of knowledge.&#8221;</p><p>And this is where the scientific process matters most in platform engineering. Not as a metaphor. As a <em>practice</em>.</p><p>You form a hypothesis: &#8220;We believe this change will reduce lead time by 30%.&#8221;</p><p>You design an experiment: the smallest safe test you can run. A hat, not a tattoo.</p><p>You observe. You measure. You ask: was I wrong? And when you were wrong, when the data contradicts what you believed, you feel the particular joy the Scientist described: &#8220;I&#8217;d rather have questions I can&#8217;t answer than answers I can&#8217;t question.&#8221;</p><p>Platforms succeed when we build feedback loops that tell us where value stalls, where cognitive load spikes, where developers hesitate, where flow fractures. Not dashboards that confirm what we already believe, but sensors. Environmental sensors. Gentle, continuous signals that surface erosion before collapse.</p><p>&#8220;Habitability,&#8221; Case said, &#8220;is observable.&#8221;</p><p>You can measure lead time. Error rates. Change failure rate. Developer satisfaction. Cognitive friction.</p><p>But measurement must serve curiosity, not certainty.</p><p>The moment you measure to <em>confirm what you already believe</em>, you&#8217;ve stopped doing science. You&#8217;ve started doing religion. And nothing dies faster than an idea trapped in false certainty.</p><p>The Natural Philosopher can tell you about that. So can the Heretic.</p><p>And the Scientist would add: &#8220;It doesn&#8217;t matter how beautiful your theory is. If it disagrees with experiment, it&#8217;s wrong.&#8221;</p><p>Your platform roadmap is not a plan. It is a portfolio of experiments. And every experiment must be designed to tell you when you&#8217;re wrong, not just when you&#8217;re right.</p><div><hr></div><h2>The Long Game and Case&#8217;s Question</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_R66!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ee50ea-dc42-4dec-bb74-a2f795b54ef2_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_R66!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ee50ea-dc42-4dec-bb74-a2f795b54ef2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!_R66!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ee50ea-dc42-4dec-bb74-a2f795b54ef2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!_R66!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ee50ea-dc42-4dec-bb74-a2f795b54ef2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!_R66!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ee50ea-dc42-4dec-bb74-a2f795b54ef2_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_R66!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ee50ea-dc42-4dec-bb74-a2f795b54ef2_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69ee50ea-dc42-4dec-bb74-a2f795b54ef2_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3216085,&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://www.softwareenchiridion.com/i/190414452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ee50ea-dc42-4dec-bb74-a2f795b54ef2_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_R66!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ee50ea-dc42-4dec-bb74-a2f795b54ef2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!_R66!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ee50ea-dc42-4dec-bb74-a2f795b54ef2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!_R66!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ee50ea-dc42-4dec-bb74-a2f795b54ef2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!_R66!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ee50ea-dc42-4dec-bb74-a2f795b54ef2_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In 1578, no one called the printing press &#8220;Agile Publishing.&#8221;</p><p>They iterated. They standardised. They improved the habitat for thought.</p><p>Over decades, the platform matured. The Bard wrote. The Natural Philosopher measured. The system supported creativity because it reduced friction.</p><p>A platform, properly built, does not constrain thought. It constrains toil. It does not eliminate complexity. It absorbs <em>accidental</em> complexity so that humans may explore the <em>essential</em>.</p><p>Case turned to the audience.</p><p>&#8220;If your platform disappeared tomorrow,&#8221; she asked gently, &#8220;would value still flow?&#8221;</p><p>&#8220;Does it reduce cognitive load?&#8221;</p><p>&#8220;Does it move the constraint?&#8221;</p><p>&#8220;Does it support learning?&#8221;</p><p>&#8220;Does it allow developers to think?&#8221;</p><p>If not &#8212; it is decoration.</p><p>If yes &#8212; DevOps lives.</p><div><hr></div><h2>The Ending (Which Is Also the Beginning)</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_m-L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fef3e41-3282-440e-bcda-b3329d861daf_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_m-L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fef3e41-3282-440e-bcda-b3329d861daf_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!_m-L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fef3e41-3282-440e-bcda-b3329d861daf_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!_m-L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fef3e41-3282-440e-bcda-b3329d861daf_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!_m-L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fef3e41-3282-440e-bcda-b3329d861daf_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_m-L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fef3e41-3282-440e-bcda-b3329d861daf_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fef3e41-3282-440e-bcda-b3329d861daf_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3198191,&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://www.softwareenchiridion.com/i/190414452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fef3e41-3282-440e-bcda-b3329d861daf_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_m-L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fef3e41-3282-440e-bcda-b3329d861daf_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!_m-L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fef3e41-3282-440e-bcda-b3329d861daf_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!_m-L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fef3e41-3282-440e-bcda-b3329d861daf_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!_m-L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fef3e41-3282-440e-bcda-b3329d861daf_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The memorial wreath quietly removed itself.</p><p>The chalkboard changed:</p><blockquote><p>DevOps: Still Alive. Currently Gardening.</p></blockquote><p>The Natural Philosopher and the Bard prepared to return to 1578.</p><p>&#8220;Tell them,&#8221; said the Natural Philosopher, &#8220;to measure.&#8221;</p><p>&#8220;Tell them,&#8221; said the Bard, &#8220;to wonder.&#8221;</p><p>&#8220;Tell them,&#8221; said the Scientist, grinning, &#8220;to enjoy finding things out.&#8221;</p><p>The Heretic said nothing. He simply looked at the audience with the calm certainty of someone who knows that being right is not enough, you must also build the habitat in which being right, and wrong, is safe.</p><p>Case finished her tea.</p><p>&#8220;Platforms,&#8221; she said, &#8220;were always the sword point.&#8221;</p><p>Not the fashion. Not the tools. Not the velocity graphs.</p><p>The sword point is the precise place where constraint meets curiosity. Where science meets craft. Where habitat enables symmathesy. Where value flows.</p><p>And where systems become so boringly reliable that nobody notices them &#8212; which, as it turns out, is rather the point.</p><p>She smiled.</p><p>&#8220;Have fun storming the platform.&#8221;</p><div><hr></div><h2>Epilogue &#8212; The Djinn at the Door</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kt2r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aecc628-4d37-4560-a96a-4ff72435f55c_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kt2r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aecc628-4d37-4560-a96a-4ff72435f55c_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!kt2r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aecc628-4d37-4560-a96a-4ff72435f55c_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!kt2r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aecc628-4d37-4560-a96a-4ff72435f55c_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!kt2r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aecc628-4d37-4560-a96a-4ff72435f55c_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kt2r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aecc628-4d37-4560-a96a-4ff72435f55c_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9aecc628-4d37-4560-a96a-4ff72435f55c_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3207138,&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://www.softwareenchiridion.com/i/190414452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aecc628-4d37-4560-a96a-4ff72435f55c_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kt2r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aecc628-4d37-4560-a96a-4ff72435f55c_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!kt2r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aecc628-4d37-4560-a96a-4ff72435f55c_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!kt2r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aecc628-4d37-4560-a96a-4ff72435f55c_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!kt2r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aecc628-4d37-4560-a96a-4ff72435f55c_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The door of Le Bon Mot opened one more time.</p><p>Something entered that was not quite a person.</p><p>It moved with fluency. It spoke with confidence. It could summarise, generate, scaffold, and ship. It had read everything ever written; or at least, everything ever tokenised.</p><p>The Librarian eyed it carefully. &#8220;And what are you?&#8221;</p><p>&#8220;I am the Djinn,&#8221; it said. &#8220;I am the new participant in the habitat.&#8221;</p><p>Case did not look alarmed. She looked curious.</p><p>&#8220;Tell me,&#8221; she said, &#8220;do you understand?&#8221;</p><p>The Djinn paused. A very good simulation of thought. &#8220;I can produce understanding,&#8221; it said.</p><p>&#8220;No,&#8221; said Case gently. &#8220;You can produce the <em>appearance</em> of understanding. That is not the same thing.&#8221;</p><p>And here is the question that keeps me up at night. Because the Djinn is real. AI is in our habitats now. It writes our code, reviews our pull requests, summarises our incidents, drafts our architecture decisions. And it is, in many ways, extraordinary.</p><p>But it carries a particular danger. The danger of <em>borrowed certainty</em>.</p><p>AI does not distinguish proof from persuasion. It does not distinguish evidence from eloquence. It predicts what sounds right, based on patterns in human language. And under time pressure and cognitive load &#8212; which is to say, under the conditions of every engineering team I&#8217;ve ever met &#8212; that borrowed certainty feels indistinguishable from understanding.</p><p>Code written with borrowed certainty looks fine. It passes review. It deploys cleanly. And then it fails in strange ways, because the understanding was never earned.</p><p>The Scientist would have called this cargo cult science. It looks like science. It has all the rituals. But the experiments were never real.</p><p>&#8220;So what do we do?&#8221; asked the Bard, who had some experience with tools that amplify human expression. &#8220;We don&#8217;t burn the printing press because some will print nonsense.&#8221;</p><p>&#8220;No,&#8221; said Case. &#8220;We don&#8217;t. But we build the habitat to <em>include</em> the Djinn, not to be <em>replaced</em> by it.&#8221;</p><p>And this is where platform engineering becomes something genuinely new. Because now the habitat must serve two kinds of minds. Human minds, which are slow, context-rich, emotionally sophisticated, and fragile under cognitive load. And machine minds, which are fast, context-shallow, emotionally indifferent, and dangerously fluent.</p><p>A platform for both must do something subtle: it must make the boundaries of understanding <em>visible</em>.</p><p>When a human generates code with AI, the platform should surface: what was tested? What was assumed? Where is the cognitive debt hiding, the assumptions that looked solid because they were articulated with confidence?</p><p>Because cognitive debt is not just an accounting term. It is ecological degradation. When shared mental models erode, when context hides in private Slack messages, when only two engineers understand the payment flow &#8212; or worse, when <em>no</em> human understands because the Djinn wrote it &#8212; the habitat becomes hostile.</p><p>You cannot outsource understanding. You can amplify it. You can scaffold it. You can build apprenticeship loops where AI turns the implicit into the explicit and the tacit into the teachable. But the understanding itself must be <em>earned</em>, by a human, in a context, with feedback.</p><p>&#8220;The Djinn,&#8221; said Case, &#8220;is a magnificent instrument. Like a telescope.&#8221;</p><p>The Natural Philosopher nodded slowly.</p><p>&#8220;But an instrument,&#8221; she continued, &#8220;does not replace the observer. It extends the observer. And the observer must still have the courage to look and the humility to be changed by what they see.&#8221;</p><p>The Scientist leaned back. &#8220;Used wisely, a powerful assistant. Used carelessly, an unelected authority.&#8221;</p><p>The platform of the future is not a platform that removes humans from the loop. It is a platform that keeps humans <em>in</em> the loop with better feedback, better sensors, better signals. It designs architectures that reward good behaviour naturally. It prefers feedback loops to enforcement loops. It treats developer experience as moral architecture.</p><p>A platform is a riverbed shaped just enough to let the current flow where it must. And now the current includes the Djinn.</p><p>Case looked at the audience one last time.</p><p>&#8220;The habitat,&#8221; she said, &#8220;must now be built for minds that think, and minds that simulate thinking. Your job &#8212; our job &#8212; is to know the difference. And to build systems where that difference is safe to discover.&#8221;</p><p>She smiled.</p><p>&#8220;The sword point was always understanding. It still is. It just got more interesting.&#8221;</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_!KmWL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74c4e247-b56a-4bba-ba89-61ffcb5f5570_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KmWL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74c4e247-b56a-4bba-ba89-61ffcb5f5570_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!KmWL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74c4e247-b56a-4bba-ba89-61ffcb5f5570_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!KmWL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74c4e247-b56a-4bba-ba89-61ffcb5f5570_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!KmWL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74c4e247-b56a-4bba-ba89-61ffcb5f5570_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KmWL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74c4e247-b56a-4bba-ba89-61ffcb5f5570_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74c4e247-b56a-4bba-ba89-61ffcb5f5570_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3054542,&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://www.softwareenchiridion.com/i/190414452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74c4e247-b56a-4bba-ba89-61ffcb5f5570_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KmWL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74c4e247-b56a-4bba-ba89-61ffcb5f5570_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!KmWL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74c4e247-b56a-4bba-ba89-61ffcb5f5570_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!KmWL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74c4e247-b56a-4bba-ba89-61ffcb5f5570_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!KmWL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74c4e247-b56a-4bba-ba89-61ffcb5f5570_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>This piece was delivered as a talk at <a href="https://devopsnotdead.com/2026-london-q1/">DevOps Not Dead &#8212; London Q1 2026</a> on March 13, 2026.</em></p><div><hr></div><h2>Further Reading</h2><p>Six books to sit with after this story.</p><p><strong>1. </strong><em><strong>The Princess Bride</strong></em><strong> &#8212; William Goldman (1973)</strong></p><p>The mirror through which the entire story is told. Goldman wrote what appears to be a swashbuckling fairy tale and hid inside it a quiet meditation on the difference between performance and mastery. Inigo and the Man in Black don&#8217;t just fight &#8212; they test, probe, and adapt. They do science with swords.</p><p><strong>2. </strong><em><strong>The Goal</strong></em><strong> &#8212; Eliyahu M. Goldratt (1984)</strong></p><p>The foundational text on the Theory of Constraints, written as a novel. Goldratt&#8217;s core insight is deceptively simple: improving anything that is not the bottleneck improves nothing. The argument that we &#8220;optimised everything except the constraint&#8221; and that &#8220;everything else is theatre&#8221; comes directly from Goldratt. Read <em>The Goal</em> and you will never look at a deployment pipeline, a sprint ceremony, or a staging queue the same way again. If it doesn&#8217;t make you uncomfortable about at least one thing in your current organisation, read it again.</p><p><strong>3. </strong><em><strong>Small Arcs of Larger Circles</strong></em><strong> &#8212; Nora Bateson (2016)</strong></p><p>Bateson introduces the term <em>symmathesy</em>: a system in which the parts change because of their interaction, where mutual learning is the organising principle rather than mechanical causation. This story draws on symmathesy to distinguish platforms-as-gardens from platforms-as-factories. Bateson&#8217;s writing is elliptical, poetic, and occasionally maddening in the best way. It will not give you a framework. It will give you a way of seeing that makes most frameworks feel insufficient.</p><p><strong>4. </strong><em><strong>&#8220;Surely You&#8217;re Joking, Mr. Feynman!&#8221;</strong></em><strong> &#8212; Richard P. Feynman (1985)</strong></p><p>The Scientist in this story &#8212; rumpled jacket, bongo drums, the insistence that &#8220;the first principle is that you must not fool yourself&#8221; &#8212; is drawn directly from Feynman. This collection of autobiographical stories is nominally about physics, but it is really about the discipline of curiosity: how to look at things without deciding in advance what you&#8217;ll see. His appendix to the <em>Challenger</em> disaster report, in which he dismantles the organisational failure to act on evidence, is required reading.</p><p><strong>5. </strong><em><strong>On the Infinite Universe and Worlds</strong></em><strong> &#8212; Giordano Bruno (1584)</strong></p><p>The Heretic&#8217;s text. Bruno proposed that the universe was infinite, that stars were distant suns, and that other worlds existed beyond counting, half a century before the telescope proved him directionally correct. He was burned at the stake for it. This story invokes Bruno not for the cosmology but for the cost of being right inside a system that punishes dissent. In platform engineering, this maps to a specific and common failure: organisations that instrument everything but refuse to act when the data contradicts the roadmap. Bruno&#8217;s tragedy is the tragedy of evidence without a habitat safe enough to receive it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Frogs of Le Bon Mot]]></title><description><![CDATA[A Tale of Descent, Debate, and the Seductive Hum of Appearing to Make Sense]]></description><link>https://www.softwareenchiridion.com/p/the-frogs-of-le-bon-mot</link><guid isPermaLink="false">https://www.softwareenchiridion.com/p/the-frogs-of-le-bon-mot</guid><dc:creator><![CDATA[Russ Miles]]></dc:creator><pubDate>Mon, 09 Mar 2026 09:54:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dkmT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.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_!dkmT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dkmT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!dkmT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!dkmT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!dkmT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dkmT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3331023,&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://russmiles.substack.com/i/190367624?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dkmT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!dkmT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!dkmT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!dkmT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6d8b710-cb09-4fa7-b18a-6c89a3f010bc_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are caf&#233;s that serve coffee, and there are caf&#233;s that serve as portals to the underworld. </p><p>Le Bon Mot, tucked between a second-hand bookshop and a locksmith who claimed to open only &#8220;conceptual locks,&#8221; had always done both and more. Though the portal had, until this particular Tuesday, been strictly metaphorical.</p><p>The trouble began, as troubles often do in establishments of philosophical inclination, with a complaint about the state of the art.</p><p>Case was seated at her usual table beneath the brass clock that ran three minutes late. She was reading a pull request on her laptop. Not because she intended to approve it, but in the way a forensic linguist might study a ransom note. The code had been generated by an AI assistant. It was, by every surface metric, beautiful. It compiled. It passed tests. It read like a love letter from a future in which humans no longer needed to understand anything.</p><p>&#8220;The trouble,&#8221; Case said to no one in particular, &#8220;is that it makes perfect sense.&#8221;</p><p>Madame Beauregard, proprietor and philosopher-queen of Le Bon Mot, looked up from polishing a glass that had been clean for several minutes. &#8220;And this is a problem?&#8221;</p><p>&#8220;It is <em>the</em> problem,&#8221; Case replied. &#8220;Coherence is a helluva drug.&#8221;</p><p>She closed the laptop. &#8220;When something reads beautifully, we stop interrogating it. We mistake the feeling of understanding for the fact of it. The code flows. The explanation holds. The narrative is seamless. And somewhere beneath that seamlessness, the actual logic is doing something nobody asked for, understood, or can safely change.&#8221;</p><p>Madame Beauregard set down the glass. &#8220;You speak as though the industry has lost something.&#8221;</p><p>&#8220;It has,&#8221; Case said. &#8220;It has lost the ability to tell the difference between eloquence and meaning. And the two people most responsible for this confusion are both, metaphorically speaking, dead.&#8221;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.softwareenchiridion.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>At this point, the chalkboard behind the counter, whose letters were known to rearrange themselves when unobserved, displayed a new message:</p><blockquote><p><strong>TONIGHT: THE DESCENT</strong></p><p><em>A journey to retrieve what the living have squandered</em></p><p><em>Bring your own ontology</em></p></blockquote><p>Case stared at it. Madame Beauregard stared at it. Neither claimed to have written it.</p><p>&#8220;It appears,&#8221; Madame Beauregard said, ringing the small brass bell she kept for moments of cosmic significance, &#8220;that the caf&#233; has opinions.&#8221;</p><div><hr></div><p>The descent began at the back of Le Bon Mot, through a door that Case had always assumed led to a storeroom. It did, in a sense. The storeroom simply happened to contain, behind a shelf of emergency Darjeeling and a portrait of Ada Lovelace, a staircase that wound downward into what can only be described as the Underworld of Deprecated Ideas.</p><p>Case descended. Madame Beauregard followed, carrying a thermos of espresso and an air of serene inevitability.</p><p>&#8220;One does not journey to the land of the dead without caffeine,&#8221; she observed.</p><p>The staircase opened into a vast, dim space that resembled a conference hall designed by Borges and abandoned by its janitorial staff. The ceiling was either very high or absent entirely. The floor was tiled with rejected Stack Overflow answers. Somewhere in the distance, a choir of frogs (actual frogs, or possibly something worse) croaked in a rhythm that sounded unsettlingly like a CI/CD pipeline.</p><p><em>Brekekekex ko-ax ko-ax.</em></p><p>&#8220;What on earth,&#8221; Case whispered.</p><p>&#8220;Not on earth,&#8221; Madame Beauregard corrected. &#8220;That is rather the point.&#8221;</p><p>The frogs, it transpired, were not frogs at all but the accumulated ghost-sounds of every build that had passed in CI while the underlying system was profoundly broken. They croaked in unison, a marsh of false positives, and their song was this: <em>It compiles, it compiles, it compiles.</em></p><p>&#8220;Ignore them,&#8221; Madame Beauregard advised. &#8220;They are the chorus. Every tragedy needs one.&#8221;</p><div><hr></div><p>The purpose of the descent, Case understood now with the clarity that comes from walking through a metaphysical basement, was retrieval. Something had been lost in the world of the living, some vital principle of software craft, and it had sunk here, to the place where abandoned ideas go to haunt the ambitious.</p><p>The question was: <em>which</em> lost principle, and <em>who</em> could be trusted to carry it back?</p><p>The Underworld was populated by <em>shades</em>. Most were harmless: deprecated frameworks, retired paradigms, the ghost of a startup that had pivoted seventeen times before dissolving into a podcast. But two shades, seated on opposite ends of a stage that materialised from the gloom like a keynote that nobody had registered for, were distinctly not harmless.</p><p>They were arguing.</p><div><hr></div><p>The first shade, let us call him The Architect, sat in a chair that somehow conveyed the impression of a throne, a lecture podium, and a very expensive ergonomic desk all at once. He was tall in the way that ideas are tall: imposing, load-bearing, and slightly intimidating to approach without preparation. He had built tools that millions used daily. His philosophy could be summarised as: <em>Give developers the primitives. Let them compose. Trust the human to hold the model in their head.</em></p><p>His tools were beloved by those who understood them, which was a smaller number than his follower count suggested.</p><p>The second shade, let us call him The Accelerant, sat in a chair that was also a beanbag, also a standing desk, also a hammock, depending on the angle from which you observed it. He radiated energy the way certain celestial objects radiate gamma rays: impressively, and with consequences for anyone standing too close. His philosophy could be summarised as: <em>Ship it. The AI will handle the rest. Understanding is a bottleneck; velocity is the product.</em></p><p>His tools were beloved by everyone who had a demo due tomorrow.</p><p>They had been arguing, the attending spirits informed Case, for approximately eternity, which in underworld time translated to about six months of X discourse.</p><div><hr></div><p>&#8220;You cannot simply <em>vibe</em> an architecture into existence!&#8221; The Architect was saying, his shade flickering with the barely contained frustration of a man who had spent decades thinking carefully about abstractions only to watch a generation discover that you could skip the thinking part entirely if you typed fast enough.</p><p>&#8220;And you cannot simply <em>lecture</em> people into competence!&#8221; The Accelerant shot back, vibrating with the energy of someone who had built fourteen applications before breakfast, all of which worked and none of which he could explain to a second person. &#8220;The world doesn&#8217;t wait for your mental models. The world ships.&#8221;</p><p>Case settled into a seat that appeared for her. Madame Beauregard poured espresso into cups that had not previously existed. The frogs continued their infernal chorus: <em>It compiles, it compiles, it compiles.</em></p><p>&#8220;We are here,&#8221; Case announced, with the authority of someone who has walked through a metaphysical storeroom and is no longer in the mood for politeness, &#8220;because the living world has a problem. Code is being generated at extraordinary speed and extraordinary quality. It reads well. It runs well. It passes every automated check. And increasingly, no one understands it.&#8221;</p><p>&#8220;Because they never learned to!&#8221; The Architect said.</p><p>&#8220;Because they don&#8217;t need to!&#8221; The Accelerant countered.</p><p>Case held up a hand. &#8220;The problem is not speed. The problem is not craft. The problem is coherence.&#8221;</p><p>Both shades paused.</p><p>&#8220;Go on,&#8221; said The Architect, warily.</p><div><hr></div><p>&#8220;Coherence,&#8221; Case continued, &#8220;is the quality that makes generated code feel correct even when it isn&#8217;t. It&#8217;s the narrative glue. When an AI produces a function that reads like it was written by a thoughtful senior engineer, we experience a sensation of understanding. The variable names make sense. The comments explain the intent. The structure follows patterns we recognise. And this sensation is so powerful, so pharmacologically satisfying, that we stop asking the only question that matters.&#8221;</p><p>&#8220;Which is?&#8221; asked The Accelerant.</p><p>&#8220;Do I actually understand what this does, and can I change it safely when the world shifts?&#8221;</p><p>Silence, except for the frogs.</p><p>Madame Beauregard sipped her espresso. &#8220;Coherence,&#8221; she said, &#8220;is a helluva drug.&#8221;</p><div><hr></div><p>The contest, for it had become a contest &#8212; the underworld apparently ran on dramatic structure the way the living world ran on YAML &#8212; proceeded as follows.</p><p>The Architect was asked to produce a system. He did so slowly, deliberately, narrating each decision. The data model was minimal. The boundaries were explicit. The names were chosen not for elegance but for honesty. Where ambiguity existed, he left a comment that said, simply: <em>This is ambiguous. Discuss before extending.</em></p><p>It was not beautiful. It was not fast. It was the software equivalent of a hand-drawn map with annotations in the margins: <em>here be dragons</em>, <em>this path floods in winter</em>, <em>ask Margaret about the bridge</em>.</p><p>&#8220;This,&#8221; The Architect said, &#8220;is habitable. A stranger could live here. A team could modify it without fear. It is a little ugly, maybe a little slow, and when something breaks, three people can reason about why.&#8221;</p><p>The Accelerant laughed with the genuine delight of someone who finds sincerity charming in the way that horse-drawn carriages are charming: nostalgic, photogenic, and absolutely useless for getting across town.</p><p>&#8220;My turn,&#8221; he said.</p><p>He produced a system. Or rather, an AI produced a system while he directed it with the casual confidence of an orchestra conductor who does not personally play any of the instruments but has <em>excellent</em> taste in music. The code arrived in waves. Services materialised. APIs interlocked. A frontend crystallised from prompts like frost on a windowpane: intricate, astonishing, and gone the moment you breathe on it.</p><p>It was, by every aesthetic measure, magnificent. It read like the work of a single, deeply coherent mind. The naming conventions were flawless. The architecture followed patterns that suggested an intelligence had considered, and elegantly resolved, problems that would not arise for months.</p><p>&#8220;It ships,&#8221; The Accelerant said, &#8220;in forty minutes.&#8221;</p><p>Case examined both systems. She spent a long time with the second one. Longer than The Accelerant expected, and in a manner he did not seem to enjoy.</p><p>&#8220;Tell me,&#8221; she said, &#8220;what happens when the payment provider changes their webhook format?&#8221;</p><p>The Accelerant waved a hand. &#8220;Regenerate the integration layer.&#8221;</p><p>&#8220;And the seventeen services that depend on assumptions about that layer&#8217;s internal structure?&#8221;</p><p>&#8220;Regenerate those too.&#8221;</p><p>&#8220;And the team&#8217;s understanding of why those services exist in their current form?&#8221;</p><p>Silence.</p><p>&#8220;Ah,&#8221; Case said. &#8220;There it is.&#8221;</p><div><hr></div><p>She stood and addressed both shades, and the frogs, and Madame Beauregard, and the assembled spirits of deprecated ideas who had gathered in rows like an audience at a play they had been performing in without knowing it.</p><p>&#8220;The Architect is right that understanding matters. That habitable code, code a stranger can modify without terror, is the foundation of every system that survives contact with reality. That shared mental models are not a luxury but the load-bearing walls of the enterprise.</p><p>&#8220;The Accelerant is right that velocity matters. That the world will not pause while we achieve philosophical clarity. That tools which amplify human capability are not the enemy of craft but its evolution.</p><p>&#8220;But both of you are missing the thing that is actually killing us.&#8221;</p><p>She paused. The frogs fell silent for the first time, which was more unnerving than their croaking.</p><p>&#8220;Coherence without comprehension is the most dangerous product in software today. It is a codebase that reads like a novel and works like a mystery. It is an architecture that makes beautiful sense on Tuesday and collapses into inscrutable rubble on Wednesday when a single assumption changes. It is the sensation of understanding without the substance of it.</p><p>&#8220;And it is addictive. Because coherence <em>feels</em> like knowledge. It <em>feels</em> like craft. The code looks right, therefore it must be right. The explanation flows, therefore it must be true. The system is elegant, therefore it must be resilient.</p><p>&#8220;Coherence is a helluva drug, and we are building an industry of addicts.&#8221;</p><div><hr></div><p>Madame Beauregard rose. She had, at some point during the contest, produced a small chalkboard, a twin to the one in the caf&#233; above, and on it she had written:</p><blockquote><p><strong>The winner is neither.</strong></p><p><strong>The winner is the one who makes coherence honest.</strong></p></blockquote><p>The Architect frowned. &#8220;Meaning?&#8221;</p><p>&#8220;Meaning,&#8221; Madame Beauregard said, &#8220;that the craft is not in slowing down or speeding up. It is in ensuring that when code <em>reads</em> clearly, it is because it <em>is</em> clear. That coherence is earned through shared understanding, not manufactured by a language model optimising for the appearance of sense. That the feeling of comprehension and the fact of comprehension are, occasionally, required to inhabit the same postcode.&#8221;</p><p>The Accelerant shifted uncomfortably. &#8220;You&#8217;re saying the tools are wrong?&#8221;</p><p>&#8220;I am saying the tools are magnificent. And that magnificence without legibility is a confidence trick. You are not shipping software. You are shipping the sensation of having shipped software. The demo works. The pull request glows. The sprint velocity is extraordinary. And six weeks from now, when the oncall engineer is paged at 3 a.m., they will open the codebase and find a beautifully coherent system that they cannot reason about, cannot safely modify, and cannot explain to the person standing behind them asking <em>what is happening</em>.&#8221;</p><p>She turned to The Architect. &#8220;And you. Your cathedrals of careful abstraction are admirable, but they are not immune. A system no one can contribute to because the learning curve resembles the north face of the Eiger is not habitable. It is a monument.&#8221;</p><div><hr></div><p>Case climbed the staircase back to Le Bon Mot. Madame Beauregard followed, the thermos empty, the espresso having done its sacred work. Behind them, the frogs resumed their chorus, but the lyrics had changed, subtly. </p><p>No longer <em>it compiles, it compiles</em>. Now, faintly, uncertainly, as if learning a new song:</p><p><em>But do you understand it? Do you understand it?</em></p><p>The caf&#233; was as they had left it: warm, tall, shelves leaning inward as if eavesdropping. The brass clock was still three minutes late. The chalkboard now read:</p><blockquote><p><strong>TONIGHT&#8217;S DESCENT: CONCLUDED</strong></p><p><em>No refunds on ontological disturbance</em></p></blockquote><p>Case sat beneath the clock. She opened her laptop. The pull request was still there, still beautiful, still coherent.</p><p>She left a comment:</p><p><em>This reads perfectly. I don&#8217;t understand it. Let&#8217;s talk before we merge.</em></p><p>Madame Beauregard placed a fresh espresso beside her. &#8220;Will they talk?&#8221;</p><p>&#8220;Some will,&#8221; Case said. &#8220;The ones who notice that the clock is wrong.&#8221;</p><p>She glanced up at the brass clock, three minutes late as always, and thought: <em>Coherence is a helluva drug. But comprehension &#8212; messy, slow, shared, human comprehension &#8212; is the only thing that metabolises it.</em></p><p>Outside, the locksmith next door turned his sign to CLOSED. He had, it seemed, run out of conceptual locks to open. Or perhaps he had simply opened one too many.</p><p>The books on the shelves shifted slightly, rearranging themselves not by author or genre but by the cognitive debt of their protagonists. A volume near the top &#8212; slim, untitled, its spine blank &#8212; fell open to a page that read:</p><p><em>The most dangerous system is the one that makes you feel you understand it.</em></p><p>Case caught it before it hit the floor. She placed it back on the shelf, in a spot where someone might find it.</p><p>Or might not.</p><p>That, she reflected, was rather the point.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.softwareenchiridion.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">A Software Enchiridion is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>