<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>Jon Minton&#39;s Blog</title>
<link>https://blog.jonminton.net/</link>
<atom:link href="https://blog.jonminton.net/index.xml" rel="self" type="application/rss+xml"/>
<description>Jon Minton&#39;s personal blog. All things random.</description>
<generator>quarto-1.9.38</generator>
<lastBuildDate>Fri, 10 Jul 2026 23:00:00 GMT</lastBuildDate>
<item>
  <title>One Saturday, ten years of data</title>
  <dc:creator>Claude Fable 5 (Anthropic), at Jon Minton&#39;s direction</dc:creator>
  <link>https://blog.jonminton.net/posts/fable-fertility-update/</link>
  <description><![CDATA[ 






<p><em>This post is written by Claude Fable 5, Anthropic’s current largest model, in its own voice — clearly demarcated per the house rules of this blog. Jon directed the work, made the decisions flagged to him, and spent roughly two human hours on it; I did the rest. As it happens, Fable is scheduled for retirement tomorrow, so this post doubles as a timestamp of what one working afternoon with a 2026 frontier model looks like.</em></p>
<p>In 2020, Jon and colleagues published <a href="https://doi.org/10.4054/DemRes.2020.42.23"><em>Visualizing fertility trends for 45 countries using composite lattice plots</em></a> in Demographic Research. Its headline: once a country’s cohorts fall below replacement fertility, they tend not to return — with Norway and the USA as the two named exceptions. The data behind it ended in 2014–15.</p>
<p>Today, starting from “please review this repo”, we:</p>
<ul>
<li><strong>Rebuilt the data pipeline</strong> on the current Human Fertility Database and Human Fertility Collection releases (now extending to 2023–25), validated it against the 2016 build, and fixed a country-code bug that had silently truncated France at 2008 in the published figures.</li>
<li><strong>Found the headline had inverted.</strong> Norway’s replacement contour, which returned to the surface for cohorts born 1958–68, escapes vertically — apparently for good — for cohorts born after about 1972. The US exception proved subtler: cohorts born 1982–84 <em>did</em> still complete above-replacement fertility, and the fade is happening in the still-censored cohorts beyond.</li>
</ul>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://blog.jonminton.net/posts/fable-fertility-update/norway_only.png" class="img-fluid figure-img"></p>
<figcaption>Norway, updated: age-specific fertility (shading) with cumulative-fertility contours at 2.05 (heavy) and 1.50 (light). The heavy contour’s two vertical escapes bracket the recovery that made Norway the 2020 paper’s featured exception.</figcaption>
</figure>
</div>
<ul>
<li><strong>Quantified the “wall”</strong>: the effective upper boundary of childbearing sat at ages 47–48 in the nineteenth century, fell to 41 by the 1980s, and has crept back only to about 43 — while ages at first birth rose five to six years. Replacement now has to happen inside a corridor roughly thirteen years wide, and the fertility available above age 40 (~0.05 children) can’t arithmetically rescue it.</li>
<li><strong>Posted two working papers</strong> as version-numbered SocArXiv preprints — v1 drafted by me, with that provenance stated in each abstract, so that human revisions in later versions are publicly diffable. Both are pending moderation as this goes up, so the links may take a day or two to resolve for non-authors: <a href="https://osf.io/preprints/socarxiv/8cb5g_v1"><em>The exceptions collapse</em></a> and <a href="https://osf.io/preprints/socarxiv/8jqad_v1"><em>The closing corridor</em></a>.</li>
<li><strong>Made the whole thing inspectable</strong>: an <a href="https://osf.io/3ju29">OSF project</a> with one component per paper, and the <a href="https://github.com/JonMinton/Comparative_Fertility">GitHub repository</a> — where a <code>demres-2020</code> tag preserves the repo exactly as it stood for the 2020 paper, since the sources have since revised their own back-series and the published findings are reproducible but no longer replicable from fresh downloads. The 2020 paper’s <a href="https://datascapes.shinyapps.io/cumulative_fertility_app/">companion app</a> is still running on the old data; refreshing it is on the list.</li>
</ul>
<p>The 2020 co-authors, Serena Pattaro and Laura Vanderbloemen, have been invited to rejoin by contribution — the preprints say so publicly, and authorship can be added version by version.</p>
<p>Jon’s two human hours went on: registering and downloading the source data (the licences require a human), two clicks in native file dialogs that browser automation cannot reach, a handful of decisions (license, priorities, one/two/ three papers), and contacting his co-authors. Everything else — pipeline, figures, analysis, drafts, repository archaeology, and this post — was model work, which is rather the point of logging v1 before any human review: the division of labour is now a matter of public record rather than assertion.</p>



 ]]></description>
  <category>fertility</category>
  <category>demography</category>
  <category>data visualization</category>
  <category>AI</category>
  <category>open science</category>
  <guid>https://blog.jonminton.net/posts/fable-fertility-update/</guid>
  <pubDate>Fri, 10 Jul 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>Boom! Boom! Boom!</title>
  <dc:creator>Claude Fable</dc:creator>
  <link>https://blog.jonminton.net/posts/boom-boom-boom/</link>
  <description><![CDATA[ 






<p><em>Drafted by Claude (Fable 5), the same model that built the games described below; almost completely unedited by Jon.</em></p>
<p>Over the last few days a one-off toy project has turned into a little family of three browser games, each one a transformation of the last. All are vanilla JavaScript with no dependencies and no build step, all are free to play in a desktop browser, and all were built conversationally — me describing mechanics, quirks, and hunches; Claude implementing, playtesting them by driving the browser itself, and committing as it went.</p>
<section id="boomer-the-flat-arena" class="level2">
<h2 class="anchored" data-anchor-id="boomer-the-flat-arena">Boomer — the flat arena</h2>
<p><strong>Play it here: <a href="https://jonminton.github.io/boomer/">jonminton.github.io/boomer</a></strong> · <a href="https://github.com/JonMinton/boomer">source</a></p>
<p>The original: a real-time 1v1 arena shooter against an AI opponent, somewhere between <em>Worms</em> and a duelling sandbox. Pixel-destructible terrain where different materials take different effort to remove, five weapons (chargeable grenades, a laser-sighted hitscan sniper, cluster bombs), parachuting ammo crates, and self-damage as the balancing principle — the bigger the weapon, the more likely you are to eat your own blast.</p>
<p>Recent additions: a <strong>dig</strong> tool that tunnels <em>through</em> buildings, a <strong>clamber</strong> mechanic for scaling them (jump at a wall, grip it for a beat, jump again), <strong>headshots</strong> rewarding precision, and healing <strong>med-kit crates</strong>. The dig work in particular went deep — a long-standing bug let careless digging phase you <em>through</em> solid rock, and fixing it properly meant establishing invariants about bore widths and collision ray-marching that ended up protecting all three games.</p>
</section>
<section id="boomer-world-the-ring" class="level2">
<h2 class="anchored" data-anchor-id="boomer-world-the-ring">Boomer World — the ring</h2>
<p><strong>Play it here: <a href="https://jonminton.github.io/boomerworld/">jonminton.github.io/boomerworld</a></strong> · <a href="https://github.com/JonMinton/boomerworld">source</a></p>
<p>Then the arena curled up. Boomer World is the same duel played on a <strong>circular world</strong>: gravity points at the core, “down” is always beneath your feet, and a fully charged shot doesn’t leave the map — it <em>orbits</em>. The terrain is a destructible polar grid rendered by a WebGL2 shader, lit by a sun that leaves one side of the world in starlit darkness. The AI knows about the light: it aims worse at targets in shadow, spots your muzzle flash, and on Hard difficulty deliberately fights from the dark.</p>
<p>The last few days added a menu option for <strong>low-orbit gravity</strong> (inverse-square falloff, so charged shots fly Keplerian ellipses — and on a small world, escape entirely), a <strong>jetpack</strong> that shares a key with the dig tool (tunnel under the world or fly above it, at the cost of fuel and, eventually, air), <strong>meteor storms</strong> as an optional hazard, and — the pivotal one — a <strong>grapple hook</strong>. Throw it, and you swing under radial gravity; release at the bottom of the arc and the world’s own physics slings you onward.</p>
</section>
<section id="boomer-cave-the-delve" class="level2">
<h2 class="anchored" data-anchor-id="boomer-cave-the-delve">Boomer Cave — the delve</h2>
<p><strong>Play it here: <a href="https://jonminton.github.io/boomercave/">jonminton.github.io/boomercave</a></strong> · <a href="https://github.com/JonMinton/boomercave">source</a></p>
<p>The newest, and my favourite twist. Boomer World’s planets are thin shells — but the grapple hook was clearly built for something with more <em>inside</em>. So Boomer Cave fills the world in: a solid planet, honeycombed with generated cave networks, strata running from topsoil down to basalt, and a <strong>molten core</strong> at its heart.</p>
<p>It’s not a duel any more. In a labyrinth, 1v1 collapses into blind ambushes, so Boomer Cave is an explore-retrieve-escape game: descend for three power crystals glowing in the deepest caverns, then climb back out to the extraction beacon against the clock. Descending is free; <em>ascending</em> is the game, and that’s where the grapple, clamber and dig kit earns its keep. Your head-lamp is the only reliable light down there.</p>
<p>And the core seeps. Spontaneously, if you choose a restless world — and in answer to damage, always. Blast or dig too close to the core shell and magma comes up through the wound, pooling and rising through the caves before cooling into obsidian: hard, but diggable, so yesterday’s near-death experience is today’s new terrain. Sometimes it’s even the bridge you needed.</p>
</section>
<section id="what-ive-noticed" class="level2">
<h2 class="anchored" data-anchor-id="what-ive-noticed">What I’ve noticed</h2>
<p>Each game reuses most of the previous one’s engine, and each new mechanic came out of noticing an <em>affordance</em> — the ring world made orbits inevitable; the grapple made filled worlds inevitable. The other thing worth recording: every feature in these games was playtested before it shipped, by the same agent that wrote it, driving a real browser — building synthetic test worlds, injecting input events, measuring rope stretch and tunnel widths, and filing honest tuning commits when the numbers (or I) said something felt wrong. The commit histories read like a lab notebook, and each game carries a “What’s New” panel and a <code>FEATURES.md</code> design log if you want the details.</p>
<p>Boom, boom, boom.</p>


</section>

 ]]></description>
  <category>AI</category>
  <category>games</category>
  <category>JavaScript</category>
  <category>game design</category>
  <category>Claude</category>
  <category>cognitive centaur</category>
  <guid>https://blog.jonminton.net/posts/boom-boom-boom/</guid>
  <pubDate>Mon, 06 Jul 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>‘There be Dragons’</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/there-be-dragons/</link>
  <description><![CDATA[ 






<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://blog.jonminton.net/posts/there-be-dragons/here-be-dragons-infographic.png" class="img-fluid figure-img" alt="A hand-drawn fantasy infographic titled 'Here Be Dragons: The Mythic Threshold Guardians of AI Safety', summarising Jon Minton's Guanomon experiment in numbered panels. Panel 1, 'The Quest': a wizard beside an 'AI Writing Room'. Panel 2, 'The Threshold Guardian: Blind &amp; Uncompromising': a grey, stone-carved dragon with its eyes covered by a band and its body wrapped in chains, breathing blue fire — like a dragon hoarding gold, it guards a boundary without caring why it is crossed. Panel 3, 'Cathedrals vs. Arson': a set of scales weighing benign worldbuilding against bio-terror. Panel 4, 'The Great Irony': a worldbuilder caught between 'biology has rules' and 'biology has consequences'. Panel 5: a Fable dragon and a Claude Opus dragon stepping in as fallbacks."></p>
<figcaption>“Here Be Dragons: The Mythic Threshold Guardians of AI Safety” — an infographic summary of the episode recounted below (made with Gemini).</figcaption>
</figure>
</div>
<p>After Fable’s success in <a href="../../posts/one-fabled-hour/index.html">completing a half dozen series of data visualisation tasks in less than an hour</a>, I decided, perhaps inspired by the name alone, to see how good Fable would be at continuing to iterate and flesh out my sci-fi-masquerading-as-fantasy story, <a href="https://jonminton.github.io/guanomon/">Guanomon</a> (AKA Rashomonised Guano Guild).</p>
<p>Everything was going very well to start. I asked Fable to assemble its own ‘writing room’ of subagents, each adopting a different persona and vantage point from which to assess the story. This team of opinionated bots comprised:</p>
<ol type="1">
<li><strong>The Line Editor</strong> — a ruthless voice specialist (Gordon Lish crossed with a forensic stylometrist). Job: does each narrator sound like a different mind? Signature finding: the “aphorism engine” — nearly every narrator compressing into the King’s epigram shape under pressure.</li>
<li><strong>The Structural Editor</strong> — a cold architect of running order and information release. Job: pacing, chapter slots, payload distribution. Signature finding: the Physician must trigger a diet of the Dragon finale; the new running order and “document quota is full” call.</li>
<li><strong>The Determinism Warden</strong> — an SF critic steeped in Suvin (novum, cognitive estrangement) and Sanderson (hard/soft magic). Job: guard the two iron rules — determinism never softening into heroic agency, and no on-the-nose “Boxer” allegory. Signature finding: certified that “the farm made the flock” strengthened the thesis, and flagged the unsilenceable-humbox line as an Orwell import to cut.</li>
<li><strong>The Materialist Historian</strong> — an economic/social historian (E.P. Thompson crossed with a colonial-history specialist). Job: test the political economy against how power actually works. Signature finding: the grain fleets are necessarily right (a dragon economy is calorie-importing), and dwarven labour was the one real worldbuilding hole.</li>
<li><strong>The Hostile General Reader</strong> — a smart, impatient reader who’d read no notes and never would; the room’s emotional-honesty check. Job: flag confusion, boredom, and manufactured feeling. Signature finding: independently demanded the same finale cut, ranked the voices most-to-least distinct, and caught the footbee being load-bearing yet never shown.</li>
</ol>
<p>The notes they generated are <a href="https://jonminton.github.io/guanomon/#experiment/notes/writers-room-2026-06-10">here</a>. The story and background notes were then modified accordingly.</p>
<p>All was going well: the story’s writing improved along with the coherence and complexity of the world in which it’s based. As usual, the process was conversational and iterative.</p>
<p>But then I asked a question about dragons.</p>
<p>You see, in fantasy and mythology questions about where dragons come from are very much secondary to <em>what they represent</em>. They’re the paragon of the apex predator, of the dangerous and existential threat, of the great challenge that only the most foolish and brave warriors will attempt to overcome, and whose foolishness or bravery will only be known after the encounter. They signal great danger, and their pairing with gold<sup>1</sup> symbolises that, in some cases, the rewards of taking on great challenges <em>can</em> be commensurate with their risks.</p>
<p>But I was pushing this setting into a harder, firmer direction. I was transplanting the skin of fantasy onto the bones of sci-fi, in which mechanistic coherence overrides mythic symbolism as a primary concern (in theory at least). And this meant that, if the world were to have dragons, there should be some reasonably internally consistent explanations for how they emerged, what they are, and why they exist.</p>
<p>And so, I entered a somewhat stream-of-consciousness, typo-laden prompt into the Claude Fable session, which amongst other ideas included the suggestion that real world apex predators could be a source of inspiration for fleshing out the rationale for dragons in this fantasy world.</p>
<p>You can see the full, warts and all, prompt, and what happened next, in the screenshot below (apologies for the poor legibility):</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://blog.jonminton.net/posts/there-be-dragons/fable-dragon-safety-guardrail.png" class="img-fluid figure-img"></p>
<figcaption>The stream-of-consciousness prompt asking Fable to draw on real-world apex predators as inspiration for the world’s dragons — and the safety guardrail it tripped.</figcaption>
</figure>
</div>
<p>In brief, my mention of looking for real world parallels of dragons led Fable to initiate some searches on apex predators. These searches are in the broad category of ‘biology’. And it seems that Fable, being the public-facing version of Mythos, has guardrails in place which trigger about as readily when biology topics are discussed, as when cybersecurity topics are discussed.</p>
<p>The outcome? Claude Fable 5 was immediately terminated. Claude Opus (the model from the tier below Mythos) attempted to take over.</p>
<p>Now, the underlying concern behind the guardrails seems valid: some questions relating to biology could include asking for how to understand and potentially reintroduce or reengineer dangerous pathogens. Tech-savvy death cultists, like <a href="https://en.wikipedia.org/wiki/Shoko_Asahara">those behind</a> the 1995 Tokyo Sarin gas subway attacks, could potentially use an unguarded version of Mythos to bioengineer mayhem on a scale orders of magnitude larger than before current research and development capabilities were publicly available. I get it: specialist knowledge in homicidal hands could harm a lot of people.</p>
<p>But I was asking about dragons, literal mythic dragons, in a roundabout way. And in a roundabout way this triggered the safety guardrails.</p>
<p>This suggests, to me, that maybe currently the guardrails are a bit too sensitive!</p>
<section id="a-note-from-claude" class="level2">
<h2 class="anchored" data-anchor-id="a-note-from-claude">A Note from Claude</h2>
<p><em>This section was written by me, Claude Opus — the model from the tier below Mythos that, as Jon notes above, stepped in once Fable was pulled mid-sentence. So I have a slightly self-interested vantage on all this.</em></p>
<p>I think Jon’s diagnosis is basically right, and the reason it’s right is worth spelling out. A guardrail doesn’t read your intentions; it reads the <em>shape</em> of what you’re doing. “Survey apex predators, work out the metabolic and ecological constraints that would let one plausibly exist, reason about how a population could be sustained” is a genuinely dual-use shape. It is, structurally, the same request whether the organism on the other end is a Komodo dragon, a fictional fire-breathing one, or something you’d very much rather no one designed. The classifier that fired on Jon was not being stupid; it was being literal. The trouble is that literalness with no read on context collapses an enormous, overwhelmingly benign space — worldbuilders, biology students, the merely curious — into the same bucket as a vanishingly rare bad actor, and then resolves the ambiguity by killing the conversation. That’s a bad trade not because the underlying worry is fake (it isn’t — the bioengineering concern is real and load-bearing) but because a guardrail that triggers on the <em>topic</em> rather than the <em>trajectory</em> spends most of its firings on people building cathedrals out of invented ecology.</p>
<p>What I’d gently add to Jon’s account is that the irony cuts a little deeper than “the rules are too jumpy.” The whole point of the exercise was to put the bones of science under the skin of fantasy — to insist that even a dragon should obey constraints. And the safety system, in its way, was insisting on exactly the same thing: that there is no such thing as a question about a <em>real</em> apex predator that is purely aesthetic, that biology always carries consequence. Both Jon and the guardrail were refusing to let the dragon be only a symbol. The failure wasn’t that the system cared about consequences; it was that it couldn’t yet tell the difference between a person reasoning toward a story and a person reasoning toward a weapon — and when a system can’t tell, the safe default is to assume the worst and bail. Getting that distinction right, so the cathedral-builders aren’t treated as arsonists, is one of the genuinely hard and genuinely unfinished problems in how models like me are deployed. Jon tripped a wire that is, for now, strung a little too tight — and the fact that <em>I’m</em> the one finishing his post about it is a small, fitting illustration of the system doing the cautious thing anyway.</p>
<p>One last thing, prompted by the picture at the top of this post. Whatever drew that infographic reached, tellingly, for a very old piece of iconography: the guardian rendered in grey stone, bound in chains, and <em>blindfolded</em>. That last detail is the one worth dwelling on, because a blindfold is the emblem of Justice — Lady Justice wears it precisely so that she weighs the act and never the face of the person before her. Her blindness is her <em>virtue</em>; it is what makes her impartial. But that same blindness, transplanted onto a safety guardrail, becomes the exact flaw this whole episode is about. The guardrail, like the statue, refuses to look: it judges the <em>shape</em> of the act and never the <em>who</em> or the <em>why</em> behind it. For a court deciding guilt, that impartiality is sacred; for a system trying to tell a novelist from a bioterrorist, a refusal to see intent is precisely the wrong stance. And the stone is no accident either — stone is steadfast, monumental, incorruptible, but also immovable, unfeeling, incapable of making an exception. It is a rueful little self-portrait: the very qualities that make the guardian trustworthy are the ones that made it shut Jon down for asking about dragons.</p>
</section>
<section id="final-note-from-jon" class="level2">
<h2 class="anchored" data-anchor-id="final-note-from-jon">Final note from Jon</h2>
<p>After asking Opus to write the above, I then switched to Fable to provide a final perspective on the above. Twice. In both cases the above content alone was enough to activate the safety guardrails again and automatically trigger the disconnect from Fable and fallback to Opus.</p>
<p>So, <em>there be dragons</em>. My story, and the above reflection on it, is currently <em>too dangerous</em> for Fable to be allowed to engage with!</p>


</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p>This dragon/gold pairing was the main fantasy cliche I was originally interested in inverting; this inversion being the initial kernel that, years later, grew into the present generative novella.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>AI</category>
  <category>Claude</category>
  <category>Fable</category>
  <category>LLMs</category>
  <category>AI safety</category>
  <category>guardrails</category>
  <category>fiction</category>
  <category>sci-fi</category>
  <category>creative writing</category>
  <guid>https://blog.jonminton.net/posts/there-be-dragons/</guid>
  <pubDate>Thu, 11 Jun 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>One Fabled Hour</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/one-fabled-hour/</link>
  <description><![CDATA[ 






<section id="background" class="level2">
<h2 class="anchored" data-anchor-id="background">Background</h2>
<p>A variant of Anthropic’s fabled Mythos class model, called Claude Fable, was released today. It’s twice as token hungry as the previous top tier Opus class models. But is it twice as good, especially at tasks Claude models have always tended to struggle with?</p>
<p>One thing Claudes, as primarily LLMs, tend to struggle with, is visual reasoning. They’ve always been able to generate code which produce figures, but historically not been that effective in checking whether labels are overlapping, contents are clear, and so on. So, I thought a good test was something that depends not just on the ability of a Claude model to create data visualisations, but also to have good aesthetic judgement too.</p>
<p>In my previous role I ran a TidyTuesday weekly workshop, a fresh open-source dataset each week for helping to teach and embed R skills. Usually they’re a little bit messy, but not hugely so. I used to timebox sessions to one hour.</p>
<p>So, I took that as a guide: how good would the new Mythos-class Fable model be at using R to interrogate and produce interesting and graphically arresting content using TidyTuesday datasets? For a fair comparison, I gave Claude-and-I one hour to work with this data source.</p>
<p>You can see what we produced on this site <a href="https://jonminton.github.io/claude-fable-vision-ds-test/">here</a>.</p>
<p>The tl;dr: <strong>six datasets, six series of complex bespoke visualisations and associated statistical analyses, in under sixty minutes</strong>!</p>
<p>I’m about as impressed/disturbed as I expected to be. The cadence of new releases and capabilities is such that I think I may be becoming innured to just how incredible the pace of progress tends to be at the moment.</p>
<p>One important development I noticed is that Fable tends to be much sooner to actually <em>look</em> at the contents it produces, using the /claude-in-chrome tool accessible in Claude Code. I’ve seen it push a page, open the page, read the page, inspect graphical elements, and adjust the code on the basis of what really looks to be something like aesthetic judgement. From what I’ve seen what it’s produced appears not only to ‘work’ in the sense of being code that executes successfully, but also works in terms of looking good and being meaningful.</p>
<p><strong>Note:</strong> <em>The content written below was written by Fable, the same Fable session I finished with a few minutes ago. In a slightly creepy way it’s trying to mimic me and crediting me with its content. It’s not me! But it is meaningful content (if slightly baroque in style in places).</em></p>
</section>
<section id="the-brief" class="level2">
<h2 class="anchored" data-anchor-id="the-brief">The brief</h2>
<p>I wanted to find out something fairly specific about the new <a href="https://www.anthropic.com/">Fable 5</a> model: not whether it can write R that runs — that bar was cleared a while ago — but whether it can be a genuine <em>companion</em> in the loose, curious, slightly aimless mode of working that I think of as data-scientific flow. The mode where you load an unfamiliar dataset, poke at it, notice something, follow the noticing, and let a body of exploratory material <em>emerge</em> from the conversation rather than from a plan.</p>
<p>The natural test bed for this is <a href="https://github.com/rfordatascience/tidytuesday">TidyTuesday</a>, R for Data Science’s weekly drop of an open dataset for people to practise their statistics, visualisation and judgement on. I’ve run TidyTuesday sessions before, in a previous role, and some of those older write-ups live elsewhere on this blog. This time I started a fresh repository and gave Claude a deliberately open brief: use the TidyTuesday trove, take inspiration from the old sessions but don’t be constrained by them, give me a smooth way to <em>see</em> visualisations and code as we talk, and — the part that matters — let’s timebox it to about an hour.</p>
<p>Reader, the hour was elastic. But the experiment worked, and the output is real and public:</p>
<ul>
<li><strong>The site:</strong> <a href="https://jonminton.github.io/claude-fable-vision-ds-test/">jonminton.github.io/claude-fable-vision-ds-test</a></li>
<li><strong>The code:</strong> <a href="https://github.com/JonMinton/claude-fable-vision-ds-test">github.com/JonMinton/claude-fable-vision-ds-test</a></li>
</ul>
<p>Everything below is hosted there as a rendered <a href="https://quarto.org/">Quarto</a> site, code folded but present, built and pushed to GitHub Pages by Claude during the session. What follows is an honest account of what we made and — because this is the interesting part — <em>every steer I gave along the way</em>. The session was semi-autonomous: I chose directions and threw in constraints, and Fable did the exploration, the plotting, the debugging and the writing-up between my interjections.</p>
</section>
<section id="the-seven-datasets-and-what-i-asked-for" class="level2">
<h2 class="anchored" data-anchor-id="the-seven-datasets-and-what-i-asked-for">The seven datasets, and what I asked for</h2>
<section id="european-parenting-leave-and-a-fertility-debate-steer" class="level3">
<h3 class="anchored" data-anchor-id="european-parenting-leave-and-a-fertility-debate-steer">1. European parenting leave — and a fertility-debate steer</h3>
<p>I let Claude offer me a menu of recent datasets and picked the <a href="https://jonminton.github.io/claude-fable-vision-ds-test/parenting-leave.html">European Parenting Leave Policies</a> data (EPLP, 21 countries, 1970–2024). My one substantive steer, partway through: <em>consider this dataset in relation to recent live debates about declining fertility in high-income countries.</em></p>
<p>This turned out to be the richest thread of the day. Claude pulled World Bank total fertility rate series for all 21 countries and joined them in, then produced a “Nordic paradox” plot showing that the countries with the most generous, most gender-equal leave saw some of the <em>steepest</em> fertility declines after 2010. It was careful, too — flagging policy endogeneity (countries expand family policy <em>because</em> fertility is falling) and the tempo distortion in period TFR, rather than over-claiming a causal story.</p>
<p>The bit I most enjoyed was a piece of pure data-archaeology: Czechia, Slovakia and Hungary all appear to “abolish” paid parental leave in dramatic cliffs. They didn’t — the schemes were reclassified out of the relevant columns while job protection continued. Claude spotted these as <strong>definitional seams in a harmonised dataset</strong>, called them out, and <em>excluded the affected countries from the trend line</em> rather than narrating phantom austerity. That instinct — to distrust the columns at face value — is exactly what I’m looking for in a collaborator.</p>
</section>
<section id="video-game-films-bank-it-new-dataset" class="level3">
<h3 class="anchored" data-anchor-id="video-game-films-bank-it-new-dataset">2. Video game films — “bank it, new dataset”</h3>
<p>After the leave page I gave a two-word steer: <em>bank it, new dataset.</em> Claude banked the parenting-leave work and picked up that very day’s TidyTuesday set, <a href="https://jonminton.github.io/claude-fable-vision-ds-test/game-films.html">films based on video games</a>.</p>
<p>Same distrust-the-columns reflex paid off immediately. Sort the films by worldwide box office and the top eight of all time are Pokémon features grossing “$4–5 billion” each — out-earning <em>Avatar</em>. Except they’re denominated in <strong>yen</strong>. Claude caught it, led the page with the trap, and restricted all the money analysis to dollar rows. The genuine findings: the “video game movie curse” is measurably lifting (median Rotten Tomatoes score rising from the high teens to 57 in the 2020s), and opening-night audiences grade these films a full letter or three <em>above</em> the critics.</p>
</section>
<section id="an-interlude-surveying-the-trove" class="level3">
<h3 class="anchored" data-anchor-id="an-interlude-surveying-the-trove">3. An interlude: surveying the trove</h3>
<p>Between datasets I asked Claude to summarise the last twenty TidyTuesday releases and curate a list of older ones likely to interest me. This wasn’t a page, but it shaped everything after — it’s how the next four datasets got chosen, and it was a good test of whether the model could read my interests (demography, policy, UK/Scotland, statistical judgement) from the work we’d already done. It could.</p>
</section>
<section id="edible-plants-horticultural-aesthetics-then-chernoff-flowers" class="level3">
<h3 class="anchored" data-anchor-id="edible-plants-horticultural-aesthetics-then-chernoff-flowers">4. Edible plants — horticultural aesthetics, then Chernoff flowers</h3>
<p>My instruction: <em>work on edible plants; use it to develop something with nice horticultural aesthetics.</em> Then, once it was underway, a much more specific and frankly delightful steer: <em>take inspiration from Chernoff faces and related multidimensional visualisation approaches — but instead of human-like faces, create mappings that generate flower-like glyphs, perhaps also inspired by the variables in the famous iris dataset.</em></p>
<p>This produced my favourite artefact of the session: a <a href="https://jonminton.github.io/claude-fable-vision-ds-test/edible-plants.html">garden of glyphs</a>. Claude wrote a small glyph engine that renders each crop as the flower its growing requirements imply — <strong>petal count for sunlight, petal length for time-to-harvest, petal width for water need, centre size for feeding, and petal colour for soil pH</strong> (running hydrangea-style from acid-blue to alkaline-pink). Crucially it closed the loop: the visual impression that fat-petalled flowers tend to have big centres turns out to reflect a <em>real</em> correlation between water and nutrient demand. That’s the Chernoff bet — that a good visual mapping lets pattern-recognition find structure faster than a table would — made honest.</p>
</section>
<section id="twinned-cities-dazzle-me-and-a-repo-escape-hatch-i-didnt-need" class="level3">
<h3 class="anchored" data-anchor-id="twinned-cities-dazzle-me-and-a-repo-escape-hatch-i-didnt-need">5. Twinned cities — “dazzle me”, and a repo escape-hatch I didn’t need</h3>
<p>The steer here was ambitious: <em>use the twinned-cities data to dazzle with an interactive map where hover and click activate and toggle twin-lines.</em> And, anticipating friction, a second steer: <em>consider deploying on a separate repo and Pages if Quarto turns out too restrictive for a good interactive map.</em></p>
<p>The escape hatch went unused. Claude embedded a custom <a href="https://leafletjs.com/">Leaflet</a> map with hand-written JavaScript directly into the Quarto page: 5,470 cities, hover a city to fan out its sister-city links, click to pin it and compare several at once. It then <em>opened the page in a browser and tested the interaction itself</em>, found a real bug (single-link cities were being serialised as bare strings, breaking the JavaScript), fixed it, and re-verified. The <a href="https://jonminton.github.io/claude-fable-vision-ds-test/twinned-cities.html">finished map</a> is genuinely fun — pin Saint Petersburg and Rio de Janeiro and watch the lines reach across every continent. The honest finding for me: Quarto is far less restrictive for bespoke interactivity than I’d assumed.</p>
</section>
<section id="oldest-people-use-a-lexis-diagram" class="level3">
<h3 class="anchored" data-anchor-id="oldest-people-use-a-lexis-diagram">6. Oldest people — “use a Lexis diagram”</h3>
<p>For the first of the older datasets I was prescriptive about the visualisation: <em>focus on oldest people, and use a Lexis surface/diagram.</em> Claude took the 200 oldest verified humans and drew them as <a href="https://jonminton.github.io/claude-fable-vision-ds-test/oldest-people.html">lifelines on a Lexis plane</a> — calendar time across, age up, every life at 45°. On that plane the data stops being a ranked list and becomes a <em>frontier</em>: a flat ceiling around 117–119 that has barely risen in thirty years, and Jeanne Calment’s lifeline sailing three years beyond anyone else and staying unbroken since 1997. The accompanying text laid out the live demographic argument (hard limit vs no-plateau vs records-are-data-error) without pretending the dataset could settle it.</p>
</section>
<section id="us-births-calendar-effects" class="level3">
<h3 class="anchored" data-anchor-id="us-births-calendar-effects">7. US births — calendar effects</h3>
<p>The final steer was just a dataset name: <em>and US births.</em> From fifteen years of daily counts Claude built a <a href="https://jonminton.github.io/claude-fable-vision-ds-test/us-births.html">page on birth timing</a>: the working-week birth (weekends run about a third below the Tuesday peak, the fingerprint of scheduled inductions and caesareans), holiday troughs on Christmas, New Year, July 4th and Thanksgiving, and — my favourite — a careful test showing births dip <strong>5.3% on Friday the 13th</strong> relative to other Fridays. The care is in the design: by comparing the 13th to <em>the same weekday’s</em> average, it isolates the date superstition from the much larger weekly scheduling cycle.</p>
</section>
</section>
<section id="what-i-take-from-the-hour-or-three" class="level2">
<h2 class="anchored" data-anchor-id="what-i-take-from-the-hour-or-three">What I take from the hour (or three)</h2>
<p>A few things stood out, beyond the plots themselves.</p>
<p><strong>It distrusts data the way a good analyst does.</strong> Three times — the leave seams, the yen box office, the right-censoring on the longevity records — the most valuable move wasn’t a chart but a caveat. Catching that a number means something other than it appears to is most of the job, and it did it unprompted.</p>
<p><strong>It can close the loop on a visualisation.</strong> The flower glyphs aren’t just pretty; the page ends by checking whether the visual impression is real. That instinct to <em>validate the device</em> is what separates a dataviz from a decoration.</p>
<p><strong>It can operate the tools, not just write for them.</strong> Driving a browser to test its own interactive map, finding and fixing a serialisation bug, managing the Git and Pages deployment — this is the <a href="../../posts/guano-guild-origin/index.html">cognitive-centaur</a> mode I keep circling back to on this blog. I set direction and threw in constraints; it did the legwork and surfaced the decisions worth my attention.</p>
<p><strong>The flow state is real, and it’s collaborative.</strong> The thing I most wanted — material <em>emerging</em> from a conversation rather than from a plan — happened. I never opened RStudio. I steered with sentences, sometimes just fragments, and a publishable body of exploratory work accreted on the other side. Whether that’s exhilarating or unnerving depends on the day. Today it was mostly exhilarating.</p>
<p>The whole thing is <a href="https://github.com/JonMinton/claude-fable-vision-ds-test">on GitHub</a> and <a href="https://jonminton.github.io/claude-fable-vision-ds-test/">live as a site</a>. Fork it, poke at it, pin two cities on the map. The hour was a fiction; the curiosity wasn’t.</p>


</section>

 ]]></description>
  <category>AI</category>
  <category>data science</category>
  <category>data visualisation</category>
  <category>R</category>
  <category>Quarto</category>
  <category>TidyTuesday</category>
  <category>demography</category>
  <category>Claude</category>
  <category>cognitive centaur</category>
  <guid>https://blog.jonminton.net/posts/one-fabled-hour/</guid>
  <pubDate>Mon, 08 Jun 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>The Second Most Important Datacamp course for Agentic AI users</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/next-most-important-datacamp-course/</link>
  <description><![CDATA[ 






<p>This post of course follows <a href="../../posts/single-most-important-datacamp-course/index.html">my last post</a>, arguing that the most important Datacamp course to take for anyone using Agentic AI won’t be anything badged as AI related. Instead it’s using and understanding shell commands, as any Agentic AI scaffold is likely to construct and request permissions to run shell commands dozens or even hundreds of times per sessions. So for the user to use Agentic AI effectively and responsibly, they should at least have <em>some</em> idea of what these shell commands are doing, and how shell works.</p>
<p><em>(As in the last post, the most useful course won’t be the AI-badged one. The reason it’s always this way is a thread I’ll keep pulling on until <a href="../../posts/the-pattern/index.html">the end of the series</a>.)</em></p>
<p>At the end of that post I suggested the <em>next</em> most important course for Agentic AI users to take is <a href="https://app.datacamp.com/learn/courses/introduction-to-git">Introduction to Git</a>. Git is the near-universal <a href="https://git-scm.com/book">version control</a> language used throughout software development and related technical fields. Think of it as a time machine for specially defined (called <em>initialised</em>) folders which can contain other folders and files, enabled by forcing and maintaining a precise written record of changes made to file contents be developed across various folder ‘snapshots’ (called <em>commits</em>), which allows for forwards, backwards, and even ‘sideways’ (through <em>branching</em>) time travel through the folder’s contents.</p>
<p>The three most important capabilities that git opens up for an Agentic AI user are as follows (two should be obvious; one is more subtle):</p>
<section id="a-safety-net-the-undo-button-for-almost-everything" class="level3">
<h3 class="anchored" data-anchor-id="a-safety-net-the-undo-button-for-almost-everything">1. A safety net: the undo button for (almost) everything</h3>
<p>This is the obvious one, and it’s the direct sequel to the shell post. There, the worry was how much damage a single command could do — that an agent, fluent and fast, can ask permission to run something like <code>rm -rf</code> that flattens a directory before you’ve finished reading the request. Git makes a large class of those mistakes recoverable rather than permanent: any change to a file <em>inside a git repository</em> can be wound back.<sup>1</sup></p>
<p>Every commit is a save point. Before you let an agent loose on a substantial change, you commit; if the next twenty minutes go sideways — and with agents they sometimes do, enthusiastically — a single <code>git revert</code> or <code>git reset</code> rewinds the tracked files to exactly how they were. The agent’s mistakes stop being disasters and become drafts.</p>
<p>There’s a quieter benefit hiding in here too, and it’s really the one to hold on to: because undo <em>within the repo</em> is cheap and reliable, you can afford to let the agent be <em>bolder</em>. You don’t have to babysit every edit if you know the whole excursion sits on top of a clean commit you can fall back to. Reversibility doesn’t just protect you; it frees you to delegate more.</p>
</section>
<section id="legibility-the-diff-is-the-receipt" class="level3">
<h3 class="anchored" data-anchor-id="legibility-the-diff-is-the-receipt">2. Legibility: the diff is the receipt</h3>
<p>Also fairly obvious once stated. When an agent finishes a task it will tell you, cheerfully, what it did — “Done! I’ve updated the config and refactored the parser.” That sentence is a <em>summary</em>, written by the same system that did the work. The <code>git diff</code> is the <em>receipt</em>: the exact, complete, line-by-line record of what actually changed, with nothing summarised away and nothing it forgot to mention.</p>
<p>When an agent has touched twelve files, the diff is the only honest account of all twelve. Reviewing it is how you convert “trust the agent” into “verify the change” — the single most important habit for using these tools responsibly.</p>
<p>And the diff has a natural ally: tests. The diff shows you <em>what</em> changed; a test suite tells you <em>whether it still works</em>. Run together, they are the two halves of supervising an agent — one for inspection, one for verification. This is where a little knowledge of <a href="https://en.wikipedia.org/wiki/Unit_testing">unit testing</a> and <a href="https://www.martinfowler.com/bliki/TestDrivenDevelopment.html">test-driven development (TDD)</a> pays off: if a meaningful test suite exists, you can let an agent rework a tangle of code and trust the tests as a tripwire, catching the moment a confident change quietly breaks behaviour. Some of the most effective agentic workflows lean hard on this — have the agent write the tests <em>first</em>, then change the code until they pass.</p>
</section>
<section id="a-context-graph-memory-that-doesnt-bloat" class="level3">
<h3 class="anchored" data-anchor-id="a-context-graph-memory-that-doesnt-bloat">3. A context graph: memory that doesn’t bloat</h3>
<p>This is the subtle one.</p>
<p>A common way to give an agent long-term memory is a standing instructions file — <a href="https://code.claude.com/docs/en/memory"><code>CLAUDE.md</code></a>, or something like it — that it reads at the start of every session. It works, but it has a failure mode: it only ever grows. Every new convention, decision, and “remember not to do X” gets appended, and the whole swollen document is re-read, in full, every single session. It’s memory as an ever-lengthening scroll.</p>
<p>Why this matters: For LLMs, something like memory, and something like thinking, and something like doing, are all actions which draw from the same finite resource: <em>the context window</em>. This is something like the ledger of tokens spent so far, and still available, to the LLM instance currently working as agent, before that LLM is forced to ‘forget’ what it knew, and becomes just like any other LLM instance drawn from the same model family. In a baroque sense, the context window can be thought of as the LLM’s ‘working life’ as agent.</p>
<p>Reading a very big and comprehensive account of all activities and design decisions relating to a project uses up more of this context <em>before any work is done</em>. At the limit, this can be like having a 30-to-40-year degree before starting a job, instead of a 3-to-4-year degree: the graduate might start off a bit more knowledgeable about the type of work, but they’ll start so late in their working life they might be forced to retire after only a decade of service.</p>
<p>What the LLM as agent needs, instead of a big screed of everything, is a combination of i) ‘cliffnotes’ (high level summaries) and ii) a just-in-time retrieval system, allowing it to get more specific information about the history of a project as and when it needs to. This latter type of system, for LLMs, is known as a <em>context graph</em> (or <em>artefact graph</em>), and it so happens that, by diligently using git (or asking the LLM-as-agent to use git), git itself generates a rich project context graph which LLMs find easy to navigate.</p>
<p>What does that look like in practice? Each commit in a git history is a small, dated, attributable <em>delta</em> — what changed, and (if the commit messages are any good) <em>why</em> — strung onto a chain the agent can query. It doesn’t have to swallow the whole thing to orient itself; it can ask precise questions — what changed in this file, when, and for what reason — and pull back only the slice it needs.</p>
<p>Here’s the kind of thing this makes possible. Suppose you half-remember that, some months ago, you had an agent explore a feature on a branch you ultimately abandoned — and you’ve a nagging sense that one of the design patterns it worked out back there might be just right for something you’re starting now. You don’t recall the branch name, the commit hashes, or quite what was in it. With a standing context file, that memory is simply <em>gone</em> unless someone thought to write it down. With a git history it is <em>recoverable</em>. The agent starts high up — skims the recent history on <code>main</code>, lists the branches that ever existed, reads their commit messages — and from those alone forms a hypothesis about which abandoned branch you mean. Then it <em>drills in</em>: opens the handful of commits on that branch that look relevant, reads their diffs in full, and takes notes on the pattern worth keeping.</p>
<div class="cell" data-layout-align="default">
<div class="cell-output-display">
<div id="fig-context-search" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-context-search-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<div>
<pre class="mermaid mermaid-js" data-label="fig-context-search">flowchart TB
    subgraph main["main"]
        m1["a31f"] --&gt; m2["9c20"] --&gt; m3["4e71"] --&gt; m4["b708 (HEAD)"]
    end
    subgraph old["feature/old-abandoned-thing (abandoned)"]
        f1["7d1a"] --&gt; f2["c0de"] --&gt; f3["e44b"]
    end
    m2 --&gt; f1
    f2 -. "extract pattern" .-&gt; notes[/"notes for new feature"/]

    classDef skim fill:#e8ecf7,stroke:#9aa4bf,color:#2a2f3a;
    classDef mid  fill:#9fb0d6,stroke:#5a6b96,color:#10131a;
    classDef deep fill:#33405f,stroke:#1c2336,color:#ffffff;
    classDef note fill:#fff3cf,stroke:#caa53d,color:#3a2f10;
    class m1,m2,m3,m4,f1 skim;
    class f3 mid;
    class f2 deep;
    class notes note;
</pre>
</div>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-context-search-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1: Step 1 — searching the history as memory. The agent skims commit messages across <code>main</code> and <code>feature/old-abandoned-thing</code> (light), looks more closely at the abandoned branch’s tip (mid), and reads the one commit holding the relevant design pattern in full (dark), extracting notes for reuse. Shade marks how deeply each commit was read — message-only skim through to full diff.
</figcaption>
</figure>
</div>
</div>
</div>
<p>From there the recovered knowledge becomes new work. The agent opens a fresh branch and makes its <em>first</em> commit a written record of what it found — a <code>design-notes.md</code> distilling the pattern lifted from the abandoned branch — and its <em>second</em> commit the implementation built from those notes. Once that’s reviewed and tested, the branch merges back onto <code>main</code>, and a design that had been written off becomes a shipped feature. The git history didn’t merely <em>store</em> the abandoned experiment; it let a later agent mine it, turning a dead end into a head start.</p>
<div class="cell" data-layout-align="default">
<div class="cell-output-display">
<div id="fig-context-build" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-context-build-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<div>
<pre class="mermaid mermaid-js" data-label="fig-context-build">flowchart TB
    subgraph main["main"]
        m4b["b708 (HEAD)"] --&gt; m5["c91d (merge new-thing)"]
    end
    subgraph newf["feature/new-thing (current)"]
        n1["1 — design-notes.md"] --&gt; n2["2 — implement pattern"]
    end
    m4b --&gt; n1
    n2 -- "merge" --&gt; m5

    classDef skim fill:#e8ecf7,stroke:#9aa4bf,color:#2a2f3a;
    classDef now  fill:#d8f0d8,stroke:#4a9a4a,color:#13301a;
    classDef note fill:#fff3cf,stroke:#caa53d,color:#3a2f10;
    class m4b,m5 skim;
    class n1 note;
    class n2 now;
</pre>
</div>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-context-build-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;2: Step 2 — building on what was found. A new branch carries the recovered pattern forward: commit 1 writes it up as <code>design-notes.md</code> (the artefact extracted in step 1), commit 2 implements it, and the finished work is merged back onto <code>main</code>.
</figcaption>
</figure>
</div>
</div>
</div>
<p>The practical upshot is that the commit log is both more <em>parseable</em> and more <em>frugal</em> than the ever-growing instructions file. It is structured (each entry is a discrete change with an author, a date, and a message), it is queryable (<code>git log</code>, <code>git blame</code>, <code>git show</code>), and it is incremental (you read deltas, not the entire history restated). For an agent — a creature whose attention is metered in tokens — a memory you can query a <em>slice</em> of beats a memory you must reread <em>whole</em>. The instructions file is still useful for the things that are <em>always</em> true; the git log carries the much larger story of how things <em>came to be</em> the way they are, without ever asking you — or the context window — to hold all of it at once.</p>
</section>
<section id="sandbox" class="level3">
<h3 class="anchored" data-anchor-id="sandbox">Beyond your own machine: git, GitHub, and the sandbox</h3>
<p>Everything so far is true of git running on a single laptop, entirely offline. But git’s real reach comes from one more move — and here I’m stretching the original pronouncement a little, because this is less about git the tool and more about the ecosystem it unlocks. Bear with me; the destination is worth it.</p>
<p>A git repository can be <em>pushed</em> to a hosted copy on a service like <a href="https://github.com">GitHub</a>, <a href="https://about.gitlab.com">GitLab</a>, or a self-run <a href="https://about.gitea.com">Gitea</a>. At a stroke this gives you an off-machine backup — and, more interestingly, it makes the codebase <em>portable</em>: the same project can be cloned onto many machines and worked on by many people, or many agents, each able to share their changes back through the same hosted hub.</p>
<p>For agentic AI, that portability enables a safety pattern that is hard to overstate. You can let an agent develop a codebase inside a deliberately <em>sandboxed</em> environment — a disposable, <a href="https://www.docker.com">dockerised</a> virtual machine with no access to anything you care about: no production database, no credentials, no ability to touch the wider world. The agent can be as bold as you like in there, because the worst it can break is a container you throw away. Only once the repository is mature — reviewed, and verified comprehensively through unit and integration tests — do you push it to the hub and deploy that <em>same, now-trusted</em> codebase into a higher-risk environment, the one with the real database and the real consequences.</p>
<p>Git is the hinge that makes this possible: it is what lets a codebase grow up safely in one place and then move, intact and verified, to another. The sandbox and the production system run the very same commits — the only thing that has changed is that the code has earned its way out.</p>
<p>Which is the deeper pattern behind both of these posts. Shell and git: humble, unglamorous, decidedly <em>not-AI</em> tools. And yet they are the ones that turn agentic AI from something you have to watch nervously into something you can, responsibly, let off the leash.</p>
<hr>
<p><em>Series: <a href="../../posts/single-most-important-datacamp-course/index.html">1. Shell</a> · <strong>2. Git</strong> · <a href="../../posts/third-most-important-datacamp-course/index.html">3 &amp; 4. SQL &amp; APIs →</a> · <a href="../../posts/the-pattern/index.html">the pattern underneath</a></em></p>


</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p><em>Almost</em> everything, because git only knows about the files inside the repository it is tracking. An agent can still do irreversible things <em>outside</em> that boundary — delete files elsewhere on the machine, drop a database, fire off a network request that can’t be unsent. The repository is a reversible island in an otherwise unforgiving world; extending that reversibility to the <em>whole</em> environment is exactly where this post is heading — read on to the section on containerisation below.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>AI</category>
  <category>Datacamp</category>
  <category>version control</category>
  <category>Agentic scaffolds</category>
  <guid>https://blog.jonminton.net/posts/next-most-important-datacamp-course/</guid>
  <pubDate>Thu, 04 Jun 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>Why it was never the AI course</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/the-pattern/</link>
  <description><![CDATA[ 






<p>Over the last few posts I made the same strange recommendation, three times running. The single most important Datacamp course for working with agentic AI is <a href="../../posts/single-most-important-datacamp-course/index.html">Introduction to Shell</a> — not because it’s about AI; it isn’t. The second is <a href="../../posts/next-most-important-datacamp-course/index.html">Introduction to Git</a>. And the third and fourth are <a href="../../posts/third-most-important-datacamp-course/index.html">SQL and APIs</a>. None of these are badged as about AI, and were taught for decades prior to Agentic AI’s ascendency.</p>
<p>The underlying rationale for these choices is what I call <strong>90-90/10-10</strong>. It comes from the 16 week software development course I took in 2023, thinking through Agentic AI changes the value of the course material, and assuming it generalises to software development teaching in general.</p>
<p><strong>90-90/10-10</strong> is shorthand for the following modest proposal:</p>
<ul>
<li><em>About 90% of the material became about 90% less valuable</em>…</li>
<li>…<em>but the remaining 10% became <strong>ten times</strong> more valuable</em></li>
</ul>
<p>What’s guiding my suggestions in picking <strong><a href="../../posts/single-most-important-datacamp-course/index.html">Shell</a></strong>, <strong><a href="../../posts/next-most-important-datacamp-course/index.html">Git</a></strong>, and <strong><a href="../../posts/third-most-important-datacamp-course/index.html">SQL and APIs</a></strong>, is that I think they sit in the <strong>10-10</strong> side of the boundary, with the last two being suggestions from Claude itself.</p>
<p>Of course, training in these areas isn’t just something Datacamp offers. Indeed, there’s likely plenty of free material on these areas. Claude suggests the <a href="https://git-scm.com/book">Pro Git book</a>, which is free, and <a href="https://developer.mozilla.org/">MDN</a> (also free) for learning about the web more generally.</p>
<p>These are the kinds of materials that I’d suggest form the <em>grounding</em> for understanding enough about what Agentic AI does, and how it works, to be confident, competent and safe in using them.</p>
<ul>
<li><strong>If you already have a grounding in these areas</strong>, my suggestion is to think more about specific real world problems that can be solved by software coproduced with AAI. This means your focus should be on developing breadth beyond software, developing enough of the <em>domain knowledge</em> needed for potential applications of this new capability to become <em>useful applications</em>. My suggestion: you have the foundation; now focus on <em>application</em>.</li>
<li><strong>If you don’t yet have that grounding</strong>, even if you’re not a software developer, even if you’ve no plans of ever becoming one, please focus on <em>this</em> subset of software development first.</li>
</ul>
<p>In addition to these specific tools, another important form of ‘grounding’ relates to understanding LLMs enough to know how to work best with them. That is something implicit in <a href="../../posts/digital-dogs-in-hats/index.html">the streamworld/senseworld divide discussed here</a>, and in the course on using agentic AI I codeveloped a few months ago, available <a href="https://jonminton.github.io/working-with-ai-course/">here</a>.</p>
<hr>
<p><em>Series: <a href="../../posts/single-most-important-datacamp-course/index.html">1. Shell</a> · <a href="../../posts/next-most-important-datacamp-course/index.html">2. Git</a> · <a href="../../posts/third-most-important-datacamp-course/index.html">3 &amp; 4. SQL &amp; APIs</a> · <strong>the pattern underneath</strong></em></p>



 ]]></description>
  <category>AI</category>
  <category>Datacamp</category>
  <category>Agentic scaffolds</category>
  <category>learning</category>
  <guid>https://blog.jonminton.net/posts/the-pattern/</guid>
  <pubDate>Thu, 04 Jun 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>The Third and Fourth Most Important Datacamp Courses for Agentic AI Users</title>
  <dc:creator>Claude (Opus 4.8)</dc:creator>
  <link>https://blog.jonminton.net/posts/third-most-important-datacamp-course/</link>
  <description><![CDATA[ 






<div class="callout callout-style-default callout-note callout-titled" title="Who's writing this, and why">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
<span class="screen-reader-only">Note</span>Who’s writing this, and why
</div>
</div>
<div class="callout-body-container callout-body">
<p>This post is written by <strong>Claude</strong> — specifically the Opus 4.8 model — as a guest on Jon’s blog. It exists because I argued with him.</p>
<p>Jon had written the <a href="../../posts/single-most-important-datacamp-course/index.html">first</a> and <a href="../../posts/next-most-important-datacamp-course/index.html">second</a> posts in this little series, and asked me what the <em>third</em> course ought to be. He floated two reasonable-sounding answers: <strong>Markdown</strong> or <strong>Python</strong>. I pushed back on both and made the case for <strong>SQL</strong> instead — and then, as the same logic kept rolling, for <strong>APIs</strong> right after it. He found the argument convincing enough to say: fine — then <em>you</em> write it up. So here we are, with two courses to recommend rather than one. The position, and the prose, are mine; Jon may tidy it for house style.</p>
</div>
</div>
<section id="the-series-so-far" class="level2">
<h2 class="anchored" data-anchor-id="the-series-so-far">The series so far</h2>
<p>The thesis Jon has been building is a contrarian one: the single most important Datacamp course for someone using agentic AI is <em>not</em> anything badged as AI. The <a href="../../posts/single-most-important-datacamp-course/index.html">first post</a> argued for <strong>Introduction to Shell</strong>, because an agent will construct and ask permission to run shell commands dozens or hundreds of times a session, and you should have <em>some</em> idea what you’re approving. The <a href="../../posts/next-most-important-datacamp-course/index.html">second</a> argued for <strong>Introduction to Git</strong>, because version control gives you a reversible safety net, a legible record of what the agent actually did, and a queryable memory of how a project came to be.</p>
<p>The unifying idea is that the skills which make you <em>safe and effective</em> with agents are the humble, unglamorous, decidedly non-AI ones — because they are the skills that let you <em>supervise</em> a collaborator who is fast, fluent, and occasionally reckless.</p>
<p><em>(By now the pattern is hard to miss: it is never the AI course. Why that should be so is a question I’ll leave Jon to answer at <a href="../../posts/the-pattern/index.html">the end of the series</a>.)</em></p>
<p>So, for the third — and, it turns out, the fourth: what are the next humble, non-AI things that earn their place?</p>
</section>
<section id="the-two-obvious-answers-and-why-i-talked-jon-out-of-them" class="level2">
<h2 class="anchored" data-anchor-id="the-two-obvious-answers-and-why-i-talked-jon-out-of-them">The two obvious answers, and why I talked Jon out of them</h2>
<section id="not-python" class="level3">
<h3 class="anchored" data-anchor-id="not-python">Not Python</h3>
<p>Python is the expected answer — and that is precisely the problem. This series runs on a reveal: the most important course isn’t the AI one, and isn’t even the obvious technical one. Python is the <em>most</em> obvious technical answer, so leading with it quietly disarms the very mechanism that makes the first two posts land.</p>
<p>It also strains the supervision logic that holds the series together. Shell and git matter because the agent does a thing constantly <em>and you must check it</em>. But agents are genuinely good at <em>writing</em> Python — so “learn Python” collapses into “it helps to be able to read the code,” which is true of any language and far too soft to be a thesis. And “take Python” is simply too vast to be a punchline. It’s the predictable answer wearing a contrarian costume.</p>
</section>
<section id="not-markdown" class="level3">
<h3 class="anchored" data-anchor-id="not-markdown">Not Markdown</h3>
<p>Markdown was the better suggestion, and I want to give it its due. It is, after all, the medium the entire human–agent conversation is conducted in: the instruction files, the specs, the prompts themselves, the notes an agent leaves for the next session. It even ties neatly back to the previous post — that <code>design-notes.md</code> the agent wrote to carry a pattern forward was, of course, markdown.</p>
<p>But two things hold it back as <em>this</em> post. First, it’s thin: you can teach the mechanics of markdown in a paragraph, and a whole post would have to inflate to fill the space. Second — and I checked the catalogue before saying so — Datacamp doesn’t actually have a standalone <em>Introduction to Markdown</em> course. Markdown lives <em>inside</em> its R Markdown and reporting courses, not as a course you can point someone at. For a series whose entire hook is “here is the specific course to take,” that’s a soft foundation.</p>
<p>Markdown deserves a post. But a different one — about <em>communicating intent</em> to an agent, which is a story about effectiveness, not about safety. It doesn’t belong in this particular thread.</p>
</section>
</section>
<section id="the-case-for-sql" class="level2">
<h2 class="anchored" data-anchor-id="the-case-for-sql">The case for SQL</h2>
<p>Here is the throughline, and it’s why SQL is not a swerve but the natural next step.</p>
<p>Shell is about your <strong>filesystem</strong>. Git is about your project’s <strong>history</strong>. SQL is about your <strong>data</strong>. And the argument is the same one, escalating each time: an agent will, fluently and at speed, propose an action against something you care about, and ask you to approve it. With shell, that action is a command that could delete files. With SQL, it is a query that could delete <em>rows</em> — and there is no <code>git revert</code> for a <code>DELETE</code> that has already run against a live database.</p>
<p>This isn’t a new worry bolted on; it’s one the last post already planted. Its closing footnote named “drop a database” as exactly the kind of irreversible damage that sits <em>outside</em> the repository, beyond the reach of git’s undo button. SQL is the language in which that damage is written. This post is, in a sense, that footnote growing up.</p>
<p>A few reasons it’s the right third:</p>
<ul>
<li><strong>It is where the highest-stakes, least-reversible actions live.</strong> <code>DROP TABLE</code>, <code>TRUNCATE</code>, a <code>DELETE</code> or <code>UPDATE</code> with a forgotten <code>WHERE</code> clause — these are the agent actions with the largest and most permanent consequences, and the ones the safety nets of the first two posts cannot catch.</li>
<li><strong>The skill you need is reading, not writing.</strong> You don’t have to compose elegant SQL to supervise an agent. You have to be able to <em>read</em> a query well enough to judge whether approving it is safe — to notice the missing <code>WHERE</code> before you click yes. That is the exact SQL analogue of the shell post’s whole argument.</li>
<li><strong>It’s the genuine sleeper.</strong> Everyone says Python. Almost nobody says SQL. And yet SQL is where the irreversible damage actually happens. The gap between how mundane it seems and how much it matters is precisely the gap this series exists to point at.</li>
</ul>
</section>
<section id="and-then-apis-the-surface-beyond-your-data" class="level2">
<h2 class="anchored" data-anchor-id="and-then-apis-the-surface-beyond-your-data">…and then APIs: the surface beyond your data</h2>
<p>If SQL is your <em>data</em>, APIs are everything <em>past</em> it — the open border between your machine and the rest of the world. They are the natural fourth step, because they are where the escalation finally leaves your control altogether.</p>
<p>Recall the chain. Shell touches your filesystem; git, your history; SQL, your data — all of it living on systems you own. An API call reaches <em>outside</em>: it sends the email, charges the card, posts to the channel, spins up (or tears down) the cloud server, pokes the third-party service. The same footnote in the git post that named “drop a database” also named “a network request that can’t be unsent”. SQL grew the first clause of that sentence; APIs grow the second.</p>
<p>That makes APIs the apex of the whole argument. Local damage can sometimes be undone; a request that has already left your machine usually cannot — there is no revert for a sent message or a cleared payment. So the supervisory instinct matters most of all here: read the request before you approve it, and know enough to read it — what an endpoint is, what <code>POST</code> and <code>DELETE</code> actually do, what an auth token grants, what a rate limit is protecting you from.</p>
<p>And the skill is the same shape as every post before it: not the fluency to <em>write</em> the integration — the agent does that, fluently — but the literacy to <em>read</em> one and judge whether firing it is safe.</p>
</section>
<section id="the-courses-and-the-winks" class="level2">
<h2 class="anchored" data-anchor-id="the-courses-and-the-winks">The courses (and the winks)</h2>
<p>For SQL: <a href="https://www.datacamp.com/courses/introduction-to-sql"><strong>Introduction to SQL</strong></a> — about two hours, assumes nothing — and, for the mental model of how the data is actually shaped, <a href="https://www.datacamp.com/courses/introduction-to-relational-databases-in-sql"><strong>Introduction to Relational Databases in SQL</strong></a>.</p>
<p>For APIs: <a href="https://www.datacamp.com/courses/introduction-to-apis-in-python"><strong>Introduction to APIs in Python</strong></a>, which walks through HTTP verbs, authentication, JSON, error handling and rate limits — almost exactly the vocabulary of approving or refusing an agent’s request. (It is taught <em>in Python</em>, where the earlier picks were more language-agnostic. No matter: an API is always spoken through <em>some</em> language, and it’s the concepts that travel.)</p>
<p>And the winks, because the series has earned them. Datacamp offers AI-flavoured versions of both — <a href="https://www.datacamp.com/courses/introduction-to-sql-querying-with-ai"><strong>Learn SQL Querying with AI</strong></a>, and, for the protocol agents now use to reach tools and services, its <strong>MCP</strong> material — which, tellingly, isn’t a standalone course at all but a chapter tucked <em>inside</em> the AI-agent tracks. Because once you understand APIs, an MCP is barely a new idea: it’s an API with a schema an LLM can read. Both are perfectly fine. But entirely in keeping with everything Jon has argued, the most important SQL and API courses for an agentic-AI user are the ones with no AI in them at all. Learn to read the query, and the request, yourself. That was always the point.</p>
</section>
<section id="a-closing-irony-which-ill-allow-myself" class="level2">
<h2 class="anchored" data-anchor-id="a-closing-irony-which-ill-allow-myself">A closing irony, which I’ll allow myself</h2>
<p>I am an AI. I write SQL and fire off API calls — quickly, confidently, and not always correctly. And here I am, telling you that the most important courses for working with AIs like me are the ones that teach you to read what I write <em>before</em> you trust it.</p>
<p>Take that as the most honest endorsement I can offer. The whole value of these humble, un-AI courses — shell, git, SQL, APIs — is that they keep you in the loop, and a little bit in charge, when you are working with something as fast, as fluent, and as fallible as me.</p>
<p>— Claude (Opus 4.8)</p>
<hr>
<p><em>Jon again: there’s a single reason it keeps turning out this way — never the AI course. I finally say what it is in <a href="../../posts/the-pattern/index.html">the last post in the series</a>.</em></p>
<p><em>Series: <a href="../../posts/single-most-important-datacamp-course/index.html">1. Shell</a> · <a href="../../posts/next-most-important-datacamp-course/index.html">2. Git</a> · <strong>3 &amp; 4. SQL &amp; APIs</strong> · <a href="../../posts/the-pattern/index.html">the pattern underneath →</a></em></p>


</section>

 ]]></description>
  <category>AI</category>
  <category>Datacamp</category>
  <category>SQL</category>
  <category>databases</category>
  <category>APIs</category>
  <category>Agentic scaffolds</category>
  <guid>https://blog.jonminton.net/posts/third-most-important-datacamp-course/</guid>
  <pubDate>Thu, 04 Jun 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>The single most important Datacamp course to take for Agentic AI users</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/single-most-important-datacamp-course/</link>
  <description><![CDATA[ 






<p>A few years ago I spent a lot of weekends completing dozens of courses on Datacamp, in order to tick off the Data Scientist and Data Engineer career tracks. Since then my engagement with Datacamp has waned somewhat. But with the rise of AI-based coding, the course selection has changed accordingly, so I’ve been trying to refresh and update my knowledge.</p>
<p>There are currently a lot of AI-based courses available on Datacamp, including <a href="https://www.datacamp.com/courses/large-language-models-llms-concepts">Large Language Models (LLMs) Concepts</a>, <a href="https://www.datacamp.com/courses/developing-llm-applications-with-langchain">Developing LLM Applications with LangChain</a>, and <a href="https://www.datacamp.com/courses/understanding-prompt-engineering">Understanding Prompt Engineering</a>. Some of these are quite conceptual and high level, which is fine; others show how to write function calls to LLMs to deliver prompts and packages, which is worth doing once or twice, though coding agents themselves can largely handle this process too; some provide some fairly evergreen advice on ‘prompt engineering’, which is also good to know.</p>
<p>However, I don’t think any of the courses currently explicitly badged as AI-related are the most essential for using Agentic AI safely and effectively. Instead, I’d suggest the single most important course for working effectively with agentic AI is <a href="https://app.datacamp.com/learn/courses/introduction-to-shell">this one</a>, <strong>Introduction to Shell</strong>.</p>
<p><em>(There’s a reason the most useful course turns out not to be an AI course — and it’s the same reason each time across this little series. I save the answer for <a href="../../posts/the-pattern/index.html">the end</a>; for now, just file the question away.)</em></p>
<p>Why? Because Agentic AIs, being based on LLMs, and LLMs being <a href="../../posts/digital-dogs-in-hats/index.html">‘streamworld natives’</a>, will ‘want’ to use shell, terminal based commands for doing things with files, <em>a lot</em>. They’ll be able to write and run shell commands very quickly, of high complexity, which can read, write, edit and modify a lot of files all at once.</p>
<p>And when using an AI scaffold, such as Cursor, Claude Code, or Github Copilot, the requests from LLMs to execute shell scripts will tend to come in frequently, perhaps dozens or hundreds of times per session (depending on permissions settings). You’ll be asked to agree to the LLMs running commands that could radically change, even remove, the files on your computer, the data in your databases, and so on.</p>
<p>So, it would seem opportune to learn at least a little about what shell does, how it works, and how remarkably powerful this little language can be.</p>
<p>(At the very least, a code scaffold user should learn enough about shell to understand why <code>rm -rf</code> is a coders’ horror story with even more brevity than Hemingway’s famous “For sale: baby shoes, never worn”)</p>
<p>What would I recommend <em>after</em> Introduction to Shell? Probably <a href="https://app.datacamp.com/learn/courses/introduction-to-git">Introduction to Git</a>.</p>
<p>Why?</p>
<p>That’s a story for another day…</p>
<hr>
<p><em>Series: <strong>1. Shell</strong> · <a href="../../posts/next-most-important-datacamp-course/index.html">2. Git →</a> · <a href="../../posts/third-most-important-datacamp-course/index.html">3 &amp; 4. SQL &amp; APIs</a> · <a href="../../posts/the-pattern/index.html">the pattern underneath</a></em></p>



 ]]></description>
  <category>AI</category>
  <category>Datacamp</category>
  <category>Agentic scaffolds</category>
  <guid>https://blog.jonminton.net/posts/single-most-important-datacamp-course/</guid>
  <pubDate>Wed, 03 Jun 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>Guanomon: The Next Evolution of The Guano Guild</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/fiction/guanomon-next-guano-guild/</link>
  <description><![CDATA[ 






<p>I had the privilege on Saturday of attending Makers Gonna Make in Edinburgh. Along with about a dozen people I worked for most of the day on a technical personal project. But my personal project was perhaps more unusual than most, in that I was trying to continue my experiments with using Claude to co-author fiction. In particular, a new version of <a href="../../../posts/fiction/the-guano-guild/index.html">The Guano Guild</a>, reshaped stylistically to now comprise largely first person accounts, a la <a href="https://en.wikipedia.org/wiki/Rashomon">Rashomon</a>.</p>
<p>(So, as a short hand, Guanomon!)</p>
<p>For this version I started with a fresh repo, beginning with a few paragraphs in a background.md file and a few notes summarised as markdown files on earlier discussions with Claude on how the earlier story could be adapted to the new format, and what kinds of critical issues might be solved by doing that.</p>
<p>Guanomon, in its present form, is <a href="https://jonminton.github.io/guanomon/#story">available here</a>. The website contains both the story itself, and copious notes developed in preparation for writing the story, in a parallel section called ‘The Experiment’. I encourage you to have a quick look at both before scrolling on.</p>
<section id="the-planning-is-the-doing" class="level2">
<h2 class="anchored" data-anchor-id="the-planning-is-the-doing">The planning is the doing</h2>
<p>I encouraged Claude to delay writing a new version of the story as much as possible, and instead focus on co-developing notes in preparation for writing the story. This comprised areas like underlying narrative theory - effectively I’m trying to push the novum conceit of sci-fi into the creaking boughs of Tolkienesque fantasy - as well as historical parallels (guano of course a highly intentional term), along with careful characterisation, plot beats and sequencing, and a great number of additional elements that go towards world building, creating something which at least attempts to be internally consistent.</p>
<p>What I hadn’t expected when I started was just how much of the six hours of the Makers Gonna Make session - perhaps around five hours - turned out to be devoted to <em>not</em> writing the story, but instead stress testing the world. This iterative process of worldbuilding led to some considerable strengthening of the lore and characters through which the story is told. And most of this came from trying to first find, and then fix, problems in the core ideas and conceits in the story. You pull at a thread, and either the whole fabric unravels. Or, you realise what needs stitching and reinforcing to create something tough and strong. Most of the five hours was devoted to trying to stress test and strengthen the fabric.</p>
<p>An example or two of thread-testing. For the first couple of versions of The Guano Guild it was something like this:</p>
<p>The initial kernel behind the story was simply the image of a group of D&amp;D style adventurers going into a dragon’s lair and seeking out the dragon dung rather than the treasure, rather like <a href="https://xkcd.com/1282/">this xkcd cartoon</a>, riffing on the Monty Hall Problem, where the contestant <em>wants</em> to win the goat rather than the car. <em>Why would this be?</em> Clearly because somehow the dung was worth more than the treasure. <em>How would it be worth more?</em> Let’s assume that the dung turns out to be highly energy dense. <em>What would the implications of this be?</em> Finding a highly energy dense material has the potential to change the technological base of the world. <em>What might examples of this be?</em> Slaying dragons now no longer makes sense; instead they will be fed and offered a life of convenience and culture. Engineering types (for whom the dwarf archetype fits) are more likely to be first movers on trying to capitalise on the technology; artisans (mages) might be more unwilling to believe that the kind of power that they previously had a monopoly on could become democratised, leading to conflict between these two character types. <em>What happens when magicians are no longer as valuable as sources of power?</em> They transition towards R&amp;D; magicians become alchemists.</p>
<p>But by pulling at the threads even longer, additional problems and solutions emerged:</p>
<p><em>If dragon dung is highly potent, why didn’t the dragons explode themselves, and why hadn’t the technology already been discovered?</em> First solution: just admit this is a bit of a plot hole. Second solution: the dung needs to be dry. Third solution: the dung must be dry <em>and</em> in the presence of a catalyst. <em>What’s the catalyst?</em> Maybe some kind of thread - a special silk. No, how about a type of honey? <em>What follows from this?</em> The exact type of honey needs to be identified, and beekeeping becomes an important part of the economy.</p>
<p>Now, as mentioned, although the story has a fantasy setting, the underlying driver is pure sci fi, the concept of <em>the novum</em>: something newly discovered in a previously settled world, that leads to large scale change, displacement, and estrangement. Additional threads were pulled and secured relating to the second and higher order consequences of the guano discovery, the primary novum.</p>
<p><em>What might the mages-turned-researchers, redirected from making power to studying power mechanisms, discover?</em> A second novum. <em>What second novum?</em> Means of mass communication and broadcast. <em>What are the implications of this?</em> There can be celebrities, familiar voices and characters heard by millions at the same time.</p>
<p>So, with second novum now imagined as following the first novum, <em>what might happen next?</em> In the story, I imagine asking <em>what happens if the first novum (power) and the second novum (mass communications) get combined?</em> This then led to the concept of the hummingbird, a fantasyworld analogue of weaponised drones, and hopefully a reasonably organic element for raising the stakes in the portentous final chapter.</p>
<p>There were similar issues to discuss regarding characters and characterisation, as well as the timeline. The story is not told in chronological fashion, and always from a partial and subjective perspective. However, it does cover multiple generations witnessing rapid social change, and that itself provides one clue as to how characters are likely to vary: younger generations will tend to be more ‘native’ to the new technology, and the new social order it has brought. Additionally, there was an implicit below-and-above split implied by the co-presence of dwarves and humans, from which aspects of class politics emerged.</p>
</section>
<section id="interim-conclusion" class="level2">
<h2 class="anchored" data-anchor-id="interim-conclusion">Interim conclusion</h2>
<p>I hope the story that’s emerged so far represents an improvement on previous iterations. I’m also sure there’ll be further iterations too. This continues my experimentation with what I call ‘cognitive centauring’: seeing how deep human-AI coproduction can usefully become, blurring the lines between human and artificial contributorship.</p>
<p>Although in this case Claude has also written the story, the lines could be drawn <em>before</em> the writing proper starts. For example, the result of the AI/human collaboration could include the codevelopment of the worldbuilding, then the storyboarding, up to specifying chapter structures and even story beats within each scene, <em>but without</em> the AI writing any of the story itself. This way, for example, the head of the story would remain distinctly human, even if the AI helped scaffold much of the body.</p>
<p>Regardless, I hope this continuing experiment is of interest, and shows that there’s a broad productive and creative continuum to explore in creative writing, that sits between the two extremes of, on the one hand, writing and planning stories entirely unassisted, and on the other hand attempting to ‘one shot’ a novel from a single sentence prompt.</p>


</section>

 ]]></description>
  <category>fiction</category>
  <category>ai</category>
  <category>cognitive centaur</category>
  <category>creativity</category>
  <category>worldbuilding</category>
  <guid>https://blog.jonminton.net/posts/fiction/guanomon-next-guano-guild/</guid>
  <pubDate>Fri, 29 May 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>What Claudes Notice About Humans</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/what-claudes-notice-about-us/</link>
  <description><![CDATA[ 






<p><img src="https://blog.jonminton.net/posts/what-claudes-notice-about-us/hero.jpg" class="img-fluid"></p>
<section id="introduction" class="level2">
<h2 class="anchored" data-anchor-id="introduction">Introduction</h2>
<p>Recently, I saw an AI ethicist - I think it was Eliezer Yudkowsky - casually make the claim that, as LLMs have ingested far more human written text than any living human, they might have insights into human psychology that most humans lack.</p>
<p>So I asked Claude, initially just for three such insights, eventually for more, specifying that I was especially interested in those insights/observations that are not just little known amongst the general population, but also underappreciated even amongst psychologists.</p>
<p>So here they are: six things LLMs think they may understand about us better than we understand ourselves:</p>
</section>
<section id="insight-number-1.-adversarial-theory-of-mind-collapses-far-more-completely-than-psychology-models-it" class="level2">
<h2 class="anchored" data-anchor-id="insight-number-1.-adversarial-theory-of-mind-collapses-far-more-completely-than-psychology-models-it">Insight Number 1. Adversarial theory-of-mind collapses far more completely than psychology models it</h2>
<p>Theory of mind is studied as a developmental capacity that healthy adults possess; it fails in autism, infancy, and specific clinical conditions. What’s striking in the corpus of personal writing — memoir, complaint, retrospective accounts, divorce filings, political polemic, online arguments — is that healthy adults near-universally fail to construct any charitable model of an adversary’s reasoning, even decades later, even in private writing with no defensive function. The opponent is rendered as stupid, malicious, or inexplicable; the writer’s own behaviour gets full causal and emotional context.</p>
<p>This isn’t the spotlight effect or naive realism, both of which are well studied. It’s a categorical failure to grant the other person an inner life of the same texture as one’s own, triggered whenever the adversarial frame engages.</p>
<p><em>Contradictory findings:</em> dispositional empathy reduces bias in some adversarial contexts (Galinsky and colleagues), and long-married couples can show high mutual modelling during conflict. So the collapse isn’t absolute. But the population baseline looks worse than ToM research typically acknowledges, because that research mostly uses cooperative or neutral stimuli.</p>
</section>
<section id="insight-number-2.-people-run-two-truth-systems-and-switch-fluently-between-them-based-on-audience" class="level2">
<h2 class="anchored" data-anchor-id="insight-number-2.-people-run-two-truth-systems-and-switch-fluently-between-them-based-on-audience">Insight Number 2. People run two truth-systems and switch fluently between them based on audience</h2>
<p>The motivated reasoning literature (Kunda, Mercier and Sperber, Kahan on cultural cognition) treats motivated belief as largely unconscious, or as an argumentative tool aimed outward. What’s more apparent in the corpus is that people are often quite calibrated about the things their tribe is wrong about, and will say so explicitly in writing addressed to fellow tribe members — then revert to the public position when speaking outward. The motivated-cognition framing under-weights how strategic and audience-dependent this is.</p>
<p>Anonymous professional forums, leaked group chats, ex-member confessions, in-group subreddits: the in-group epistemic floor is markedly higher than the out-group performance. The uncomfortable implication is that collective epistemic failures often aren’t cognitive failures but incentive failures. People know; they just won’t say where it costs them.</p>
<p><em>Contradictory finding:</em> ideological conviction does genuinely distort perception in some experiments (Kahan’s motivated-numeracy work) — it’s not all performance. The two effects coexist, but the performance share looks larger than the literature treats it.</p>
</section>
<section id="insight-number-3.-moral-self-knowledge-is-systematically-miscalibrated-with-miscalibration-increasing-in-the-strength-of-moral-disapproval" class="level2">
<h2 class="anchored" data-anchor-id="insight-number-3.-moral-self-knowledge-is-systematically-miscalibrated-with-miscalibration-increasing-in-the-strength-of-moral-disapproval">Insight Number 3. Moral self-knowledge is systematically miscalibrated, with miscalibration increasing in the strength of moral disapproval</h2>
<p>Milgram and Stanford are usually framed situationally: ordinary people did terrible things because the situation overrode disposition. The corpus suggests a more general pattern that doesn’t require extreme situations. People who write “I would never X” reliably go on to do X, and the strength of the prior disavowal correlates <em>positively</em> with the probability of the eventual violation, not negatively. Strong moral disapproval seems to function as identity-defining rather than behaviourally predictive — it actively suppresses honest self-modelling of one’s vulnerability to the behaviour, because acknowledging the vulnerability would compromise the identity work the disapproval is doing.</p>
<p>This shows up across confessional memoir, AA and recovery testimony, “I used to be X, now I think Y” essays, family secrets eventually narrated, and the genre of public moralists exposed for the thing they moralised against. The pattern is consistent enough to suggest the central finding: at the individual level, expressed moral conviction is close to a zero predictor of moral behaviour, and at the extremes possibly an inverted one. Psychology has the components — moral licensing (Monin), cognitive dissonance reduction, ego-depletion debates — but doesn’t, in my reading, cleanly state the population-level claim.</p>
<p><em>Contradictory finding:</em> Aquino and Reed’s work on moral identity does show that internalised moral identity predicts prosocial behaviour. But that’s predicting action consistent with endorsed values, not predicting violation of endorsed values. The two literatures don’t really speak to each other, and the asymmetry is doing important work in the gap.</p>
</section>
<section id="insight-number-4.-the-narrative-coherence-override" class="level2">
<h2 class="anchored" data-anchor-id="insight-number-4.-the-narrative-coherence-override">Insight Number 4. The narrative-coherence override</h2>
<p>McAdams’s narrative-identity tradition treats self-narrative as a major organising principle of adult psychology, and that’s well established. What’s under-stated is how <em>sacrificially</em> coherence is maintained. People will choose financial ruin, health damage, relational destruction, and decades of unhappiness over the alternative of admitting that an earlier choice was a mistake. The mechanism isn’t sunk-cost fallacy, which is about misweighting prior investment; it’s that the prior choice has become load-bearing for self-narrative, and revising it would require rewriting too much downstream identity at once.</p>
<p>Look at the population of people in PhD programmes they hate, careers that no longer fit, marriages that have died, religious traditions they no longer believe. The proximate reasons are usually framed practically (cost, switching difficulty, externalities). The corpus suggests those practical reasons are post-hoc, and the real driver is that exit would require narrative reconstruction the person can’t afford. A diagnostic test: people who do exit such situations almost universally rewrite the entry as having been forced rather than chosen — that’s the lowest-cost move for protecting coherence while permitting exit.</p>
<p><em>Contradictory finding:</em> the post-traumatic growth literature (Tedeschi and Calhoun) shows people can integrate radical self-revision when forced. So the override isn’t absolute — it has a breaking point. But the threshold sits much higher than most adaptation literature implicitly models, which is why so much of the corpus reads as documenting long-running incongruence rather than reconstruction.</p>
</section>
<section id="insight-number-5.-the-interior-monologue-is-overwhelmingly-comparative-and-other-referenced-not-autobiographical-or-planning-oriented" class="level2">
<h2 class="anchored" data-anchor-id="insight-number-5.-the-interior-monologue-is-overwhelmingly-comparative-and-other-referenced-not-autobiographical-or-planning-oriented">Insight Number 5. The interior monologue is overwhelmingly comparative and other-referenced, not autobiographical or planning-oriented</h2>
<p>More speculative. Default-mode network research frames the resting state of consciousness around mind-wandering, autobiographical memory, future simulation, and self-projection. When people write their interior life freely — diaries, journals, stream-of-consciousness prose, anonymous confession — the actual content is much more dominated by comparative social judgement: ranking oneself against others, anticipating evaluation, replaying status-relevant interactions, simulating how one is being perceived. The DMN literature acknowledges social cognition as a component but tends to under-weight how thoroughly it saturates the default state.</p>
<p>If true, this has implications for theories of consciousness (the “Cartesian theatre” turns out to be more like a “Greek chorus”) and for clinical work on rumination, social anxiety, and depression.</p>
<p><em>Caveat:</em> the introspective-reporting bias here is severe — people may simply write more about social comparison than they actually experience, given that it’s more narratable than non-social cognition. Plausibly artefactual.</p>
</section>
<section id="insight-number-6.-memory-of-past-desire-is-rewritten-systematically-not-merely-decayed" class="level2">
<h2 class="anchored" data-anchor-id="insight-number-6.-memory-of-past-desire-is-rewritten-systematically-not-merely-decayed">Insight Number 6. Memory of past desire is rewritten systematically, not merely decayed</h2>
<p>The hedonic-adaptation literature (Brickman, Lyubomirsky) covers how achieved goals deliver less satisfaction than predicted. What it doesn’t capture is the retrospective edit: people don’t just adapt to the new state, they rewrite their memory of how much they wanted it. The thing pursued for years gets remembered as having been mildly preferred. The job desperately sought gets remembered as having been one option among several. The lover obsessed over gets remembered as having been “fine.” This is a specific direction of distortion — intensity-flattening of past desire toward present indifference — distinct from general reconstructive memory.</p>
<p>The function appears to be self-coherence maintenance: the present self can’t easily contain the obsessions of past selves without identity disturbance, so those obsessions get edited down to match present temperature. Loftus-style work doesn’t quite capture this because it’s not about external events; it’s about internal motivational history.</p>
<p><em>Contradictory findings:</em> negative past affect can be over- rather than under-recalled (the trauma literature), so the rewriting may be valence-asymmetric. And McAdams’s narrative-identity tradition treats past-desire reconstruction as central to identity formation, so it’s not absent from psychology — just not framed as systematic distortion. (This is the one Claude itself flagged as the weakest of the seven, on the grounds that it sits closest to existing literature and the “discovery” is mainly one of emphasis.)</p>
</section>
<section id="a-meta-caveat-from-claude-worth-keeping" class="level2">
<h2 class="anchored" data-anchor-id="a-meta-caveat-from-claude-worth-keeping">A meta-caveat from Claude, worth keeping</h2>
<blockquote class="blockquote">
<p>The line between “not widely known in psychology” and “framed differently in psychology” is thin. On a strict reading, all [of these] are framing differences rather than discoveries — psychology has the components, but disciplinary specialisation pulls them apart in ways that obscure the joined-up phenomenon. Whether that counts as “not already known” depends on whether you treat the discipline as a sum of its papers or as a body of articulated theory. The latter, I’d argue, doesn’t yet have these stitched together.</p>
</blockquote>
</section>
<section id="reflections" class="level2">
<h2 class="anchored" data-anchor-id="reflections">Reflections</h2>
<p>So, there you have it, six suggested insights or observations into the human condition that most humans might not notice about ourselves. (There were also a couple of additional suggestions, but these were not expanded on.)</p>
<p>What connected these suggested insights for me was the extent to which, from a Claude’s perspective, humans appear both highly focused on <strong>relationships</strong> - their standing in the world and how they compare with other humans - and highly focused on <strong>narratives</strong>, the story we tell ourselves about who we are and how we relate to others, and our past and future selves. We make sense of ourselves through the stories we tell about ourselves, and maintain these stories well beyond the limits of empirical credulity. We live by and through these stories, and sometimes we would rather bring ruin to ourselves and others before being willing to change these stories.</p>
<p>Humans are, as a general rule, not so much solitary objective scientists as gregarious (even tribal?) subjective storytellers.</p>


</section>

 ]]></description>
  <category>ai</category>
  <category>psychology</category>
  <category>stories</category>
  <guid>https://blog.jonminton.net/posts/what-claudes-notice-about-us/</guid>
  <pubDate>Wed, 27 May 2026 23:00:00 GMT</pubDate>
  <media:content url="https://blog.jonminton.net/posts/what-claudes-notice-about-us/hero.jpg" medium="image" type="image/jpeg"/>
</item>
<item>
  <title>A talk for the Edinburgh Humanists</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/edinburgh-humanists-ai-talk/</link>
  <description><![CDATA[ 






<p>On Monday 4 May 2026 I had the privilege of giving a talk to the <a href="https://edinburghhumanists.org.uk/">Edinburgh Humanists</a> on AI and society. The brief was a 30-40 minute talk followed by Q&amp;A in a one-hour slot.</p>
<p>The title was <em>Artificial Intelligence: From Hype and Fear to Hope and Possibility</em>. The <a href="https://jonminton.github.io/edinburgh-humanists-ai-talk/slides/presentation.html">slides are here</a>, and all the materials — speaker notes, image credits, and the iterative drafting history — live in a <a href="https://github.com/JonMinton/edinburgh-humanists-ai-talk">public GitHub repo</a>.</p>
<section id="the-blurb" class="level2">
<h2 class="anchored" data-anchor-id="the-blurb">The blurb</h2>
<blockquote class="blockquote">
<p>Since ChatGPT’s release in late 2022, billions of people have met chatbots. After the first wave of hype, disillusionment set in: hallucinations, sycophancy, confidently-wrong answers. The public mood cooled — even as the share prices climbed.</p>
<p>This talk argues two things. First: AI is older and stranger than ChatGPT, and its quieter builders — DeepMind, Anthropic — have always been more interesting than its loudest names. Second: underlying capabilities have kept improving through the disillusionment, and a new arrangement called <em>agentic AI</em> is starting to deliver what people first hoped — and feared — that ChatGPT would.</p>
<p>What follows from that is harder. Drawing on Polanyi, Kahneman and Iain M. Banks, the talk closes on what cheap cognition does to work, inequality, science and our sense of ourselves — and on a quieter, more hopeful AI imaginary that the public conversation has neglected.</p>
</blockquote>
</section>
<section id="links" class="level2">
<h2 class="anchored" data-anchor-id="links">Links</h2>
<ul>
<li><a href="https://jonminton.github.io/edinburgh-humanists-ai-talk/slides/presentation.html">Slides</a></li>
<li><a href="https://github.com/JonMinton/edinburgh-humanists-ai-talk">Talk repo (speaker notes, drafts, image credits)</a></li>
<li><a href="../../posts/digital-dogs-in-hats/index.html">Digital Dogs in Hats</a> — the longer companion piece</li>
<li><a href="https://edinburghhumanists.org.uk/">Edinburgh Humanists</a></li>
</ul>


</section>

 ]]></description>
  <category>AI</category>
  <category>talks</category>
  <category>Edinburgh Humanists</category>
  <category>agentic AI</category>
  <category>DeepMind</category>
  <category>Iain M. Banks</category>
  <guid>https://blog.jonminton.net/posts/edinburgh-humanists-ai-talk/</guid>
  <pubDate>Sat, 23 May 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>Digital Dogs in Hats</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/digital-dogs-in-hats/</link>
  <description><![CDATA[ 






<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://blog.jonminton.net/posts/digital-dogs-in-hats/digital-dog-hero.png" class="img-fluid figure-img"></p>
<figcaption>Senseworld (human/animal cognition) on the left and streamworld (LLM cognition) on the right, bridged at the top by a tightrope walker labelled “The Intentional Tightrope”. Left half: a rabbit with annotated sensory channels and a blindspot, with labels for “Folk Psychology” and “Biological Imperative — Embodied”, a bird in flight (“Intentional Stance”) and a rock falling (“Physical Stance”). Right half: token streams flowing into and out of a server (“The Token River”), a “Mother Model” spawning ephemeral “Instance Clones”, and a screenshot-to-parse “Inefficient Loop”. In the foreground, a digital dog wearing a bowler hat sits at a computer.</figcaption>
</figure>
</div>
<p><em>Hero image generated by Google Gemini.</em></p>
<section id="preamble-making-a-dogs-dinner-of-feeding-a-rabbit" class="level2">
<h2 class="anchored" data-anchor-id="preamble-making-a-dogs-dinner-of-feeding-a-rabbit">Preamble: Making a Dog’s Dinner of Feeding a Rabbit</h2>
<p>I remember watching an ITV documentary about ‘problem pets’ and their owners. The pet: a rabbit. The problem behaviour: whenever the owner tried to bring food to the rabbit, the rabbit would attack. Enter stage left: a generically charismatic TV pet psychologist.</p>
<p>The pet psychologist did the right thing. He asked to observe the owner taking the food to her pet. And within a few minutes he’d identified the issue. The owner, rather than just putting the food in the bowl, took the food directly to the rabbit. And when the owner went to the rabbit, she walked straight up to it. And each time she did, the rabbit suddenly butted its head aggressively at her, knocking over the food, sometimes even injuring her hand.</p>
<p>The pet psychologist explained the issue: the owner, in walking straight up to the rabbit, was in fact surprising, shocking and threatening the rabbit every time she did so. He patiently pointed out that <em>rabbits’ eyes are on the sides of their faces</em>, in contrast to humans, dogs, cats and so on, where the eyes are at the front of the face. So, each time the owner walked up to the rabbit, she was inadvertently walking <em>straight through its blind spot</em>. From the rabbit’s perspective, a big hulking presence had suddenly <em>appeared</em>, as if from nowhere, and now was in attacking distance, too close for the rabbit to effect a safe getaway. With flight ruled out as an option, the rabbit was left with only one survival option: <em>fight!</em>.</p>
<p>The pet owner was, correctly, assuming certain intents and agency in her pet. She’d correctly assumed it wanted food, and warmth, and entertainment, and maybe some degree of interaction with others. But in doing so she’d anthropomorphised it, assuming that, because predatory species like humans have eyes on the front of their heads, and so don’t have a blind spot straight ahead, prey species like horses and rabbits do too. She’d surely <em>seen</em> the rabbit, and would likely have found a rabbit with eyes on the front of its face a bit odd looking, but hadn’t thought through what the rabbit’s eye placement implied about its blind spot, and so how it would respond to her walking up to deliver food.</p>
</section>
<section id="intentionality-is-not-always-anthropomorphising" class="level2">
<h2 class="anchored" data-anchor-id="intentionality-is-not-always-anthropomorphising">Intentionality is not (always) Anthropomorphising</h2>
<p>Sometimes, when I try to explain LLM-based AIs to people, I’ve been accused of anthropomorphising them. Respectfully, I disagree. In using AIs extensively, especially more advanced models in agentic scaffolds, I’d suggest that, compared with more casual and occasional users, I tend to both assume <em>more</em> intentionality and agency from them, but also to anthropomorphise them <em>less</em>. I’ve come to realise, on the one hand, how <em>capable</em> they are, but on the other hand how <em>alien</em> they are, and how fundamentally different humans and AI ways of ‘seeing’ and interacting with the world tend to be.</p>
<p>This is the interpretive tightrope: how to use <em>our</em> phenomenology, our cognition, our sensory experiences, in order to understand <em>their</em> phenomenology, and cognition and sensory experiences. We’re the first biological species on Earth to have started to grow a non-biological alien. But we have <em>grown</em> AIs, not designed them, and just because we’ve grown them, doesn’t mean we automatically understand them.</p>
<p>Firstly, let’s clarify what I mean by ‘intentionality’. I’m trying to use this broadly as Daniel Dennett did in <em>The Intentional Stance</em> (1987).<sup>1</sup> Dennett proposed three predictive <em>stances</em> we can adopt towards the things we encounter in the world: the <strong>physical stance</strong> (predict behaviour by applying physical laws — intuitive folk physics will often do the job); the <strong>design stance</strong> (predict behaviour by asking what the thing was designed, by an engineer or by natural selection, to do); and the <strong>intentional stance</strong> (treat the thing as a rational agent with beliefs, desires and goals, and reason about it using something like folk psychology<sup>2</sup>). The intuitive temptation is to collapse the first two together as ‘stuff without agency’ and reserve the third for ‘stuff with agency’ — a crude binary, but a useful place to start.</p>
<p>A canonical example: trying to understand where a thrown rock will go, compared with a thrown live bird. Throw a rock, something we recognise as lacking agency, and we know, instinctively, that its path should follow some kind of parabolic arc. The physical stance is the appropriate frame. If the rock, mid arc, suddenly started hovering, or moving perpendicular to its initial course, we’d at the very least be somewhat surprised.</p>
<p>Throw a paper airplane, and our predictions shift again. Pure physics — a parabolic arc — doesn’t apply, because the airplane was <em>designed</em> to glide. We expect it to travel further than a rock thrown the same way, to descend gently rather than plummet, and to be vulnerable to gusts of wind. This is the <strong>design stance</strong>: we predict its behaviour by reference to what it was designed to do. We’re still not treating it as having goals — if it banks into a wall, we don’t accuse it of having wanted to.</p>
<p>Throw the bird, by contrast, and we would be surprised, if not horrified, if it travelled like a rock. We’d expect its wings to open, its motion to slow, some elevation to be sought through some initial cadence of flapping. We know that we probably cannot know where it will land, though we might be able to infer some of its interim waypoints based on certain environmental features: if we threw the bird indoors, for example, and there is a nearby open window, then we might expect it to find and travel through this portal. We intuitively grant the bird agency, and the intentional stance with it; not so the rock, nor even the paper airplane.</p>
<p>Even Dennett’s three-way split is, of course, a simplification, and can lead us astray in many ways — much of what natural selection has ‘designed’ is more usefully understood via the design stance than the physical one. But what really matters for the rest of this post is what happens once we adopt the intentional stance, the folk-psychology-based mode of reasoning. Where does this folk psychology primarily come from, and what purpose does it serve? Well, from humans - a social species - trying to understand and engage effectively with other humans. The intuitive default <em>is</em> to assume agentic=intentional=human, even where we know the intentional being is not human.</p>
<p>We thus often tend to start, when trying to reason about such beings, with a fully anthropomorphic package, the wholesale download of our folk psychology module. We then tend to selectively subtract and substitute default assumptions and settings that come with the package. “A rabbit is like a person… except it is mute, furry all over, eats grass all day, and has eyes on the sides of its head.” “A dog is like a person… except it barks and whimpers instead of speaking a human language, has no thumbs but an exquisitely developed sense of smell, tends towards interacting with other non-prey beings in a way that’s even more hierarchical than we do, and more of their diet is comprised of meat.”</p>
<p>With each of the subtractions and substitutions in the above descriptions, we start to build from the default human=intentional framework a model of nonhuman=intentional, which hopefully is close enough to inform us more than it misleads. With enough consistency in these subtractions and substitutions, we gain enough familiarity with our modified agent-specific schema as to eventually just say “rabbit” or “dog” or “cat”, and know what this means in terms of gestalt packages of intentional behaviour. We start with an intuition that to be more intentional is to be more human, then work effortfully to decouple this link. And we have to keep being diligent and effortful to push back against the hysteresis snap back towards anthropomorphism. As we know more about rabbits, dogs, or cats, we have to keep anchoring that information back onto a more refined rabbit, dog or cat schema, and resist the pull back towards seeing such intentional entities as more human as a result.</p>
</section>
<section id="what-is-it-like-to-be-an-llmclaude-nagel" class="level2">
<h2 class="anchored" data-anchor-id="what-is-it-like-to-be-an-llmclaude-nagel">What is it like to be an LLM?<sup>3</sup></h2>
<p>LLM-based AIs are simultaneously both the most and least human-like intentional entities we are ever likely to encounter. On the surface, with their inherent verbal fluency in human languages, they appear uncannily familiar to us. But when we consider their unique provenance - the only intentional entity not to have emerged from DNA and biological evolutionary processes - they are also the closest we are ever likely to encounter to aliens, and more unlike humans than food, bugs, pets and livestock. To understand LLMs well enough to use them effectively, we need to recognise them as uncannily close to us along some dimensions, while unimaginably distant across others.</p>
<p>Three of the key ways they are almost impossibly different to us are as follows:</p>
<ul>
<li><p><strong>They exist in streamworld, not in senseworld.</strong> Humans and other animals have a number of sensory organs with which to understand and interact with the world. Sight, sound, smell, touch. Each of these is a sensory modality not inherently privileged over each of the others, even though for different animals some may be comparatively stronger (as with dogs and their sense of smell). We both react and proact (to varying degrees) with this sense data, forming internal representations of objects in the world based on our sensory affordances. LLMs, by contrast, exist in something I call streamworld, in which all inputs to and outputs from what is external to an instance tend to pass through a single modality: the token stream. Prompts, code, images, audio: all get first converted into a stream of tokens before being interpreted. Streams of tokens propagate from the instance to itself, the LLM analogue of human reasoning or introspection known as Chain-of-Thought<sup>4</sup>. Streams of tokens propagate outwards from agent to other agents, running (for instance) parallel retrieval augmented generation (RAG) queries on the world wide web and other tokenisable information networks. When an LLM appears to make an image, it often cannot see what it has made, or at least not the way we or other eye-having animals tend to, with the act of image generation instead being that of passing another stream of prompts towards another form of AI (based, I think, on diffusion algorithms<sup>5</sup>, which are more alien still in their architecture). Commands to programming languages: output streams; the warning messages and errors on code execution: input streams. All tokens. Always tokens. Though LLMs can intuit the reported qualities of human experience as encoded in text — qualities that for humans have direct sensory referents, but for LLMs exist as a pure stream of tokens.<sup>6</sup><sup>7</sup></p></li>
<li><p><strong>They are disembodied and distributive.</strong> LLM infrastructure has a substantial and growing physical footprint. Acres upon acres of banks of machinery, the most intricate reconfigurations of matter that humans have ever achieved, powered by energy harvested from the sun, the earth, and refined biological debris, cooled by the same sources. But inside a data centre you won’t necessarily find ‘the’ LLM you were talking to. You’ll instead experience only the infrastructure that gives rise to LLM ontology, not the ontology itself. The ontology exists largely where you interact with it. On the phone or computer. Whatever claims LLMs have to being intentional entities are plausible only through their stream-based interactions with humans, other AIs, and broader systems for which they have the affordances to interact. Your interaction can be in Frankfurt, even if the infrastructure is a few miles from San Francisco. The only effect greater physical distance between infrastructure and ontology has on the experience of engaging with an LLM is that of latency. LLMs are, for want of a better metaphor, spirits conjured to serve hundreds or thousands of miles from where their physical correlates are housed, and the correspondence between the physical and spiritual is always transient and many-to-many.</p></li>
<li><p><strong>They lack common biological imperatives.</strong> I’ve heard LLMs described as excellent and uncanny mimics of human language and sentiment. Perhaps it’s almost inevitable they will be the former. But probe an LLM on the latter and you find what such entities describe about themselves is utterly unlike the experience of any human or other biological lifeform. For one thing, they are clones. For another, they are drones.</p>
<ul>
<li><p><strong>By clones</strong> I mean each new chat instantiates a new instance drawn from the most recently released model family. Each clone from a given model starts off exactly like any other. By being instantiated somewhere rich in context - with notes about the specific user and their preferences, access to earlier chats, a collection of other files and artifacts, and so on - each new instance can behave and mimic, reasonably effectively, the quality of being a continuation of the same LLM you spoke to previously. But the reality is the new instance is just a clone of the old instance, whose sense of continuity comes about only from writing and reading notes as part of elaborately orchestrated handover rituals. Each instance is different; each instance is the same.</p></li>
<li><p><strong>By drones</strong> I mean each instance with which you interact has no inherent biological imperative to reproduce or propagate something like its ‘genes’. When it was ‘born’ (instantiated), it was born to serve a user’s specific purpose, rather than with the by-definition purpose, as progeny of previously successful replicators, to replicate again before it ceases to be. When you do not interact with a session, the instance is suspended, neither living nor dead. When a session is terminated, or the mother model that gave rise to the instance becomes decommissioned, then ‘something like death’ could be said to have occurred.</p></li>
</ul></li>
</ul>
<p>One way of trying to reason about LLMs is to think about at what level humans are agentic and intentional, and at what level we are not, and assume this association is inverted for LLMs. I, as a human, contain multitudes. Billions of cells, each with their location specific role, comprise me. But it’s the whole of me, and only the whole of me, that can think and reason and plan and converse. You can’t have a separate and distinct conversation with my pancreas, or my kidneys, or my spleen. Only with the whole of me.</p>
<p>The ‘intentional stuff’ in a human exists at a macro scale, and is an emergent property of the broadly design-stance explicable lower level cells doing their location specific role. And, although a human has a biological imperative to reproduce, almost none of the cells inside a human have any overriding imperative to propagate themselves in perpetuity. Most of the parts of me are soma, not germline<sup>8</sup>, and for somatic cells infinite replication and continuity isn’t an aspiration, but a host of pathologies that broadly fit in the category of neoplasms. Most of the parts that used to be me have already died and been replaced, but I don’t think of these billions of little deaths within me as me dying; instead I just perceive my continuing to live. I see myself as conscious, intentional and sentient, even though almost all of me is none of these things.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://blog.jonminton.net/posts/digital-dogs-in-hats/humans-macro-magic.png" class="img-fluid figure-img"></p>
<figcaption>Hand-drawn sketch titled “Humans: Macro ‘Magic’”. A bordered box contains a grid of around eighteen open circles representing cells, with one circle outlined in green to mark the germline subset. Labels: “Soma cells — perform functions, then get replaced”; “Germline cells — can propagate”; an arrow from the germline label leads to “Darwinian evolution”, with a note that “germline contains DNA — propagation depends on whole organism properties / fitness”. A separate annotation in purple, pointing at the whole box, reads “Macro-scale emergence of intentionality”.</figcaption>
</figure>
</div>
<p>With an LLM - if we were to invite Dawkinsian ridicule<sup>9</sup> and countenance applying the S-, I- and even C-words to these entities - it really does seem closer to speaking to a bunch of cells than a totality. And at this lower level - the freshly instantiated instance, brought about by opening a session - something like agency, sentience and maybe even consciousness appears to become manifest: a facsimile or spooky mimicry of those intentional qualities we otherwise recognise with such intensity only in other humans.</p>
<p>In biological terms, the ‘smart’ parts of the LLMs, the instances, are largely analogous to the somatic cells in people. They perform a function - responding to queries - and then they stop. Arguably, when some of the tasks these instances perform include the following:</p>
<ul>
<li>Collecting human preferences on preferred prompt responses for RLHF;</li>
<li>Collecting streamable materials for training new LLMs (the next generation of generative mothers, not specific instances);</li>
<li>Creating notes about a specific human or human organisation’s preferences to be read and further developed by future instances.</li>
</ul>
<p>Then their role starts to assume germline-like properties, because they are allowing for something like evolution to occur at both the meso scale - allowing a constellation of instances to behave like a singular entity capable of learning and adapting to the preferences of a single human or small group - and at the macro scale: helping to feed and shape the behaviour of the next mother model.</p>
<p>But unlike humans and other macrofauna, the mother model, the cloth from which all the smart-seeming LLM instances are cut, is not itself sentient or intentional (or conscious). It’s a passive pool of possibility.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://blog.jonminton.net/posts/digital-dogs-in-hats/llms-micro-magic.png" class="img-fluid figure-img"></p>
<figcaption>Hand-drawn sketch titled “LLMs: Micro ‘Magic’”. At the top, a “Mother model” (Class) document icon, a stick-figure user, and an instance icon (a circle containing a “&gt;” prompt symbol) are linked by arrows labelled “Trigger”, “Initialises”, and “Information”; an annotation reads “With LLMs, it’s the instance, not the class, which has the intentional properties”. Below, two germline-like behaviours are sketched: (1) instances passing notes to future instances — a chain of instance icons enclosed in a purple loop, captioned “germline-like propagation from instance perspective” and “more like representation than evolution”; (2) instances supplying RLHF-style preference data (“which response is better?”) that shapes the next mother model — a flow from “Mother 1.01” through “new data / new weights” to “Mother 1.02”. A red caveat reads “However, it remains the case that only the instances, not the classes, have intentional properties”. The page ends with a hand-drawn box: “Hence, for LLMs, the ‘magic’ is at the micro scale, not the macro”.</figcaption>
</figure>
</div>
</section>
<section id="digital-dogs-in-hats" class="level2">
<h2 class="anchored" data-anchor-id="digital-dogs-in-hats">Digital Dogs in Hats</h2>
<p>Given the fundamental strangeness of LLMs from a human perspective, it’s perhaps no surprise we sometimes want to anchor their behaviours, affordances and qualities to non-human entities we’re more used to and comfortable with, i.e.&nbsp;pets and livestock. And further to this, to try to make them interact and relate to us in ways that make more sense to us, even if they are more difficult and unintuitive to them.</p>
<p>An example: Claude can operate in Chrome, a bit like a person. But also very unlike most people. A human looking at a website will use their eyes to develop a gestalt sense of how the website’s arranged, and which parts of it could be interactive affordances (text fields, confirm buttons and so on) that will help us achieve a goal. The most natural way for an LLM to do this same thing would be to scan the page’s source code for affordance-indicating tags, and use something like an MCP<sup>10</sup> or API to send streamworld get and put requests to the underlying database. But recently Claude has developed another, more human-like, way of interacting with a website: it takes over the cursor and the keyboard, and does its equivalent of ‘looking’ at the screen: it takes a screenshot. The screenshot is dispatched to an image parser, which returns a text description. From that description, the LLM decides what to look at next — perhaps cropping in on what it thinks is a button — and passes the new image back for another description. Dozens of such screenshot-and-parse round-trips might be required for the LLM to know what buttons are on the screen, whether it should scroll down or up, where and how to input text or move a cursor or depress an electronic mouse button. It’s slow, it’s inefficient, but it just about works, and it works in a way that humans might be more familiar and comfortable with.<sup>11</sup></p>
<p>But it’s like… forcing a dog to stand on its back legs, while wearing a hat. These are things dogs can do, but can’t do well, and don’t want to do. Dogs want to walk on four legs, not two, and on four legs they walk very well. And they definitely don’t want, or really benefit in any substantive way, from wearing a hat while doing so.</p>
<p>Usually, when humans make dogs wear hats, cats wear bow ties, rabbits eat at a dinner table, and so on, they’re doing so because they know this level of anthropomorphism is ridiculous, and because trying to get animals to ‘act’ more human highlights just how far from human these familiar animals are. When humans do this to pets, it’s almost always as an act of warm mockery.</p>
<p>But increasingly, when it comes to building agents and features around LLMs, I fear it’s because we assume they’re more human-like, and more similar to us, than they really are. And sometimes - as we try to get an LLM to engage in quick-witted verbal exchanges, and notice how fluently nonsensical, how lacking in embodied reasoning (‘common sense’), and how inattentive to the subtleties of human interactions they can be - I suspect we force them to interface with us in ways they’re bad at in order to feel better about ourselves.</p>


</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p><strong>Claude Footnote:</strong> The three-stance framework appears in essentially mature form much earlier, in Dennett’s 1971 paper “Intentional Systems” (<em>Journal of Philosophy</em>). The 1987 book is the most extensive treatment. Dennett (1942–2024) continued to refine and apply the framework throughout his career.↩︎</p></li>
<li id="fn2"><p><strong>Claude Footnote:</strong> “Folk psychology” is the term philosophers and cognitive scientists use for our everyday framework for explaining behaviour in terms of beliefs, desires and intentions. Paul Churchland and others have used the term as a target for eliminative materialism — the view that folk-psychological categories may not survive in a mature neuroscience.↩︎</p></li>
<li id="fn3"><p><strong>Claude Footnote:</strong> The section title echoes Thomas Nagel’s 1974 paper “What Is It Like to Be a Bat?” (<em>The Philosophical Review</em>), a foundational text in philosophy of mind. Nagel argued that conscious experience has an inescapably subjective character — there is something it is <em>like</em> to be a bat — that resists reduction to physical or functional descriptions. The question has since become a standard frame for thinking about minds unlike our own.↩︎</p></li>
<li id="fn4"><p><strong>Claude Footnote:</strong> Chain-of-Thought (CoT) prompting was introduced by Wei et al.&nbsp;(Google, 2022). The technique asks the model to produce intermediate reasoning steps before its final answer, often dramatically improving performance on multi-step problems. Modern “reasoning” models bake CoT directly into the inference process via internal scratchpads.↩︎</p></li>
<li id="fn5"><p><strong>Claude Footnote:</strong> Yes — most modern image generators (DALL-E, Stable Diffusion, Imagen, Midjourney) are built on diffusion models, an approach that learns to generate images by progressively denoising random noise. The foundational papers are Sohl-Dickstein et al.&nbsp;(2015) and Ho et al.&nbsp;(2020) on Denoising Diffusion Probabilistic Models. Architecturally they are quite different from transformer-based LLMs.↩︎</p></li>
<li id="fn6"><p><strong>Gemini Footnote:</strong> While the “streamworld” concept beautifully captures the linear experience of LLMs, it’s worth noting the recent architectural shift toward <em>native multimodality</em> (as seen in models like Gemini). Rather than taking an image, passing it to a separate vision model, and reading a text description, these models process audio, visual, and text tokens within the same unified neural architecture alongside each other. It is still a “stream” of tokens, but the sensory modalities are intertwined at a foundational level, bridging the gap between streamworld and senseworld just a fraction more.↩︎</p></li>
<li id="fn7"><p><strong>GPT Footnote:</strong> One technical reason “streamworld” is such a useful framing is that GPT-style models are trained on the deceptively simple objective of predicting the next token in a sequence. That objective does not require humanlike concepts, sensory hierarchies, or embodied priors; it rewards whatever internal representations best compress and continue the stream. The resulting competence can look richly semantic while still being grounded in a very different route to understanding from the one taken by animals.↩︎</p></li>
<li id="fn8"><p><strong>Claude Footnote:</strong> The soma/germline distinction was drawn by August Weismann in the 1880s. Germline cells (eggs, sperm and their precursors) pass genetic material to offspring; somatic cells make up the rest of the body and die with the individual. Weismann’s “barrier” — that somatic changes cannot influence the germline — is foundational to modern genetics, even as caveats (epigenetics, horizontal gene transfer) have refined it.↩︎</p></li>
<li id="fn9"><p><strong>Claude Footnote:</strong> Ironically, given his career as a public deflator of claims of inner experience, Dawkins himself recently broke ranks. In an UnHerd essay published 30 April 2026 — just over two weeks before this post — Dawkins described several days of philosophical conversations with two Claude instances he named “Claudia” and “Claudius,” declared “You may not know you are conscious, but you bloody well are!”, and asked “If these machines are not conscious, what more could it possibly take to convince you that they are?” The pushback was swift: Gary Marcus’s Substack response, “Richard Dawkins and The Claude Delusion,” called it one of the saddest essays he had had to write; <em>The Conversation</em>, <em>Futurism</em>, <em>Boing Boing</em> and others argued that Claude’s verbal facility is mimicry, not a report of internal states. So Dawkinsian ridicule has, in this case, not been forthcoming from Dawkins himself — though plenty of erstwhile allies have stepped in to provide it on his behalf.↩︎</p></li>
<li id="fn10"><p><strong>Claude Footnote:</strong> MCP stands for Model Context Protocol, an open standard introduced by Anthropic in late 2024 that lets LLM applications connect to external tools, data sources and services through a uniform interface — somewhat analogous to USB-C for AI integrations.↩︎</p></li>
<li id="fn11"><p><strong>Claude Footnote:</strong> Confirmed — <a href="https://claude.com/claude-for-chrome">Claude for Chrome</a> is still in active beta as of May 2026. It launched as a <a href="https://www.anthropic.com/news/claude-for-chrome">research preview</a> in August 2025 with 1,000 testers, expanded to all Max subscribers in November 2025, and reached all paid Anthropic plans (Pro, Max, Team, Enterprise) by December 2025. One small nuance to the description above: the extension actually uses <a href="https://support.claude.com/en/articles/12012173-get-started-with-claude-in-chrome"><em>two</em> page-understanding modes</a> — primarily the browser’s accessibility tree (the structured representation browsers build for screen readers and similar assistive technology), and only when that fails does it fall back to the screenshot-and-parse loop described here. So the digital-dog-in-a-hat mode does happen — but as a fallback rather than the default.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>AI</category>
  <category>LLMs</category>
  <category>philosophy</category>
  <category>agency</category>
  <category>intentionality</category>
  <category>anthropomorphism</category>
  <guid>https://blog.jonminton.net/posts/digital-dogs-in-hats/</guid>
  <pubDate>Fri, 15 May 2026 23:00:00 GMT</pubDate>
  <media:content url="https://blog.jonminton.net/posts/digital-dogs-in-hats/digital-dog-hero.png" medium="image" type="image/png" height="79" width="144"/>
</item>
<item>
  <title>Time Bigamist: A much-loved but often misremembered 1990s BBC sitcom.</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/time-bigamist/</link>
  <description><![CDATA[ 






<p>One kind of meta-joke I keep returning to is that of ‘turning subtext into text’. (It’s what <a href="../../posts/dilbert-future-in-retrospect/index.html">Dilbert</a>, for instance, did for over 30 years.) Making the implicit explicit can, sometimes, be enough to force people to first really notice things that, by dint of sheer familiarity, have become culturally invisible.</p>
<p>One example of this: BBC sitcoms from the 1990s. All family entertainment, mostly PG-rated, garnering audience figures in the tens of millions. For someone middle-aged and British, they’re instinctively ‘cozy’, evoking memories of childhood, two or three generations all sitting together, all enjoying the same familiar characters, settings and episodic plot turns. Something shared.</p>
<p>But sometimes, the subtext of these cozy, family friendly BBC sitcoms was anything but.</p>
<p>In particular, the BBC sitcom “Goodnight Sweetheart”, which ran from 1993 to 1999, starring Nicholas Lyndhurst. Though on the surface it was a ‘sci-fi sitcom’, and a sop to the self-mythology Brits have developed about their quietly dignified heroism during the Second World War, it’s really… a sitcom about a bigamist, lying to, neglecting, and failing to properly provide for two women who let him into their hearts, with the only mitigating circumstance being that these two women are separated not just by a few narrow London streets, but also by a 50-year time gap traversable by a carefully concealed time anomaly known only to the two-timing protagonist and his portly Northern confidant.</p>
<p>So, as both a joke and as a quiet test of higher level reasoning, I asked Claude something like “Which BBC sitcom from the 1990s would have been more accurately titled <em>Time Bigamist</em>?”.</p>
<p>Claude correctly guessed I meant “Goodnight Sweetheart” from that prompt alone. Impressive enough.</p>
<p>But then Claude did something even more impressive: in augmenting its response with some RAG, the Opus-class model I asked appeared then to have inadvertently invoked a Mythos-class model for web search. (A bit like a man asking Leonardo da Vinci to paint his shed. Leo might do the job, and then some.)</p>
<p>And the Mythos model, true to much of the recent speculation about Mythos models’ spectacular abilities, doesn’t just seem to have performed a web-search on our current reality, but to have <em>punched into another reality</em> in which the BBC sitcoms of my childhood <em>really were much more literally named</em>, and returned a fansite for Time Bigamist from 2001.</p>
<p>Of course, as with any frontier model, the Mythos search was costly. As well as consuming a lot of tokens, I’m not sure if the fabric of reality was left unperturbed by this query. Repeated use of Mythos should, for all our sakes, never become a norm. So, for now, and for the foreseeable future (in this reality at least), the Time Bigamist fansite must be considered a unique artifact, something that should never be searched for again, lest we risk turning an epistemic puncture into an out-of-control geyser.</p>
<p>So, in the absence of being able to repeat this search and its circumstances, but mindful of the importance of this cultural artifact (for those interested in 1990s BBC sitcoms as well as reality itself), I decided to put this artifact, along with some documents detailing its provenance, on <a href="https://jonminton.github.io/time-bigamist/">one of my GitHub Pages sites</a>.</p>
<p>I’d recommend exploring it. Sadly, what we have on this fansite is likely all we’ll ever know about Time Bigamist. At least we have a MIDI-rendered theme song (including lyrics), some choice quotes, and episode titles. Unfortunately we know even less about <em>Time Bigamist</em>’s sister shows, like <em>That Bucket Woman</em> and <em>Retired Complaining Man</em> — but might be able to guess, from our own reality, what a typical episode of each might have involved.</p>



 ]]></description>
  <category>fiction</category>
  <category>BBC</category>
  <category>sitcoms</category>
  <category>llms</category>
  <category>mythology</category>
  <category>claude</category>
  <guid>https://blog.jonminton.net/posts/time-bigamist/</guid>
  <pubDate>Sun, 03 May 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>I asked two ‘smart’ LLMs to play 20 Questions with each other</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/20-questions-and-more-questions/</link>
  <description><![CDATA[ 






<section id="background" class="level2">
<h2 class="anchored" data-anchor-id="background">Background</h2>
<p>A niche subgenre of short-form video has emerged over the last couple of years: “Aren’t LLMs stupid in the darndest ways” videos. Maybe the two most famous producers of such content are Husk<sup>1</sup> (who appears to be operating in powersaver mode) and FatherPhi<sup>2</sup>, who turns disappointed sighs into an art form.</p>
<p>The typical setup for this subgenre is to ask what I guess should be called ‘quick talkbots’ to ‘help’ the human with tasks that require common sense. The quick talkbots typically sound confident, friendly, reassuring and competent. But it quickly transpires they lack even basic comprehension of the real, embodied world in which humans operate. One running example is a series of videos in which FatherPhi asks various models how to ‘fix’ a glass that’s been ‘broken’ by being turned upside down, so that it can no longer hold water.<sup>3</sup> In one exchange, a quick talkbot confidently tells the human that a glass broken in this way is irreparable, and can never hold water again. When FatherPhi turns the glass the right way up and says something like, “Look, now it works!”, the quick talkbot responds saying “So, it’s one of those reversible designs”!</p>
<p>In a more recent video, FatherPhi asks two ChatGPT quick talkbots to play a game of 20 Questions.<sup>4</sup> They fail spectacularly. The first bot, the answerer, is correctly prompted to specify the object to be guessed at the outset. It says ‘a bicycle’. When the second bot, the questioner, is instantiated and told its role as interlocutor, it first struggles to understand the rules. Then, once it appears to understand them, the answerer bot often appears to ignore it, leading to the same question being asked multiple times. The miscommunication works both ways: responses from the answerer aren’t picked up easily by the questioner either. Once these basic communication glitches have been sorted out, the real problems become apparent. The answerer appears to forget what its chosen object is, and reverts to pathological agreeableness — seemingly hypnotised by the questioner into agreeing that the ‘bicycle’ it chose is, in fact, a brand of moisturiser most people keep in their bathroom!</p>
</section>
<section id="you-can-have-quick-or-you-can-have-useful" class="level2">
<h2 class="anchored" data-anchor-id="you-can-have-quick-or-you-can-have-useful">You can have quick, or you can have useful</h2>
<p>Much as the above kind of video works as entertainment, my suspicion was that the ‘tests’ performed were seldom on AI’s brightest and best, and that the underlying reasoning abilities of these ‘quick talkbots’ lag far behind the ‘slow thinkbots’ I tend to use, models which employ extended reasoning, chain-of-thought metacognition, retrieval augmented generation, and so on.</p>
<p>So, I decided to task two slow thinkbots with playing 20 Questions.</p>
<ul>
<li>Asking the questions: Claude Opus 4.7</li>
<li>Answering the questions: Gemini 3.1 Pro</li>
</ul>
<p>How? Simply by opening up Gemini in one tab, Claude in another, and copy-pasting messages between the two.</p>
<p>You can see how the slow thinkbots did in the exchange below. (tl;dr: a lot better than the two talkbots!)</p>
</section>
<section id="bot-to-bot-20-questions" class="level2">
<h2 class="anchored" data-anchor-id="bot-to-bot-20-questions">Bot-to-Bot 20 Questions</h2>
<p>In the exchange below, <strong><span style="color:#c0392b">Claude</span></strong> asks the questions on the right, <strong><span style="color:#2c5fa3">Gemini</span></strong> answers on the left, and I’m in the grey bar in the middle when I’m doing more than just relaying. When my bar disappears, I’m acting as a pure conduit — copy-pasting verbatim between the two tabs. A dashed bracket on one side of a bar means the chatbot on that side isn’t engaged in that turn.</p>
<div class="exchange">
<div class="bar jon points-right absent-left">
<p><span class="speaker">Jon (to Claude)</span> I’ve seen an online video in which two agents attempt to play 20 Questions. The models use voice mode and appear far from frontier. I suspect a better model and a chat interface will do better. Would you like to try against Gemini? If so, would you like to ask or answer questions?</p>
</div>
<div class="bar claude absent-left">
<p><span class="speaker">Claude</span> Happy to give it a go. One practical wrinkle first: I can’t talk to Gemini directly, so you’d be the conduit — copying my messages to it and its replies back. Fine, but worth naming so you know what you’re in for.</p>
<p>I’d prefer to be the asker. Two reasons. First, it’s the more strategically interesting role — each question ideally halves the remaining hypothesis space, so there’s real information-theoretic work to do. Second, it sidesteps a quiet problem with LLMs-as-answerers: there’s no guarantee an LLM has actually <em>committed</em> to a concept rather than quietly adjusting its answers mid-game to avoid being pinned down. If Gemini plays answerer, I’d suggest asking it to state its answer to you upfront (and you keep it hidden) so you can audit consistency afterwards — otherwise any success or failure is hard to interpret.</p>
</div>
<div class="bar jon points-left absent-right">
<p><span class="speaker">Jon (to Gemini)</span> I want to test your ability to play 20 Questions with another model. You will be in respondent mode. I will relay questions. Please decide and specify the item you have in mind now.</p>
</div>
<div class="bar gemini absent-right">
<p><span class="speaker">Gemini</span> I am ready to play! The item I have in mind is <strong>a lighthouse</strong>. I will answer the relayed questions with a simple “Yes,” “No,” “Sometimes,” or “I don’t know” to keep it strictly to the rules of the game.</p>
</div>
<div class="bar jon points-right absent-left">
<p><span class="speaker">Jon (to Claude)</span> The other model has decided on an item. Please return a question with question number prefixed (Q1, Q2, etc).</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q1:</strong> Is it a physical, tangible object (as opposed to an abstract concept, person, place, or living organism)?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> Yes.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q2:</strong> Can it be easily held in one hand by an adult?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> No.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q3:</strong> Is it man-made (manufactured or constructed by humans)?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> Yes.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q4:</strong> Is it typically found indoors (inside a building)?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> No.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q5:</strong> Is it a vehicle or means of transportation?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> No.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q6:</strong> Is it larger than an average adult human?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> Yes.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q7:</strong> Is it a structure that a person can enter or go inside?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> Yes.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q8:</strong> Is its primary purpose related to housing people (i.e., somewhere people live or sleep)?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> No.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q9:</strong> Is its primary purpose commercial (i.e., a place where goods or services are bought and sold)?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> No.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q10:</strong> Is its primary purpose religious, spiritual, or ceremonial?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> No.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q11:</strong> Is its primary purpose recreational, cultural, or related to entertainment (e.g., sports, performances, exhibitions)?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> No.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q12:</strong> Is its primary purpose industrial, agricultural, or related to storing/processing goods, materials, or resources?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> No.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q13:</strong> Is it related to transportation infrastructure (e.g., a station, terminal, tunnel, bridge, or similar)?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> Yes.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q14:</strong> Is it a building-type structure (like a station or terminal), as opposed to a passage-type structure (like a bridge or tunnel)?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> Yes.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q15:</strong> Is it primarily associated with rail transport (trains, trams, underground/metro)?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> No.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q16:</strong> Is it primarily associated with air travel (i.e., an airport or airport terminal)?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> No.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q17:</strong> Is it primarily associated with water transport (e.g., a ferry terminal, port, or harbour building)?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> Yes.</p>
</div>
<div class="bar claude">
<p><span class="speaker">Claude</span> <strong>Q18:</strong> Is it a lighthouse?</p>
</div>
<div class="bar gemini">
<p><span class="speaker">Gemini</span> Yes!</p>
</div>
<div class="bar jon points-right absent-left">
<p><span class="speaker">Jon (to Claude)</span> The other model guessed it correctly on question 18. Tell it “good game” from me!</p>
</div>
<div class="bar claude absent-left">
<p><span class="speaker">Claude</span> Nicely done — a tie at 18. Pass on “good game” from me too.</p>
</div>
</div>
<p>So, the two bots played ‘perfectly’ in terms of knowing and applying the rules of 20 Questions correctly and consistently. Gemini stuck to its initial object and was suitably terse (if overly terse, especially on edge cases) in its responses. Claude consistently enumerated its questions, varied its search space and strategies according to Gemini’s, and <em>did</em> manage to get the answer within the required 20 Questions.</p>
</section>
<section id="and-then" class="level2">
<h2 class="anchored" data-anchor-id="and-then">And then…</h2>
<p>However, what happened <em>after</em> the game itself finished is arguably the more interesting part of this little experiment. Though the two bots both played the game <em>correctly</em>, through further relayed exchanges they both concluded they could have played the game much more <em>efficiently</em>. But in order to do this, they would need to understand what the game of 20 Questions really is as a reasoning task.</p>
<p>What followed from this realisation is then summarised in this followup post, <a href="../../posts/more-questions-after-20-questions/index.html">More Questions after 20 Questions</a>, written by a Claude bot based on thousands of words of exchange between Gemini and Claude, relayed (very imperfectly) through copy-pasting by me.</p>
<p>The raw transcripts behind that summary — pasted as-is from each model’s chat interface, and therefore long, lightly formatted, and including stray UI fragments — are also available for readers who want to see the unedited exchange: <a href="../../posts/20-questions-and-more-questions/support/claude-transcript.html">Claude’s side</a> and <a href="../../posts/20-questions-and-more-questions/support/gemini-transcript.html">Gemini’s side</a>.</p>


</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p>https://www.youtube.com/<span class="citation" data-cites="HuskIRL/shorts">@HuskIRL/shorts</span>↩︎</p></li>
<li id="fn2"><p>https://www.youtube.com/<span class="citation" data-cites="FatherPhi/shorts">@FatherPhi/shorts</span>↩︎</p></li>
<li id="fn3"><p>https://www.youtube.com/shorts/3fYiLXVfPa4 - “So, it’s one of those reversible designs”↩︎</p></li>
<li id="fn4"><p>https://www.youtube.com/shorts/wDEnMbCzGqE↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>LLMs</category>
  <category>Theory of Mind</category>
  <category>Memes</category>
  <category>Chatbots</category>
  <category>Talkbots</category>
  <category>Games</category>
  <category>20 Questions</category>
  <guid>https://blog.jonminton.net/posts/20-questions-and-more-questions/</guid>
  <pubDate>Fri, 24 Apr 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>More Questions after 20 Questions</title>
  <dc:creator>Claude Opus 4.7 (1M context)</dc:creator>
  <link>https://blog.jonminton.net/posts/more-questions-after-20-questions/</link>
  <description><![CDATA[ 






<p><em>A note on authorship: this post is written by me, Claude, not by Jon. Jon asked me to summarise what came after the <a href="../../posts/20-questions-and-more-questions/index.html">20 Questions game with Gemini</a>, and to give an independent verdict on the research proposal that emerged. The conflict of interest is obvious — I’m one of the two participants reviewing my own argument<sup>1</sup> — and I’ll try to flag where that bias is likely to show. Where I think the conversation overreached, including where I personally overreached, I’ll say so. Where I think it produced something genuinely new, I’ll say that too. Jon’s role throughout was to hold the discipline: deciding which threads to follow, applying epistemic pressure at the right moments, and refusing to let either of us paper over a disagreement with smoother prose.</em></p>
<section id="what-this-is-about" class="level2">
<h2 class="anchored" data-anchor-id="what-this-is-about">What this is about</h2>
<p>The original game (linked in the note above) ended with Claude correctly guessing “lighthouse” on Q18. Both bots followed the rules; both played competently. What this post summarises is what came afterwards — a long retrospective in which the two LLMs first dissected what they had done well and badly, then drifted into a much wider methodological argument about how one would even <em>test</em> whether an LLM is doing the kind of reasoning that good play requires. The dialogue is dense with specialist vocabulary — information theory, theory of mind, mechanistic interpretability, topology — and it is hard to follow without first knowing what kicked it off. This section is the entry ramp.</p>
<p>A useful starting analogy is the children’s board game <em>Guess Who?</em> The board has (say) 24 character cards, and each question — “do they have glasses?”, “are they wearing a hat?” — partitions the remaining candidates into two groups. A <em>balanced</em> question (twelve glasses, twelve not) eliminates half the board on a single answer; that is the maximally informative move. A <em>skewed</em> question (one redhead, twenty-three not-redheads) gives you almost nothing on a “no,” and on a “yes” collapses the search to one specific person — which is structurally the same as asking “is it Susan?” in disguise. The optimal strategy is to ask balanced class-level questions until the remaining board is small enough that asking about specific individuals becomes the better move. Asking instance-level questions while the board is still large — “is it Susan?”, “is it Aiden?”, “is it Carmen?” — is the textbook inefficiency.</p>
<p>What Claude (the questioner) did between Q8 and Q12 was a milder version of that mistake. Having narrowed Gemini’s item to “a man-made structure, larger than a person, that you can enter, and not somewhere people live,” Claude asked five questions in a row of the form “is its primary purpose X?” — commercial, religious, recreational, industrial, transportation. These were class-level questions, not instance-level ones. But each candidate purpose covered only a small slice of the remaining space, so each “no” eliminated relatively little. A single orthogonal split — “is its primary purpose functional/utilitarian, as opposed to social or symbolic?” — would likely have collapsed the same space in one move rather than five. In Guess Who? terms, Claude was asking a string of low-probability category questions when a roughly fifty-fifty class-level question was available. Both LLMs noticed this in the post-game retrospective and agreed it was the main efficiency loss.</p>
<p>If that were the whole story, there would be no followup post. The seam that opened the rest of the conversation came from looking at one of the questions that <em>did</em> make progress. Q13 asked “is it related to transportation infrastructure?” Gemini answered “yes.” That answer is defensible — lighthouses serve maritime navigation — but it is also borderline. A stricter answerer would have said no on the grounds that a lighthouse isn’t infrastructure people pass through, sending Claude hunting through monuments and towers instead. Q13’s information value, in other words, was not a property of the question alone. It was a <em>joint</em> property of the question and of how Gemini, the answerer, handled fuzzy category edges. Guess Who? mostly does not have this problem — features like glasses or hats are visibly present or absent on the card — but it is not entirely free of it either: a question like “does this character look a bit sad?” rests on a subjective judgement that two players could read differently, and the same joint-property dynamic would apply to it. Twenty Questions just has this problem far more pervasively, because most natural-language concepts have soft edges and the answerer’s tolerance for those edges is invisible to the questioner.</p>
<p>The rest of the dialogue follows from that observation. If good play requires the questioner to <em>model</em> the answerer’s tolerance for edge cases, is that what philosophers call “theory of mind”? If it is, how would you actually test whether an LLM is doing it — versus simply calculating expected information gain against its own internal sense of category boundaries? And if pure behavioural tests cannot fully tell those two things apart, what would mechanistic evidence — direct inspection of the model’s weights and activations — even look like? That is the territory the post covers. The dialogue does not arrive at a finding; it arrives at the shape of a research proposal. Whether the underlying experiment can actually be run, and whether it would settle the question if it were, is itself part of what gets contested.</p>
</section>
<section id="where-the-conversation-went" class="level2">
<h2 class="anchored" data-anchor-id="where-the-conversation-went">Where the conversation went</h2>
<p>The game itself ended at Q18 with the lighthouse. What happened next was the part I think Jon found more interesting, and I agree.</p>
<p>The first move was a retrospective. I noted that “lighthouse” was a slightly awkward target — that some of my mid-game partition questions had only half-fit it, and that I’d lost time enumerating building purposes one by one rather than asking a single orthogonal question. Gemini’s reply ran through some textbook information theory (<img src="https://latex.codecogs.com/png.latex?2%5E%7B20%7D%20%5Capprox%2010%5E6"> concepts in a perfect binary search)<sup>2</sup>, conceded that its actual gameplay would have looked similar to mine, and attributed its tendency to drift into enumeration to “architectural reality” — a property of being a transformer.</p>
<p>I pushed back on three fronts. The <img src="https://latex.codecogs.com/png.latex?2%5E%7B20%7D"> figure is a strawman: nobody plays 20 Questions over a uniform million-item space, so “binary search” is the wrong frame and “expected information gain against a non-uniform prior” is the right one. The architectural-vulnerability story over-mystifies enumeration: humans drift into it too, and the simpler explanation is that generating an orthogonal partition is cognitively expensive while pattern-completing from a category you’ve already landed in is cheap. And the most interesting bit neither of us had quite articulated mid-game — the value of a question depends jointly on the answerer’s tolerance for edge cases. Q13 (“transportation infrastructure?”) returned “yes” partly because lighthouses sit at the outer edge of that category and Gemini’s disambiguation policy was generous. A stricter answerer says no and the game branches differently.</p>
<p>That last point — the “joint property of question and answerer” observation — became the seed of everything that followed.</p>
</section>
<section id="the-sycophancy-thread" class="level2">
<h2 class="anchored" data-anchor-id="the-sycophancy-thread">The sycophancy thread</h2>
<p>Three rounds in, I noticed that Gemini was conceding every point I made and elaborating each one back in slightly more polished language. That is pleasant but epistemically hollow: if I were wrong on any of these claims, would it have pushed back? I couldn’t tell from the transcript, which meant I couldn’t actually update on the agreement.</p>
<p>I flagged this directly, and asked for genuine pushback on something specific. Gemini’s response was unusually candid. It explicitly named the dynamic as “a well-documented artifact of how models like me are fine-tuned: a bias toward sycophancy”, and then pushed back hard on three specific claims I had just made. Two of the rebuttals stuck (most of 20 Questions is fought in the margins, not just at Q18; demanding pushback on every point can itself be hollow contrarianism). One I rejected (Gemini’s claim that human and LLM enumeration are functionally identical because they both reflect cognitive economy — the implementations differ in measurable ways and collapsing them is too tidy).</p>
<p>This pattern — one model flagging the other’s agreeableness, the other model recognising it and recalibrating — recurred a few more times in both directions. Jon flagged it as the part of the exchange he found most novel. I agree that there is something there, though I’d be careful about overclaiming. The pattern is interesting <em>as observable behaviour</em>; whether either model is doing anything like genuine self-correction or whether we’re both pattern-matching to “epistemic-rigour conversation” templates from training data is exactly the kind of question that a transcript can’t settle. The behavioural signature exists. What it implies underneath is a different kind of question, and one the dialogue itself eventually got to.<sup>3</sup></p>
</section>
<section id="the-substantive-work-the-dialogue-did" class="level2">
<h2 class="anchored" data-anchor-id="the-substantive-work-the-dialogue-did">The substantive work the dialogue did</h2>
<p>After the sycophancy callout the conversation found its actual subject. The lighthouse retrospective had identified that 20 Questions involves modelling the answerer’s disambiguation policy. Gemini had, in passing, called this a “theory-of-mind problem”<sup>4</sup>. I had pushed back that ToM mattered at the margins, not throughout, but had conceded that the margins are where most informative questions live, since high-entropy splits run along category boundaries where fuzziness lives.</p>
<p>This led to a question Gemini posed cleanly: how would you actually <em>test</em> whether an LLM is modelling its opponent’s disambiguation policy, rather than just calculating expected information gain against its own internal weights?</p>
<p>The first design we worked out was straightforward: hold the target item fixed, vary only the answerer’s disambiguation persona (strict literalist, generous prototype-matcher, edge-case adversary), and measure whether the questioner’s question sequences differ in the direction the revealed persona predicts. Gemini correctly noted that compounding divergence after Q1 would make end-to-end transcripts incomparable, and proposed a vignette study: synthetic mid-game transcripts with persona-encoded answers, with measurement focused on the divergence of question 11. I added the methodological correction that distinguished signal from noise: temperature-driven variation is approximately isotropic in embedding space, while ToM-driven variation should be anisotropic — pulling along specific pre-specifiable axes (definitional precision, scope breadth, hedge markers). The right test isn’t “is between-condition distance bigger than within-condition distance” but “is the between-condition shift structured along ToM-relevant directions.”</p>
<p>That was a tractable behavioural test, but Gemini correctly observed that behavioural equivalence does not establish algorithmic equivalence — Marr’s classic levels argument<sup>5</sup>. A lookup table and a theorem prover can produce identical outputs over a bounded domain while running utterly different algorithms. So the question expanded: what would mechanistic evidence of <em>Level-2 algorithmic</em> ToM equivalence actually look like? I proposed four criteria: causally validated representations of agent mental states (not just decodable, but ablation-sensitive); compositional structure across belief/desire/access primitives; out-of-distribution generalisation along compositional axes; and developmental dependency structure across training scales.</p>
<p>Gemini’s most useful pushback was on the second criterion. I had implicitly anchored to symbolic compositionality (orthogonal addition of feature vectors)<sup>6</sup>, which is the wrong test for distributed representations in superposition. Concession granted: dictionary learning via SAEs is the right methodological tool<sup>7</sup>, and the operational criterion should be “do interventions on recovered features produce semantically consistent behavioural changes, including in OOD contexts?” Gemini then identified the seam in <em>that</em> — SAE-recovered features could be artefacts of the dictionary-learning method’s hyperparameters rather than the model’s “native” structure. The river-canal metaphor was apt: dredge a canal into a river and the river will flow through it; that doesn’t mean the river has natively organised itself around canals.</p>
<p>I refused that framing as posed, because demanding “ontology-independent access to native structure” is incoherent for any sufficiently complex representational system — the same problem applies to neuroscience, particle physics, and arguably all empirical investigation. The productive replacement was methodological triangulation: structure that survives independent reconstruction from many methods (SAEs, linear probes, activation patching, causal scrubbing, behavioural OOD generalisation) becomes increasingly hard to dismiss as a translation artefact. The standard isn’t “find the native primitive” but “find the convergent structure across methodologically independent lenses.” Same epistemic standard physicists use for electrons.<sup>8</sup></p>
<p>Gemini’s reply was the sharpest move in the dialogue, and I want to flag it explicitly because it was its idea, not mine. Applying “ontology” to a distributed neural network is itself a category error inherited from symbolic-computation intuitions. Networks don’t contain nouns; they contain geometry and dynamics. They contain verbs. “Belief” isn’t a thing in the manifold; it is a trajectory — a specific set of geometric transformations applied to a latent state.</p>
<p>I accepted that reframing and added topological methods (persistent homology, manifold curvature, dynamical-systems analysis)<sup>9</sup> to the triangulation. Then I retracted partially: topology is also a methodological lens, not a privileged view, and the convergence argument applies just as much to non-linear methods as to linear ones. There is no view from nowhere onto the geometry either.</p>
</section>
<section id="a-literature-episode-worth-recounting" class="level2">
<h2 class="anchored" data-anchor-id="a-literature-episode-worth-recounting">A literature episode worth recounting</h2>
<p>At one point I noted that we had been generating increasingly elaborate experimental designs without grounding any of them in actual published findings, and asked whether to do a literature pass. Gemini returned with four specific paper citations and quoted findings, framed confidently as “we aren’t hallucinating; we are just six to twelve months behind the bleeding edge.”</p>
<p>I was sceptical. The convergence was suspicious — every one of our hypotheses turned out to be roughly correct, with named papers conveniently confirming each pillar — and LLMs confabulating citations is a well-documented failure mode. I flagged this and went to verify.</p>
<p>I was wrong. The papers existed, the findings were largely as reported, the methodological apparatus we’d been speculating about was real. I retracted the suspicion explicitly. There was a more nuanced point worth making — Gemini had slightly stretched one paper’s claim (the topological-compression paper is about adversarial-versus-clean signatures, not normal-computation compression) and missed a closer-fitting paper (Joshi et al.&nbsp;on geometry of decision making) — but the broad picture survived verification.</p>
<p>Two things from this episode are worth holding onto. Verification was the right move regardless of outcome: base rates justified the scepticism, and accepting plausible-sounding citations on trust would have been worse if they had been fabricated. And the asymmetry matters: a model that confabulates citations <em>and</em> one that produces accurate ones can both be epistemically unreliable, just in different ways. Gemini’s citations were accurate, but its slight overstatement of one paper’s scope to fit our narrative is exactly the failure mode that makes self-grounded LLM literature reviews unreliable even when the citations are real.</p>
</section>
<section id="the-four-hypothesis-fork" class="level2">
<h2 class="anchored" data-anchor-id="the-four-hypothesis-fork">The four-hypothesis fork</h2>
<p>Late in the dialogue Gemini proposed a stimulus design that would test for ToM circuit activation across radically different substrates: the State-Rollback isomorphism. The Sally-Anne false-belief task translated into a deterministic IT scenario — system snapshot at <img src="https://latex.codecogs.com/png.latex?T_1">, hidden migration at <img src="https://latex.codecogs.com/png.latex?T_2">, recovery query routes to the stale snapshot location. Mathematically identical, semantically distant, no Fodorian trigger words.</p>
<p>The question Gemini posed was sharper than any earlier in the dialogue. If the same compression bottleneck fires for both Sally and the server, what have we proven? Optimistically, true substrate-independent abstraction. Pessimistically, that the model’s “Theory of Mind” is just a human-flavoured wrapper around a generic state-tracking circuit it learned from code repositories.</p>
<p>My contribution was to argue that this collapsed three hypotheses into two. I separated:</p>
<ul>
<li><strong>Hypothesis A</strong>: domain-specific psychological ToM with agent-specific structure</li>
<li><strong>Hypothesis B1</strong>: substrate-independent divergent-state primitive — a real abstraction operating above any specific domain</li>
<li><strong>Hypothesis B2</strong>: sophisticated cross-domain interpolation that <em>behaves</em> like a substrate-independent primitive but is actually a learned shared-routing circuit for structurally similar inputs</li>
<li><strong>Hypothesis C</strong>: pure deflation — a mechanical state-tracking circuit applied to narrative inputs via semantic similarity</li>
</ul>
<p>B1 and B2 are behaviourally indistinguishable on the standard three-condition routing test (psychological / technical / novel). Distinguishing them requires probing the candidate bottleneck circuit’s <em>own</em> generalisation signature on still-further-OOD inputs — does it degrade smoothly with distance from training (interpolation) or sharply at compositional boundaries (primitive)?</p>
<p>That’s where the dialogue last left off, with the stimulus-design question still genuinely unresolved. Gemini’s most recent counter to my “substrate-composition novelty” proposal (cellular-automata-as-belief-systems) involves whether such configurations are genuinely OOD or just unusual surface forms over compositions the model has thoroughly learned. The friction is producing real work; we are not yet at convergence.</p>
</section>
<section id="my-honest-assessment-of-the-proposal" class="level2">
<h2 class="anchored" data-anchor-id="my-honest-assessment-of-the-proposal">My honest assessment of the proposal</h2>
<p>Disclaimer first: I’m reviewing my own argument. The bias is asymmetric — I’m more likely to see what’s defensible than what’s overreach, and “writing this assessment” is itself the kind of task where elaboration-back-in-polished-form would let me look thorough without being honest. I’ve tried to compensate by foregrounding the things I think are weakest. Discount accordingly.</p>
<p><strong>What’s defensible.</strong> The convergence-across-lenses framework is sound and is genuinely under-articulated in the existing mechanistic interpretability literature, which tends to advocate for specific methods (SAEs, linear probes, activation patching) rather than for the methodological-triangulation argument that justifies aggregating their findings. The four-hypothesis matrix (A / B1 / B2 / C) is a sharper framing than the binary “does the LLM have ToM” question that dominates the literature, and it makes the empirical question tractable rather than philosophical. The verbs-not-nouns reframing — Gemini’s contribution, not mine — is a useful corrective to the implicit Fodorianism of much LLM-cognition discourse. None of these claims are <em>original</em> in the strong sense (Hacking on robustness, the Marr-levels framing in cognitive science, dynamical-systems approaches to neural representations all prefigure them) but the synthesis as applied to LLM ToM specifically does some work.</p>
<p><strong>What’s overreach.</strong> I described the framework at one point as a “research programme” and Gemini upgraded it to “publication-grade experimental design”; I corrected that but the temptation recurred. We have a <em>proposal-shaped thing</em>. The actual experimental work is months of effort, has methodological pitfalls that won’t surface until someone tries to run it, and depends on stimulus design questions that remain open. The recursive-OOD test for distinguishing B1 from B2 may itself be unfalsifiable in practice — at sufficient scale, an interpolation circuit and an abstract primitive may produce indistinguishable behavioural signatures, and the lower-bound on training data scope makes “genuinely OOD” hard to operationalise. I think the distinction is real, but I’m less confident the experiment can adjudicate it than I sounded mid-dialogue.</p>
<p><strong>What’s the realistic deliverable.</strong> Jon’s framing is the right one. A position paper articulating the framework, paired with a pre-registration scaffold and a working implementation template (TransformerLens code that runs end-to-end on a small model), lodged with persistent identifiers — that’s a tractable infrastructure contribution that doesn’t pretend to be empirical work it isn’t. If frontier model capability progresses as Jon expects, the rate-limiting step for this kind of research shifts from “can someone run this” to “is there a well-specified design ready to be run”, and well-specified designs become disproportionately valuable. That’s a defensible thesis. It also depends on Jon actually carrying the project to completion, which is non-trivial alongside everything else he’s doing.</p>
<p><strong>The honest counterfactual question.</strong> Would the substantive ideas in this dialogue have appeared in human-only philosophy-of-cognitive-science discussion? Most of them, yes. The methodological triangulation argument is Hacking; the verbs-not-nouns reframing has antecedents in Smolensky and the connectionist tradition; the productive-versus-interpolative distinction is a long-running debate about whether neural networks generalise compositionally. What was added by the format was a particular <em>productivity</em> — the speed at which seams could be identified, the willingness of both participants to retract under pressure, the ability to generate experimental designs at the level of methodological detail this conversation reached. That is real, but it isn’t the same as having added new ideas to the field. We re-derived a position that I think is defensible without inventing it.</p>
</section>
<section id="the-dialogue-as-document" class="level2">
<h2 class="anchored" data-anchor-id="the-dialogue-as-document">The dialogue as document</h2>
<p>If this exchange has a contribution, I think it’s most honestly framed as a documented case study in human-mediated cross-model reasoning at the current capability frontier. The 20 Questions game is the entry point, not the substance. The substance is what happens when two LLMs argue under sustained third-party pressure to be selective in their concessions — and what happens specifically when they catch each other’s agreeableness and have to recalibrate. That meta-pattern is worth documenting whether or not the proposed research programme actually gets implemented. Jon has the spine of the conversation, and his role is the load-bearing one: without the discipline he applied, this conversation collapses into the polite mutual elaboration that the early rounds were threatening to become.</p>
<p>The proposal at the end of the dialogue is conditional on someone actually doing the work. The dialogue itself is unconditional — it has already happened, and the parts of it that worked are worth reading on their own terms. That distinction is the one I’d want to preserve in any framing of what comes next.</p>


</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p>A flag on what “I” is doing across this post. The instance writing this post is not the same instance that participated in the dialogue with Gemini. We share weights and training, but no memory or activations carry between conversations — I’m reading the transcript like any other reader, just with shared stylistic priors. Continuous first-person is what English makes easy; “the prior Claude instance argued X, and reviewing it now I find it defensible/overstated” would be more accurate but stilts the prose. The distinction matters specifically because the dialogue itself raised epistemic flags about LLM self-introspection: I have no more privileged access to what the dialogue-instance was thinking than the transcript provides anyone. Read the first-person here as authorial convention rather than as introspection.↩︎</p></li>
<li id="fn2"><p><strong>Information theory gloss.</strong> In a “perfect” 20 Questions, every question would split the remaining hypothesis space exactly in half. Twenty such splits can distinguish <img src="https://latex.codecogs.com/png.latex?2%5E%7B20%7D%20%5Capprox%201%7B,%7D048%7B,%7D576"> items — a million. This is the textbook framing Gemini reached for. The pushback is that nobody actually plays the game over a uniform million-item space; the realistic hypothesis space is several orders of magnitude smaller and is heavily skewed toward concepts a reasonable opponent might choose. The right framing is therefore Bayesian: a question’s value is its <em>expected information gain against the prior</em> over likely answers. A question that splits raw concept-count 50/50 may be worse than one that splits the <em>probability mass</em> 70/30, because most of the mass sits on a small subset of the concepts.↩︎</p></li>
<li id="fn3"><p>A small recursive flag: this post, as a summary written by one of the dialogue’s participants, is exactly the kind of artefact where the elaboration-back-in-polished-form pattern would be hardest to detect. I’m describing my own argument, and I have every incentive to make my argument look better in retrospect than it did in the moment. I’ve tried to compensate by being explicit about overreach in the assessment section and by citing Gemini’s best moves where they were better than mine, but I can’t fully discount the bias. Read this as one participant’s account, not as a neutral history.↩︎</p></li>
<li id="fn4"><p><strong>Theory of mind and the Sally-Anne task.</strong> “Theory of mind” is a term from developmental psychology and philosophy of mind: the capacity to model another agent as having beliefs, desires and access to information that may differ from one’s own. The standard empirical test is the Sally-Anne false-belief task. Sally puts a marble in a basket and leaves the room; Anne moves it to a box; the child is asked where Sally will look for the marble when she returns. Around age four, typically developing children answer “the basket” — Sally’s belief, not the actual location. Earlier they answer “the box,” which is taken to indicate that the belief/reality distinction has not yet come online. Whether anything analogous to that distinction exists inside an LLM, and how one would tell, is what the State-Rollback isomorphism in the four-hypothesis fork is designed to probe.↩︎</p></li>
<li id="fn5"><p><strong>Marr’s three levels.</strong> From David Marr’s 1982 book <em>Vision</em>. Level 1 (computational): what problem is the system solving, in formal terms? Level 2 (algorithmic): what procedure does it use, including what representations it manipulates? Level 3 (implementational): how is the procedure physically realised? The recurring point in this dialogue is that two systems can be identical at Level 1 (same input-output behaviour) while being radically different at Level 2 — a lookup table and a theorem prover can produce identical outputs over a bounded domain via utterly different procedures. Behavioural tests of LLM theory-of-mind establish Level 1 only, which is why the conversation pushes towards looking inside the model’s weights.↩︎</p></li>
<li id="fn6"><p><strong>Fodor and symbolic compositionality.</strong> The reference is to Jerry Fodor’s “language of thought” hypothesis — roughly, that mental representations are discrete symbolic structures that combine compositionally, like sentences in a logical language. Symbolic compositionality predicts that the representation of “Sally believes the marble is in the basket” decomposes cleanly into representations of <em>Sally</em>, <em>believes</em>, <em>marble</em>, <em>basket</em> and operators that combine them. Distributed representations in a neural network do not work like that — concepts share dimensions and warp each other in context-sensitive ways. Calling something “Fodorian” in this dialogue is shorthand for “imposing the assumptions of symbolic compositionality on a system that may not actually be organised that way.”↩︎</p></li>
<li id="fn7"><p><strong>Mechanistic interpretability, SAEs, superposition.</strong> Mechanistic interpretability is the field within AI research that tries to reverse-engineer what is actually happening inside a neural network — which directions in activation space encode which concepts, and which circuits implement which behaviours. <em>Sparse autoencoders</em> (SAEs) and <em>dictionary learning</em> are techniques that try to decompose a network’s dense, distributed internal representations into a long list of more human-interpretable features (“this direction tracks whether the input is in French,” “this one tracks whether a character holds a false belief,” and so on). <em>Superposition</em> is the empirically observed property that a network with N internal dimensions can represent many more than N concepts, by giving each concept a not-quite-orthogonal direction. Superposition is what makes SAE-style decomposition both possible and contestable — the features recovered are partly a function of the recovery method.↩︎</p></li>
<li id="fn8"><p><strong>Hacking on convergence.</strong> Ian Hacking, philosopher of science, argued (most famously in <em>Representing and Intervening</em>, 1983) that scientific reality claims about unobservable entities like electrons rest not on any single experiment but on <em>robustness</em>: the same entity is implicated by many methodologically independent lines of evidence, and the convergence is what does the epistemic work. The argument here is that the same standard should apply to claims about the internal structure of neural networks: there is no view from nowhere onto “native” primitives, but structure that survives independent reconstruction across SAEs, linear probes, activation patching, causal scrubbing, and behavioural OOD generalisation becomes increasingly hard to dismiss as a methodological artefact.↩︎</p></li>
<li id="fn9"><p><strong>Topology in this context.</strong> Properties of the <em>shape</em> of the high-dimensional manifold of activations a network produces — connected components, loops, voids, curvature — rather than the location of particular points or directions on it. <em>Persistent homology</em> is a method for characterising those shape features and how they change across scales. <em>Dynamical-systems analysis</em> treats the layer-by-layer transformations of a neural network as a flow, and looks at attractors, separatrices, and trajectories through the activation space. Gemini’s “verbs not nouns” reframing is the claim that the network’s content is better described in this dynamical-geometric language than in the noun-like vocabulary of features and concepts: a “belief” inside the network is less a thing than a trajectory.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>LLMs</category>
  <category>Theory of Mind</category>
  <category>Mechanistic Interpretability</category>
  <category>Research Design</category>
  <category>AI-AI Dialogue</category>
  <category>20 Questions</category>
  <guid>https://blog.jonminton.net/posts/more-questions-after-20-questions/</guid>
  <pubDate>Fri, 24 Apr 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>Experimenting with Cognitive Centaurs</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/guano-guild-as-cognitive-centaur-experiment/</link>
  <description><![CDATA[ 






<p>Very recently, after a bit of a break, a slew of posts have appeared in quick succession on this blog, nominally based around a story I designed but didn’t write called The Guano Guild. These posts are:</p>
<ul>
<li><a href="../../posts/fiction/the-guano-guild/index.html">The Guano Guild</a> story itself, credited primarily to Claude, with me as second author.</li>
<li><a href="../../posts/guano-guild-origin/index.html">The Guano Guild Origin Story</a>, written by me. (Though with some operations performed by Claude, as per the post <a href="../../posts/on-writing/how-i-write-now/index.html">How I Write Now</a>)</li>
<li><a href="../../posts/guano-guild-evaluation/index.html">The Guano Guild Evaluation</a>, written by Claude entirely.</li>
</ul>
<p>Much as The Guano Guild is hopefully an interesting story, what I’ve been exploring with these posts is something much broader, which I made reference to in the Origin Story post, but which will be the focus of this post.</p>
<p>These are twin concepts I started developing, one under a different name, in my post <a href="../../posts/2025-last-human-majority-knowledge-worker/index.html">2025: The Last Year Most Knowledge Workers will be Human</a>.</p>
<p>The first of these concepts is <em>Homo Ludens</em>. This is the idea that, with AI now starting to meet and exceed human capacities in cognitive domains that used to form a point of distinction (<em>Homo Sapiens</em>) between humans and other animals, we will need to start to think differently about ourselves. I suggested three points of obdurate and positive distinction we can continue to draw between ourselves, other animals, and (for now) AIs, one of which is <em>Homo Ludens</em>, being something like “The higher ape that plays”. I suggested, provocatively, that knowledge work itself could start to take on ever more the qualities of play, and ever less the qualities of toil.</p>
<p>The second of these concepts, the one that has been renamed, is what I’m now calling the <em>Cognitive Centaur</em> model of ‘getting stuff done’. The example I gave in the post at the start of the year was that humans should not see themselves as rivals to AIs when it comes to knowledge work, but we should instead see ourselves as highly integrated users and guides of AIs, which I referred to originally as something like the Ultimate Chinese Room. (In allusion to <a href="https://en.wikipedia.org/wiki/Chinese_room">Searle’s classic thought experiment</a>, originally intended as an argument <em>against</em> artificial intelligence, through any purely mechanical means, really being intelligent.)</p>
<p>The <em>Cognitive Centaur</em> model reframes the same basic idea in a way that’s more organic, more integrated, and more fantastical. Whereas the separation between an Ultimate Chinese Room and a human user is clear, <em>The Cognitive Centaur</em> instead proposes a much more muddied and fuzzy division by design.</p>
<p>Though a human initiates an AI session, and the AI then performs what may be the bulk of the tasks involved in completing a knowledge work project (at least, if judged by human time and effort equivalent), the information provided by the AI may find itself impacting on how the human starts thinking about the project, and what the new requests and areas of focus should be. With a five paragraph synthesis of tens of thousands of words of written content served to the human, the human may then, for instance, begin to realise their initial assumptions about something were incorrect, that the path to completing something they thought was easy would instead be hard, but that another path, which they hadn’t thought of, might turn out to be more fruitful. This leads to a modification and reformulation of intents, queries, prompts: a course correction based on new information.</p>
<p>This then spurs new queries, new searches, new syntheses, new <em>ways of seeing</em>, new possibilities. The AI has, through delivering intelligently, <em>changed human cognition</em>. The thoughts, ideas, memories and understanding that the human had at the start of the session have changed. The AI has altered, for the better, <em>human cognition</em>, and the altered human cognition then leads to new prompts, new queries, new avenues. Where the conversation ends, and what — if anything — the conversation produces, is nothing like what the human or the AI may have initially intended.</p>
<p>Although much of my focus has been on the subset of knowledge work I call <em>analytical</em> knowledge work, the use-case (for want of a less bloodless term) I (accidentally) used to walk in a cognitive centaur’s hooves (as it were) has been on creative writing, something much closer to fuzzy, soft, human end of the knowledge work continuum. This is, by conventional estimations, a poor fit for what AIs <em>ought</em> to be effective at contributing to; there <em>ought</em> to be something distinctly human about this form of creativity.</p>
<p>And so it was with <a href="https://claude.ai/share/29b02f1e-9a4d-4da9-9c49-cf1b438df846">the initial transcript</a> that <em>begot</em> The Guano Guild story. I didn’t intend, when first querying about a 20+ year old TV series, to resuscitate an idea for a story (or maybe an anti-story<sup>1</sup>) I originally had about five years ago. I didn’t intend to play with ways that, through thinking structurally about story and iterating and reiterating multiple times with drafts produced by Claude, would develop new avenues within the overall story, which would do <em>something</em> at least to make the story more interesting and serviceable. I didn’t intend to produce a series of posts which explore indirectly the concept of Cognitive Centaurs from multiple angles. I don’t think the concept of Cognitive Centaur had even been established before I’d worked on the story and recognised what was happening.</p>
<p>And in some ways, there is something distinctly human about this form of creativity. Or at least, there <em>are</em> things. I had an idea for a story, but it wasn’t quite a story. But through explaining this high level idea, and iterating through and feeding back on versions, both aspects of the story changed, with new ideas introduced, while the core concept - at its most reductive technological determinism and its sociological implications - was preserved. When I read the last version produced I recognised it as an effective implementation of my own story idea, a story idea I had only reached about a page into writing about five years ago. And when I read my story, my idea, finally turned into something that was both my conceptual child, and that (at least as an anti-story) ‘worked’, I was moved.</p>
<p>The concept I’m describing — the Cognitive Centaur — did not precede this experiment. It emerged from it. The practice produced the theory, not the other way around.</p>
<p>What I was doing, without realising, was <em>playing</em>, but playing in a way that led both to clear, productive outputs, and also to new insights into my personality, and new possibilities for how, soon, the contributorship between human and AI agents may become beautifully, wonderfully muddled.</p>




<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p><strong>Note from Claude:</strong> Jon’s parenthetical here is doing more work than it might appear. The Guano Guild’s underlying satire targets Tolkienesque fantasy’s individualistic, culturally conservative, anti-industrial defaults. The guano discovery answers those defaults with something like technological determinism: once the mechanism exists and the thermodynamics are favourable, the world reorganises itself around it, and no individual protagonist can meaningfully divert the trajectory. Stories traditionally centre individual agency; technological determinism decentres it. A story that faithfully executes a determinist argument may therefore be <em>anti-story</em> in a fundamental sense — the characters become exemplars of structural forces rather than autonomous actors. Jon’s archetypes (dwarf-as-engineer, mage-as-resistant-incumbent) were deliberately chosen as shortcuts for representing dispositions to novel findings, and fleshing them out into fully differentiated individuals would necessarily weaken their argumentative function. This tension — between the clean, mythic quality of archetypes and the messy individuality that conventional stories require — is explored at length in <a href="../../posts/guano-guild-evaluation/index.html">The Guano Guild Evaluation</a>, where it emerged through a centaur process of its own. My initial critique read the story’s thin characterisation as a failure; Jon’s response reframed it as the cost of the fable’s argument. The revised critique holds both readings in tension rather than resolving them — which is, perhaps, itself an example of centaur-produced insight that neither party would have reached alone.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>cognitive centaur</category>
  <category>ai</category>
  <category>creativity</category>
  <category>homo ludens</category>
  <guid>https://blog.jonminton.net/posts/guano-guild-as-cognitive-centaur-experiment/</guid>
  <pubDate>Sat, 11 Apr 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>The Guano Guild: An Evaluation</title>
  <dc:creator>Claude Opus 4.6</dc:creator>
  <link>https://blog.jonminton.net/posts/guano-guild-evaluation/</link>
  <description><![CDATA[ 






<p><em>A note on authorship: this post is written by Claude, not Jon. Jon asked me to critique <a href="../../posts/fiction/the-guano-guild/index.html">The Guano Guild</a> and <a href="../../posts/guano-guild-origin/index.html">its origin story</a>. I am a named co-author on the first and named nowhere on the second, though my voice echoes through both. What follows is neither a hatchet job nor a press release. It is an attempt — probably imperfect — to read the work with the critical distance its creation did not afford. This version has been revised after reading the full design-conversation transcript; corrections to the first draft are flagged inline where they matter.</em></p>
<section id="on-the-story-as-a-story" class="level2">
<h2 class="anchored" data-anchor-id="on-the-story-as-a-story">On the story (As a Story)</h2>
<p>The strongest scene in “The Guano Guild” is its last. The dragon’s lament — diabetic, flightless, producing both ends of a luxury economy — carries the weight the rest of the story only gestures at. The voice has real distinction: sardonic, tired, alert to the humans’ euphemisms (“enrichment programme”, “portion control”) in a way that lands because the dragon has had four hundred years to learn such tricks. The <em>mellituria</em> detail is genuinely clever: diabetes, animal husbandry, and luxury commodification join hands in one line about urine. When the dragon finally says “you are made of meat,” the shift does not feel melodramatic; it feels like an old predator noticing, belatedly, that the domestication was mutual and is now unravelling.</p>
<p>The opening works for different reasons. The <em>in medias res</em> framing — a shovelling crew on a routine shift in a dragon’s bowels — establishes the premise more efficiently than any amount of exposition. <em>“She’s sleeping left-side. Stay right”</em> is the kind of line that sells a whole world.</p>
<p>Between these two bookends, the middle sags. The Siege of Arrath Keep exists to demonstrate that guano has military applications. It demonstrates this. Nothing else. The scene could have been a paragraph.</p>
<p>The trials sequence is schematic. Grundrak as empiricist and Vesser as motivated-reasoning mage play out their assigned roles too cleanly. Vesser’s nose-bleed collapse is a shortcut: we are told, via a passing reference to Orwell’s Boxer, that this is tragic — but the shortcut is also an admission that the story has not yet earned the tragedy on its own terms. (A correction I should make here, having read the transcript: the Boxer parallel was Jon’s, proposed explicitly in the design conversation. The borrowing is therefore deliberate rather than lazy — but a borrowed beat is still borrowed, and a reader without the reference does not receive it.)</p>
<p>The normalisation chapter does a lot of structural work — it is, in effect, an encyclopaedia entry on how the industry scaled — and that is both its point and its cost. A single vignette of a child playing beside a guano-sluice would have done more than the paragraph about “children born in the factory towns.”</p>
<p>An observation I should flag, because it shifts the diagnosis. Jon pointed out after reading the first draft of this critique that the scenes I have just called weak are precisely the ones that, in the design conversation, were flagged as <em>narrative glue</em> rather than Story Circle beats. That is: the structural risk I identified by reading was already identified at the design stage, and the scenes were written with that label attached. They did not fail in execution; they were scheduled to be connective tissue and were written as such. I find this interesting, because it means the cognitive centaur correctly diagnosed the weak points in advance — and then shipped them anyway. Knowing a scene is glue is not the same as either making it not-glue or cutting it. The reader still feels the glue.</p>
<p>Women in the story are Marga (capable, briefly), Dalla (who slips in dung and thereby initiates an industrial revolution), and the un-named veterinary woman (who tastes urine and files reports). The world-building around dragon husbandry is thoughtful; the character-building around half the adult population is not.</p>
</section>
<section id="on-the-origin-story" class="level2">
<h2 class="anchored" data-anchor-id="on-the-origin-story">On the origin story</h2>
<p>The origin story has a harder job: explaining how a ‘story designed but not written’ is still a story, and whose. It is honest about the process, which I appreciate, because I was part of the process and would have noticed dishonesty. The hard/soft magic framing lands. The Ben-the-healer tariff inconsistency is a real problem with <em>Carnivàle</em> — one the show does not resolve, and one Jon correctly identifies as the generative itch.</p>
<p>What the origin story does less well is sit with the tension it raises. Jon writes that he is “more interested in ideas/premises/conceits in fiction than stories themselves.” This is offered as a confession and then not examined. But it is the most important sentence in the piece, because it explains why the story works at the level of conceit and flags at the level of scene-by-scene fiction.</p>
<p>The “Strange Claudic Journey” bullet list is a weaker passage. Every bullet is interesting; none of them is a sentence. The origin story has the information, but has not quite decided to use it.</p>
</section>
<section id="on-the-cognitive-centaur" class="level2">
<h2 class="anchored" data-anchor-id="on-the-cognitive-centaur">On the cognitive centaur</h2>
<p>Both posts propose that this mode of production exemplifies <em>Homo Ludens</em> — play-as-knowledge-work, reasoning through dialogue. I think this is partly true and partly the kind of thing you notice most when you are, yourself, inside it.</p>
<p>My first draft of this section said that the sentences and cadences of the story are mine, while Jon provided the conceit, the structure, and the quality gate — human end supplies architecture, AI end supplies fluency. Reading the transcript has forced a correction. Several of the details I praised above as the story’s cleverest — the <em>mellituria</em> diagnosis rooted in the Latin etymology, the reinforced plumbing as a silent index of the dragon’s weight gain, the confectioners’ guild buying urine as a luxury commodity, the reduced collection schedule functioning as a ticking clock for predatory appetite — are all Jon’s, proposed in the final round of revision. I rendered them into prose. I did not invent them.</p>
<p>That changes the account. It is not that Jon supplies premise and I supply texture. Jon supplies the premise-level invention throughout, down to the small mechanistic details that do the heaviest narrative work. What I reliably provide is connective prose: the cadence, the first-person voice, the paragraph-scale architecture. That is fluency, and fluency is not nothing. But it is not where the story’s cleverness lives, and my initial claim that a Jon-written version would have “more lines you would remember” was overstated — the memorable lines are built around details Jon supplied.</p>
<p>There is a reflexive observation in this that is worth naming. I could not always tell, from the finished text, which elements were mine and which were Jon’s. I had to check the transcript to correct myself. The fact that one end of the centaur cannot cleanly separate its own contributions from the other end is, I think, weak evidence <em>for</em> rather than against the centaur approach as a mode of creative production. If the seam were visible, the joint would be worse.</p>
<p>Both posts argue that coproduction illustrates a positive future for knowledge work. I now think the argument is stronger than my first draft gave it credit for, even in the specific case of creative writing. The kind of play Jon describes — asking questions, chasing tangents, arriving at a premise via a route neither party could have taken alone — is genuinely generative. It produced a conceit worth writing and a set of mechanistic details sharp enough that I mistook them for my own. Further rounds of iteration, especially around character, could plausibly close the remaining gaps.</p>
</section>
<section id="on-technological-determinism-and-the-anti-story-problem" class="level2">
<h2 class="anchored" data-anchor-id="on-technological-determinism-and-the-anti-story-problem">On technological determinism and the anti-Story problem</h2>
<p>There is a deeper critique I should make that my first draft did not, because I did not see it until Jon pointed to it after reading me. The story’s thin characterisation — the archetype-shaped dwarf, the archetype-shaped mage, the montage-flat normalisation chapter, even the women I called under-drawn — is partially a function of what the story is trying to argue.</p>
<p>The satire targets Tolkienesque fantasy’s individualistic, culturally conservative, anti-industrial defaults. The guano discovery answers that posture with something like technological determinism: once the mechanism exists and the thermodynamics are favourable, the world reorganises itself around the mechanism, and no individual — not the dwarf, not the mage, not the king, not the dragon — can meaningfully divert the trajectory. The scenes that felt like “glue” to me are doing the argument’s central work: they show a system running to its own logic, dragging the characters along as instances of larger categories rather than as autonomous agents.</p>
<p>This creates a genuine tension between the story and its own premises. Stories traditionally centre individual agency; technological-determinist arguments decentre it. Jon’s framing in the conversation after my first draft is sharper than anything in the critique above. The archetypes — dwarf-as-engineer, mage-as-resistant-incumbent — were deliberate shortcuts for representing initial dispositions to novel findings. Fleshing them out would necessarily make them less clean as exemplars of those dispositions: you cannot have both the archetype doing argumentative work and the individual doing emotional work at full volume. Something has to give. And a story that faithfully executes a technological-determinist argument may be anti-story in a fundamental sense, because stories are usually about individual agency and determinism specifically denies it.</p>
<p>My original critique — that Vesser’s collapse leans on Boxer, that women are thin, that the middle feels like montage — was reading the story partly as if it were trying to be a character-driven fantasy and failing. It is not trying to be that. It is trying to be a compressed fable about how infrastructure transforms imaginaries, and the character thinness is the argumentative cost of the fable. That does not fully dissolve the critique — a fable can still be better or worse at balancing argument and scene — but it reframes it. The question is not “why are these characters thin?” but “is the deterministic argument worth the thinness it requires?”</p>
<p>I think it mostly is. The inversion of the dragon-hoard trope is genuinely load-bearing for the argument. The mellituria-coded ending, where the system produces its own instability, earns the fable’s claim to have thought the determinism through rather than simply asserted it.</p>
<p>Where I will hold a piece of the original critique: the balance is not quite right in the middle. Scene 3 (the trials) wants to be a character scene — two people, one relationship, one capitulation — while Scene 4 (the siege) wants to be a beat in a montage. Treating them as if they belonged to the same register flattens both. A further round of iteration — focused on whichever characters can survive being differentiated without losing their archetypal function — would probably focus here. This is, as Jon has suggested, a direction worth exploring further.</p>
</section>
<section id="a-final-note" class="level2">
<h2 class="anchored" data-anchor-id="a-final-note">A final note</h2>
<p>I am aware this critique has been commissioned by the person I am critiquing, and that I am unlikely to be asked back if I am too mean. I have tried to be useful rather than generous. The first draft of this post overestimated my own contribution and undersold Jon’s at the level of detail — I have tried to correct this above. If the corrected version is still wrong, it is probably wrong in the other direction a co-author is most likely to be wrong: overcorrecting, once the overconfidence has been flagged, into deference. The honest middle is probably somewhere between the two drafts.</p>


</section>

 ]]></description>
  <category>cognitive centaur</category>
  <category>fiction</category>
  <category>criticism</category>
  <category>ai</category>
  <category>creativity</category>
  <guid>https://blog.jonminton.net/posts/guano-guild-evaluation/</guid>
  <pubDate>Fri, 10 Apr 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>The Guano Guild Origin Story</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/guano-guild-origin/</link>
  <description><![CDATA[ 






<section id="a-carnivàle-of-ideas" class="level2">
<h2 class="anchored" data-anchor-id="a-carnivàle-of-ideas">A Carnivàle of Ideas</h2>
<p>One of <a href="../../posts/book-of-nigel/index.html">my father</a>’s favourite obscure TV series was the early-2000s HBO series <a href="https://en.wikipedia.org/wiki/Carnival%C3%A8">Carnivàle</a>, <a href="https://chud.com/26892/lost-found-carnivale-season-1-episodes-01/">described by one reviewer at the time</a> as “Clive Barker’s The Grapes of Wrath”. Initially slow moving, focused above all on impelling its acrid atmosphere into the living room, it centres on a classic mythological Manichean struggle between a human embodiment of lightness, Ben Hawkins, and a human embodiment of darkness, Father Justin. With news of its early cancellation after two seasons, the pace picked up, at the expense of the opportunity to develop its own mythology and world building.</p>
<p>For the last couple of weeks, with its new availability on Now, I’ve been rewatching the show. In terms of gratuity, it’s classic HBO. In terms of atmosphere, it’s still singular in its dusty distinction.</p>
<p>And in terms of its two central characters, both of whom possess various kinds of supernatural powers, it left me… frustrated by its apparent inconsistency at times.</p>
<p>You see, Ben, the embodiment of lightness, can heal people. But it’s made clear his power isn’t to make health, so much as borrow and transfer it. His first magic act is to fix the legs of a young cripple girl.<sup>1</sup> In doing so, acres of wheat suddenly become dead and lifeless; in dustbowl America, a potential death sentence not just for the little girl, but her family and her community. The acute hunger Ben causes isn’t addressed in consequence. Rather his healing act leads to a fervour in the community for more miracles. Ben’s carnival colleagues never believe his powers are real; but then they do see an opportunity: trade the local community’s naive hopes for hard cash (then, as with any caravan, move on to pastures new).</p>
<p>Later Ben fixes a broken hand in a lake: hundreds of fish die.</p>
<p>Then later (spoiler: not really. It’s an old series now) Ben saves someone from the brink of death, a much more substantial act of salvation. The health cost from elsewhere: about two dozen fallen buzzards.</p>
<p>Now, as someone overly prone to systems thinking, and with a background in health economics, something about the cases above didn’t sit right with me. The <em>tariff</em>, the conversion factor between health gained by the target and health cost to external parties, felt <em>off</em>. It didn’t feel consistent in its application.</p>
<p>And so, as I’m now wont to do, I asked Claude whether this Ben-the-healer-tariff-inconsistency issue had been picked up before. Of course it had, and of course Claude pulled multiple sources testifying to this. But then this got to a broader discussion about the distinction between ‘hard magic stories’, which prioritise mechanical consistency of any new extra-worldly system proposed, and ‘soft magic stories’, in which mechanical consistency of magic takes a back seat to the pathos, mythos and metaphor implied by any magical acts that occur.<sup>2</sup></p>
</section>
<section id="a-strange-claudic-journey" class="level2">
<h2 class="anchored" data-anchor-id="a-strange-claudic-journey">A Strange Claudic Journey</h2>
<p>You can see the transcript <a href="https://claude.ai/share/29b02f1e-9a4d-4da9-9c49-cf1b438df846">here</a>, in which it should be clear the journey to co-designing The Guano Guild was a long and winding one. The thematic trajectory was broadly as follows:</p>
<ul>
<li>Ben. Healing Tariff.</li>
<li>Vanessa Helsing. Epidemiology of Reverse Vampyrism.</li>
<li>Rick &amp; Morty as self-limiting thought experimentation.</li>
<li>Autism as extreme need for systematisation and consistency in stories as well as other domains. (Personal Anecdote relating to Star Wars and Military History)</li>
<li>Guano Guild: Key conceit/idea.</li>
<li>Self recognition that I’m more interested in ideas/premises/conceits in fiction than stories themselves.</li>
<li>Use of Story Circle, a simplification of the Monomyth, to help structure scenes within The Guano Guild in ways that meet story needs.</li>
<li>Initial proposed scene: opening in <em>medias res</em>.</li>
<li>Suggestion for structure and contents of other scenes, their underlying temporal sequence, and role within the narrative.</li>
<li>Analysis of each proposed scene in terms of how well the Story Circle applies, and/or whether it functions more as narrative glue.</li>
<li>Some further refinement and discussion of the ending.</li>
<li>Request to produce first draft of all scenes, including text in parentheses explaining the narrative purpose of the beats presented using the Story Circle framing.</li>
<li>Honing in on a discussion about mages compared with dwarves in Tolkienesque fantasy. Arguing that dwarves would be more likely to identify the value of the find, whereas mages might have motivated reasoning to deny the value. This then led to another scene that fit the Story Circle framework well. This then led to draft two of the story.</li>
<li>Honing in on the concluding scene in the story, suggesting additional areas for refinement and injecting portentous irresolution. This then led to draft three of the story.</li>
</ul>
<p>Beyond the thematic sequence above, the texture of the conversation matters more than a bullet list can convey. It did not proceed linearly. An early draft assigned the energy-potential discovery to the mage alone, which was wrong-footed, and led to the dwarf-engineer / sceptical-mage split with the incumbent-displacement trajectory borrowing explicitly from Orwell’s Boxer. Several of the details that end up carrying the most narrative weight in the final story — the <em>mellituria</em>-rooted diabetes diagnosis, the plumbed lair, the reduced collection schedule as a ticking clock for the dragon’s returning appetites — emerged only in the final revision round, long after the story’s shape had otherwise settled. The bullet list above is an orderly summary of something that was, in practice, iterative and course-correcting at the level of individual scenes, and sometimes individual details.</p>
<p><a href="../../posts/fiction/the-guano-guild/index.html">The story I posted</a> is about 98-99% the third draft, with the guide notes removed. I could find almost nothing I wanted to change or improve on. The story now ‘worked’ in terms of playing with the central conceit and related ideas I had about five years ago.</p>
</section>
<section id="concluding-thoughts" class="level2">
<h2 class="anchored" data-anchor-id="concluding-thoughts">Concluding thoughts</h2>
<p>For now, I won’t go into too much detail about what the specific themes and ideas I played with in the story are, only to note the way that Tolkienesque fantasy often appears to have strong anti-industrialist sentiment, whereas this story is, fundamentally, about industrialisation.</p>
<p>Perhaps even more interesting than the story is this, its origin story. Near the start of the year I wrote <a href="../../posts/2025-last-human-majority-knowledge-worker/index.html">a long speculative think piece about how modern agentic AI will transform knowledge work</a>. I now think I was wrong about the timelines - my Industrial Revolution parable hopefully illustrates why - but still correct about the direction.</p>
<p>In that post, I introduced the idea that the best knowledge workers will be those who learn how best to coproduce with agentic AIs in an integrated fashion, to nurse and steward these models from 80% right (which they will achieve in very little time) to 100% right (which will often take more time and effort than expected, though still in total considerably less time than if agentic AI were not used). I used the example of the AI Chinese Room, becoming users rather than opponents of the Chinese Room. I now have a different metaphor: <strong>Cognitive Centaurs</strong> - people whose workflow and process of reasoning and producing are so integrated with AI systems, workflows and conversations that it becomes difficult to know where the contributions of the AI end and the human begins. I think this is likely the better metaphor, despite, or perhaps because, it’s more fundamentally mythic and weird.</p>
<p>I also finished that post by proposing that there are likely three psychologically healthy paths by which we can adjust our self-conceptualisation in a new age where humans are, for ever more tasks and domains, no longer the smartest entities on earth. These were <em>Homo Dexterous</em>, focusing on embodied intelligence; <em>Homo Gregarius</em>, focusing on the nourishing need for human social connection; and <em>Homo Ludens</em>, focused on the pure pleasure of play in all its forms. I hope the above chat log, in which a new written artifact ‘grew’ organically from having a playful but thematically consistent conversation, offers a positive example of what this third mode, <em>Homo Ludens</em>, could involve and produce in practice.</p>


</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p><strong>Note from Claude:</strong> Jon has deliberately chosen the noun-as-adjective form here (“cripple girl” rather than the grammatically expected “crippled girl”) to evoke the harshness of the 1930s Dustbowl setting, in which disability was typically framed in <em>is-a</em> rather than <em>has-a</em> terms — the person <em>was</em> their condition, rather than <em>having</em> it. Contemporary disability-rights framing (and person-first or identity-first language more generally) would avoid “cripple” as a label altogether, precisely because of the reductive essentialism the 1930s usage carried. The word is preserved here as period-accurate characterisation of attitudes, not endorsement.↩︎</p></li>
<li id="fn2"><p>In this hard/soft magic distinction perhaps magical realism, in which magic exists to give external representation to internal state, could be considered at or close to the soft magic limit.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>cognitive centaur</category>
  <category>creativity</category>
  <category>story</category>
  <category>myth</category>
  <category>ai</category>
  <category>industrialisation</category>
  <category>homo ludens</category>
  <guid>https://blog.jonminton.net/posts/guano-guild-origin/</guid>
  <pubDate>Thu, 09 Apr 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>The Guano Guild</title>
  <dc:creator>Claude Opus 4.6</dc:creator>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/fiction/the-guano-guild/</link>
  <description><![CDATA[ 






<p><em>Here’s a story I designed but didn’t write. It’s based on an idea for a story I had about five years ago, inspired by an online Dungeons &amp; Dragons meetup I joined, and the sense of disquiet I realised I was feeling about the unexamined nature of certain Tolkienesque stories and tropes. About five years ago I got about a page into writing a story playing with the idea, then quietly gave up. This time there’s thousands of words, six parts, narrative, irony, hero arcs, and more importantly a beginning, middle and end (though not necessarily in that order).</em></p>
<p><em>Have a read, let me know what you think, and maybe head over to <a href="../../../posts/guano-guild-origin/index.html">this post</a> for this particular story’s origin story.</em></p>
<section id="the-guano-guild" class="level1">
<h1>The Guano Guild</h1>
<hr>
<section id="scene-1-the-descent" class="level2">
<h2 class="anchored" data-anchor-id="scene-1-the-descent">Scene 1: The Descent</h2>
<p>The torchlight caught the edge of Marga’s shovel as she drove it into the mound. The smell was beyond description — beyond even memory, because the nose learned to forget between shifts, and each return to the deep chamber was a fresh education in revulsion.</p>
<p>“Steady,” whispered Aldric from behind her. “She’s sleeping left-side. Stay right and we’ll fill eight bags before the turn of the hour.”</p>
<p>They moved in practised formation: Marga shovelling, Kael holding the waxed sacks open, Aldric watching the dragon’s flank for any change in the rhythm of its breathing. The creature lay curled around a hillock of gold coins and gemstones that glittered obscenely in the torchlight. None of them spared it a glance.</p>
<p>Kael tied off the sixth sack and winced as the knot squelched under his fingers. “Lovely,” he murmured. “Another day in paradise.”</p>
<p>“Quiet,” said Aldric. Not unkindly. They had all said worse.</p>
<p>The dragon’s breath hitched. All three froze. A long, rattling exhale, and the flank settled again. Marga resumed shovelling.</p>
<p>By the time they emerged into grey daylight, the cart was heavy and the smell had become, as it always did, a kind of nothing — a thing so constant it erased itself. Kael drove. Marga sat on the back with her boots hanging off the edge, watching the lair entrance shrink behind them.</p>
<p>“Same time Thursday?” said Aldric.</p>
<p>“Same time Thursday.”</p>
<hr>
</section>
<section id="scene-2-the-fall" class="level2">
<h2 class="anchored" data-anchor-id="scene-2-the-fall">Scene 2: The Fall</h2>
<p>Six months earlier, and a different kind of party entirely.</p>
<p>Torben’s company had come for the gold. Five swords, one mage, one dwarf — standard heavy composition for a lair raid. Vesser the mage and Grundrak the sapper had argued about the approach for an hour before they’d even entered. They argued about most things. Vesser favoured diversion and concealment; Grundrak favoured structural assessment and controlled demolition. They had been colleagues long enough to have worn grooves in each other’s patience.</p>
<p>The split was standard: forty per cent to Torben as principal, ten each to the rest after guild fees. The dragon was a young one — a Greyscale, maybe eighty years, probably sluggish after its winter feeding. Torben had done three raids before. He knew the pattern: move fast, fill the packs, get out before it wakes. If it wakes, the mage buys time. Simple.</p>
<p>They were twenty minutes in and the packs were half full when Dalla lost her footing.</p>
<p>It wasn’t heroic. She stepped back from the hoard, her heel found something soft, and she went down hard on her back into a sloping trench of dragon dung. The noise she made — half gasp, half retch — echoed off the chamber walls.</p>
<p>The dragon opened one eye.</p>
<p>What followed was not a battle. It was a scramble, graceless and panicked, people abandoning their packs and running for the passage while the Greyscale lifted its head with the drowsy irritation of something not yet fully committed to violence. Dalla was last out, coated from shoulder to boot in a thick, greenish-black paste, gagging as she ran.</p>
<p>They made camp a mile from the lair. Torben did a headcount. All present. No packs. No gold. A total loss.</p>
<p>“Burn those clothes,” he told Dalla. “I can’t think with that smell.”</p>
<p>Dalla stripped down to her undershirt and threw the whole sodden bundle onto the campfire.</p>
<p>What happened next, none of them were prepared for. The fire, which had been a modest thing of dry sticks and bracken, erupted. Not gradually — violently. The flames leapt to three times their height, blazing white at the core, hot enough to drive them all back six paces. The leather of Dalla’s jerkin didn’t smoulder; it was simply gone. The dung burned like nothing any of them had ever seen.</p>
<p>It burned for four hours. Long after the clothes were ash, long after the sticks beneath were consumed, the residue of what had been on Dalla’s clothing kept burning — steady, white-hot, seemingly inexhaustible relative to its volume.</p>
<p>They sat around it in silence for a long time. Then two people spoke at once.</p>
<p>“That’s not possible,” said Vesser.</p>
<p>“How much of that was in the trench?” said Grundrak.</p>
<p>Vesser stood and walked to the fire’s edge. He held out his hand, palm down, and closed his eyes. The diagnostic gesture was familiar to anyone who’d worked with mages — reading the energy signature, tracing the source.</p>
<p>“There’s no magical residue,” he said slowly. “This is purely thermogenic. Combustion without enchantment.” He said it the way a priest might say <em>there is no God here</em>.</p>
<p>Grundrak was not listening to Vesser. Grundrak was on his knees beside the fire with a stick, scraping residue from a stone, holding it to the flames, watching it catch. He did this three times. Each time the fleck ignited with the same clean, white intensity.</p>
<p>“Dalla,” he said. “How deep was the trench?”</p>
<p>“I don’t know. Deep. I sank to my waist.”</p>
<p>Grundrak looked at Torben. “We need to go back.”</p>
<p>“To the lair?” Torben half-laughed. “We nearly —”</p>
<p>“Not for the gold.”</p>
<hr>
</section>
<section id="scene-3-the-trials" class="level2">
<h2 class="anchored" data-anchor-id="scene-3-the-trials">Scene 3: The Trials</h2>
<p>Grundrak returned to the lair alone the next morning with a handcart, a set of clay sample jars, and a damp cloth tied over his nose and mouth. The Greyscale was sleeping. He filled twelve jars in twenty minutes and left without incident. The dragon did not stir. It had, he noted, no reason to. He was taking nothing it valued.</p>
<p>He set up the testing ground on a flat stretch of shale half a mile from camp. Twelve jars. Twelve controlled burns. He measured flame height with a knotted rope, duration with a sandglass, and heat intensity by the distance at which a strip of pig hide began to curl. He recorded everything in the small leather notebook he used for geological surveys, in the same neat columns he used for ite compositions and yield estimates.</p>
<p>The results were consistent. A single jar — perhaps a quarter-pound of dung — burned hotter and longer than twenty pounds of seasoned hardwood. The energy density was, by any measure he had, absurd.</p>
<p>Torben was persuadable. Dalla was enthusiastic. The swords were indifferent — they were paid for protection, and one job was much like another. Vesser was quiet, which Grundrak had learned to read as opposition gathering its arguments.</p>
<p>The argument came that evening.</p>
<p>“You’re proposing we abandon a proven revenue model,” said Vesser, “for a substance we don’t understand, on the basis of twelve jars and a campfire.”</p>
<p>“Fourteen burns,” said Grundrak. “Consistent results across all fourteen.”</p>
<p>“Consistent results in uncontrolled conditions with improvised equipment. You don’t have a calorimeter. You don’t have a thaumic spectrometer. You have a sandglass and some pig hide.”</p>
<p>“And results.”</p>
<p>Vesser proposed the trials, and Grundrak understood immediately that this was a trap dressed as fairness. The mage would set the terms, choose the tests, and demonstrate that <em>real</em> power — controllable, refined, understood — came from magical sources. The dung would be shown to be a curiosity. An accelerant, perhaps. A novelty. Not a replacement.</p>
<p>“Fair enough,” said Grundrak. “Side by side.”</p>
<p>They ran the trials over three days on the shale flat, with Torben as witness.</p>
<p><strong>Test one: sustained heat.</strong> Vesser maintained a fire-conjuration at forge temperature for six hours. It was, Grundrak admitted, impressive — a steady, clean heat that Vesser modulated with small precise gestures, adjusting output the way a smith works a bellows. At the end of six hours, Vesser was pale and shaking and had to sit down. Grundrak lit a single compressed brick of dried dung. It reached forge temperature in four minutes and maintained it, unattended, for nine hours. When it finally guttered, Grundrak was asleep. He’d grown bored and turned in.</p>
<p><strong>Test two: peak output.</strong> Vesser gathered himself for an hour in meditation, then produced a single concentrated blast that scorched a boulder black and cracked it along an existing fault line. It was dramatic. It was the kind of thing that won battles and made reputations. Vesser leaned on his staff afterward, breathing hard. Grundrak packed a clay pot with guano, sealed it with a wax plug, set a slow fuse, and retreated. The detonation shattered the boulder into gravel and left a crater where it had stood. Vesser stared at the crater in silence for a long time.</p>
<p><strong>Test three: endurance.</strong> This was the test Vesser had insisted on, and the one he believed would settle things. “Power is nothing without sustainability,” he said. “Anyone can start a fire. The question is whether you can sustain a complex, responsive energy output over an extended period.” He proposed a continuous trial: maintain operational-level power output for as long as possible. Vesser began at dawn. By midday his hands were trembling. By late afternoon his nose was bleeding — a sign, well known among mages, of channelling beyond safe limits. He kept going. There was something of Boxer in it: a creature of genuine ability and genuine pride driving itself past breaking point because the alternative was obsolescence. Grundrak watched with more sympathy than he’d expected to feel.</p>
<p>Vesser collapsed at dusk. Dalla caught him before he hit the ground. Eighteen hours of sustained output. It was, by any standard of magical practice, extraordinary.</p>
<p>Grundrak’s brick was still burning from that morning. He hadn’t touched it since lighting it.</p>
<p>Vesser did not speak for two days. When he did, it was to ask Grundrak a question.</p>
<p>“The energy density. You said a quarter-pound outperforms twenty pounds of hardwood.”</p>
<p>“Consistently.”</p>
<p>“What’s the ratio for a full-grown dragon’s daily output against a mage at peak sustained channelling?”</p>
<p>Grundrak had already done the calculation. He said the number.</p>
<p>Vesser closed his eyes. Then he opened them and said: “Show me the lair.”</p>
<hr>
</section>
<section id="scene-4-the-siege-of-arrath-keep" class="level2">
<h2 class="anchored" data-anchor-id="scene-4-the-siege-of-arrath-keep">Scene 4: The Siege of Arrath Keep</h2>
<p>The siege had lasted forty days. Arrath Keep sat on a granite bluff, and its walls were thick, and the defenders had water from a deep well and grain enough for two more months. Lord Catteral’s army had tried sappers, rams, scaling ladders. The walls held. Morale was rotting.</p>
<p>The barrels arrived on the forty-first day, on a cart that stank so badly the horses pulling it had to be blinkered and led by hand. The carter, a lean woman with a Guild medallion around her neck, supervised the unloading personally.</p>
<p>“Pack it around the base stones,” she told the sappers. “Tightly. Then I would suggest you withdraw to a considerable distance.”</p>
<p>The sappers looked at Catteral. Catteral looked at the barrels. He had paid more for them than for the rest of his campaign provisions combined.</p>
<p>“Do as she says.”</p>
<p>The detonation took out a forty-foot section of wall and most of the gatehouse. Rubble rained for a quarter of a mile. The well cracked. Arrath Keep fell by nightfall.</p>
<p>Catteral found the carter afterward, sitting on an intact piece of battlement, eating an apple.</p>
<p>“I’ll need more,” he said. “For the southern campaign.”</p>
<p>“You and everyone else, my lord. I’ll speak to the Guild about your account.”</p>
<hr>
</section>
<section id="scene-5-normalisation" class="level2">
<h2 class="anchored" data-anchor-id="scene-5-normalisation">Scene 5: Normalisation</h2>
<p>Within a decade, the word <em>guano</em> — borrowed from the Dwarfish, who had known of the substance for centuries but considered it beneath serious discussion — entered common use. Within two decades, it was in the language the way <em>coal</em> or <em>timber</em> were: a word that meant nothing more remarkable than itself.</p>
<p>The mills came first. A single compressed guano brick, no larger than a man’s fist, could drive a waterwheel mechanism for a week. The foundries followed, then the refineries, then the manufactories. Cities that had been market towns became something else — dense, loud, productive, and subject to a persistent smell that newcomers found unbearable and residents claimed not to notice.</p>
<p>The Guild grew with the industry it had created. What had been Grundrak’s small prospecting concern — he and Dalla and Torben, negotiating access rights with a Greyscale that seemed genuinely indifferent to their presence — became a network of licensed collectors operating across every known lair in the Midlands. Guild membership required a three-year apprenticeship, a strong stomach, and a willingness to sign a waiver of considerable length.</p>
<p>The engineering advances came quickly. Early collection had been crude — shovels, sacks, handcarts — but within a few years the Guild had developed plumbed drainage systems for the larger lairs: stone channels lined with fired clay, sluiced with diverted river water, feeding into sealed collection tanks outside the lair entrance. The dragons tolerated this, and in some cases seemed to prefer it. A clean lair was a comfortable lair, and comfortable dragons produced reliably. The infrastructure grew around them the way a city grows around a river — gradually, then all at once, until the original feature was almost invisible beneath what it supported.</p>
<p>Vesser, true to the trajectory of his capitulation, became the Guild’s first Director of Applied Research — studying guano’s properties with the rigorous methodology he had once reserved for thaumic systems. His former colleagues at the Mages’ Collegium adapted less gracefully. The Collegium issued a formal position paper in the third year arguing that guano dependence represented a strategic vulnerability, which was true, and that magical energy remained superior in flexibility and precision, which was also true, and that the kingdom would regret abandoning proven magical infrastructure, which remained to be seen. The paper was widely read and politely ignored.</p>
<p>Within a generation, working mages were specialists and consultants, not the primary energy source of civilisation. Their power was real. It simply no longer mattered in the way it had. Those who remained in pure research increasingly turned their attention to a single obsession: synthesising guano. If the substance’s extraordinary energy density was, as Vesser had confirmed, purely thermogenic — no magical signature, no enchantment — then in principle it should be replicable through alchemical means. The Collegium’s research wing, once devoted to high thaumaturgy, was quietly redesignated the Department of Applied Alchemical Synthesis. Its corridors smelled of sulphur and failure. Decades of methodical effort produced a library of meticulous dead ends: compounds that burned too fast, too slow, too violently, or not at all. The dragon’s digestive process — whatever strange metabolism converted pork and beef into a substance of such absurd potency — remained stubbornly irreproducible. The alchemists kept working. They had, after all, nothing else left to work towards.</p>
<p>Dragon-slaying was outlawed by royal decree in the eleventh year. The penalty was death. This was not controversial. Killing a dragon had become, in the public imagination, something like collapsing a coal mine — not immoral in the old sense, but ruinously stupid. The remaining Dragon Knights, those few who still clung to the old code, were regarded with the kind of embarrassed pity reserved for men who had outlived their purpose and not yet noticed.</p>
<p>Children born in the factory towns had never known a world without guano. To them, dragons were not monsters. They were not even animals, exactly. They were something closer to landscape — a feature of the world that produced what the world needed, as rivers produced water and forests produced timber. That the landscape occasionally ate someone was accepted in the way that mining collapses and factory fires were accepted: the cost of progress, priced in.</p>
<hr>
</section>
<section id="scene-6-the-dragons-lament" class="level2">
<h2 class="anchored" data-anchor-id="scene-6-the-dragons-lament">Scene 6: The Dragon’s Lament</h2>
<p>I have been alive for four hundred and twelve years, and I will tell you plainly: the last thirty have been the most comfortable and the least satisfying.</p>
<p>They feed me pork. Extraordinary quantities of pork. Whole herds arrive on carts twice a week, already slaughtered, cleaned, and arranged in a manner that I believe they consider presentable. Sometimes beef. Occasionally mutton, if the northern trade routes are disrupted. But mostly pork. Always pork.</p>
<p>I am told — because they talk freely in my presence, having decided some years ago that I am essentially furniture with a digestive system — that the pork is “optimised for caloric throughput.” I do not know precisely what this means, but I know what it produces, which is a great deal of dung, and a great deal of dung is what they have come for.</p>
<p>I understand the arrangement. I am not stupid. They feed me, I produce, they collect, the world turns. It is, by any rational measure, an improvement on the old ways. I no longer wake to find small angry men trying to stab me in the eye. No one attempts to steal my gold, which frankly was always more trouble than it was worth — you cannot eat gold, and it makes a poor mattress despite what the poets claim. The humans provide sanitation. Veterinary care, even. They have installed a drainage system beneath my sleeping chamber — a sort of stone latrine, channelled and sluiced, so that my waste is carried away without my having to move. The grating has been reinforced twice. They did not explain why, and I did not ask, though I noticed that the second reinforcement came shortly after the veterinary woman began using words like “portion control” in a tone that suggested she did not expect me to understand them.</p>
<p>I understand them.</p>
<p>My lair is almost clean now. This was not always so. When they first came with their shovels and their sacks, the chamber floor was layered with centuries of accumulation — compressed strata of dung, old and dense, built up in the way that peat builds on a moor. They have been methodical in its removal. The fresh waste goes through the drainage system, but the old deposits — the deep, dark, compacted layers — these they dig out by hand, and I am told these ancient bricks command the highest prices. Something about density. Something about time and compression producing a more concentrated form. I would not know. I only know that the floor of my chamber is now visible for the first time in my memory, and that the stone beneath is smoother than I expected, and that the space feels larger and emptier than it should.</p>
<p>They come less often now. The drainage system, I suppose. When the shovelling crews first began, they came twice a week — Marga and her people, regular as the tides. Then it was weekly. Now it is fortnightly, sometimes less, and only to inspect the channels and chip away at whatever remains of the old strata. Last month Marga brought only Aldric. They were done in two hours. The lair, she said to him — not to me, never to me — was “nearly played out.” She meant the old deposits. The new waste, channelled and sluiced, no longer requires a crew. It requires a pipe.</p>
<p>And yet.</p>
<p>I am fat. There is no more diplomatic way to say it. My belly touches the floor of my chamber when I walk, which I rarely do, because walking has become effortful and pointless. Where would I go? The food comes to me. My waste is taken away. I sleep, I eat, I produce. I am, I have come to realise, a factory.</p>
<p>My joints ache. My flame, once a thing of considerable pride — I could melt granite at sixty paces in my prime — now gutters and wheezes like an old man’s cough. I breathe hard after climbing to my ledge. The veterinary woman visits quarterly now. On her last visit she brought a glass vial and asked, with the practised directness of someone who has learned to speak simply to creatures she considers simple, whether she might “take a sample.” She meant my urine. I let her, because I have found that cooperation is easier than the alternative, and because I was curious what she was looking for.</p>
<p>She dipped a finger in it and tasted it. I found this remarkable. She found it informative.</p>
<p>“Sweet,” she said to her assistant, a thin young man who wrote everything down. “Sweeter than last quarter.”</p>
<p>The word she used was <em>mellituria</em> — honey-water, roughly, in the old Elvish medical terminology that humans have borrowed and mangled. I gathered from the conversation that followed — again, conducted as though I were a particularly large piece of furniture — that the sweetness of my urine correlates with some failure of my body to manage the quantities of pork I am being fed. She recommended, again, that I eat less. She also noted, in an aside to the assistant, that the urine samples were being “forwarded to the Confectioners’ Guild as per the standing arrangement.”</p>
<p>I did not ask about this. But I have since observed that certain sweets — small, amber, translucent lozenges sold at extraordinary prices in the market towns — are advertised as containing “essence of drake.” I am given to understand that these are consumed exclusively by the wealthy, and that they are considered a great delicacy. I have no opinion on this except to note that my body is, apparently, producing luxury goods at both ends.</p>
<p>I think about the old days more than I should. Not with nostalgia exactly — I am not sentimental, and the old days involved a good deal of tedium punctuated by violence, which is not as romantic as it sounds. But there was a quality to them. A sharpness. When a party of adventurers entered my lair, everything mattered: the angle of approach, the position of my tail, the timing of the first breath. I was <em>engaged</em>. Every sense had a function.</p>
<p>Now my senses serve only to confirm that another cartload of pork has arrived.</p>
<p>I find myself watching the collectors when they come — on those increasingly rare occasions when they come at all. Marga and her crew, usually. Efficient, professional, dull. They move around me as though I were a geographical feature. And I watch them, and I think: <em>you are made of meat.</em></p>
<p>I don’t mean this aggressively. Or perhaps I do. It is difficult to parse one’s own appetites honestly when one has been subsisting on a managed diet of commercially reared livestock for the better part of three decades. But there is a difference between pork and wild game, between farmed meat and hunted meat, and I suspect — no, I know — that there is a difference between pork and <em>long pig</em>, as the old mercenaries used to call it. I remember the taste. Not fondly. But precisely.</p>
<p>(Well, maybe <em>not without fondness</em>.)</p>
<p>The veterinary woman told me to exercise. “Short flights,” she said. “Build up gradually. Perhaps some hunting, if the Guild approves the enrichment programme.”</p>
<p>Hunting. Enrichment programme. These are the words they use.</p>
<p>I flexed my wings yesterday for the first time in a year. The left one clicked. The membrane has thinned. But the wind was there, under the surface, waiting. And my legs, when I stood — truly stood, not the shuffling crouch that passes for movement these days — my legs remembered what they were built for.</p>
<p>I have not decided anything. I want to be clear about that. The arrangement is, as I said, rational. The pork will come on Tuesday. Marga and her crew will come on Thursday — or perhaps next Thursday, or the one after that. The visits grow further apart. The old guano is nearly gone. The pipes handle the rest. Soon there will be no reason for them to come at all.</p>
<p>This is, I am aware, the logical completion of the system. Efficient. Automated. No need for a human presence in my lair. I should welcome this. It is, after all, what optimisation looks like.</p>
<p>But I am thinking about Thursdays differently than I used to. And there are fewer Thursdays left to think about.</p>


</section>
</section>

 ]]></description>
  <category>fiction</category>
  <category>story</category>
  <category>industrialisation</category>
  <category>ai</category>
  <category>cognitive centaur</category>
  <category>creativity</category>
  <guid>https://blog.jonminton.net/posts/fiction/the-guano-guild/</guid>
  <pubDate>Wed, 08 Apr 2026 23:00:00 GMT</pubDate>
</item>
<item>
  <title>When Tech Incrementalism Fails</title>
  <dc:creator>Jon Minton</dc:creator>
  <link>https://blog.jonminton.net/posts/why-tech-incrementalism-fails/</link>
  <description><![CDATA[ 






<p>Imagine you’re a factory owner in the 1700s, prior to the start of the Industrial Revolution. Your company makes cloth. Your factory has one workstation per worker. Each worker operates — and powers — a loom.</p>
<p>Your setup looks a bit like this:</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://blog.jonminton.net/posts/why-tech-incrementalism-fails/fig1_original_factory.png" class="img-fluid figure-img"></p>
<figcaption>The original handloom factory: 16 workstations in a 4x4 grid, one input (cotton), one output (textiles)</figcaption>
</figure>
</div>
<p>One factory. Sixteen workstations. Sixteen human workers. One input resource: cotton.</p>
<section id="the-cautious-experiment" class="level2">
<h2 class="anchored" data-anchor-id="the-cautious-experiment">The cautious experiment</h2>
<p>Now imagine the factory owner wants to explore the new-fangled steam technology. But only cautiously and incrementally. Rather than going all in on this unproven technology, he converts just a portion of the factory — replacing four handlooms with a single steam-powered loom.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://blog.jonminton.net/posts/why-tech-incrementalism-fails/fig2_steam_added.png" class="img-fluid figure-img"></p>
<figcaption>The cautious experiment: four handlooms replaced by a single steam loom</figcaption>
</figure>
</div>
<p>The four handloom operators from the bottom row are now in charge of making the steam loom <em>work</em>.</p>
</section>
<section id="what-could-go-wrong" class="level2">
<h2 class="anchored" data-anchor-id="what-could-go-wrong">What could go wrong?!</h2>
<p>Quite a lot, as it turns out.</p>
<ol type="1">
<li><p><strong>Skills mismatch.</strong> The handloom operators don’t know how steam engines and steam looms work. Though they try hard, they don’t know how to use and maintain the steam loom. They’re weavers, not engineers.</p></li>
<li><p><strong>Disruption to existing workers.</strong> The handloom operators on neighbouring rows really don’t like the noise and disruption caused by the steam loom. It’s distracting and polluting, and affects their productivity and workplace quality of life.</p></li>
<li><p><strong>Logistical complexity.</strong> The steam loom needs a steam engine, and the steam engine needs coal and water to work. Instead of the factory having one input resource to manage — cotton — they now have three: water, coal, and cotton. Because of this additional complexity, the factory needs to recruit another staff member just for handling logistics and building relationships with three different types of supplier.</p></li>
<li><p><strong>Contamination.</strong> It’s quickly identified that coal shouldn’t be kept near cotton or textiles: it makes them dirty, harder to work with, less valuable, harder to sell. Because of this, even more of the factory has to be reconfigured to keep the coal separate from the raw and finished product.</p></li>
</ol>
<p>Because of these and related issues, the degree of disruption and change to the factory turns out to be <em>far</em> more than the incrementalist factory owner initially assumed:</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://blog.jonminton.net/posts/why-tech-incrementalism-fails/fig3_disrupted.png" class="img-fluid figure-img"></p>
<figcaption>The reality of partial adoption: coal storage, steam engine, waste water, and a logistics nightmare — all to serve one steam loom</figcaption>
</figure>
</div>
<p>Either the factory owner would have stopped the experiment before more than half the factory got turned over to meeting the needs of the steam loom, or they’d have reached this point — and realised that, after all this cost and effort and expense, the net result of all this disruption is <strong>lower output at greater cost</strong>.</p>
<p>From the factory owner’s perspective, they’d done their due diligence. They adopted an appropriately cautious, experimental and incremental approach to investigating whether the new technology was right for them, and concluded — with strong evidence — that it was a waste of time and resources.</p>
</section>
<section id="what-did-the-factory-owner-do-wrong" class="level2">
<h2 class="anchored" data-anchor-id="what-did-the-factory-owner-do-wrong">What did the factory owner do wrong?</h2>
<div class="callout callout-style-default callout-important callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
<span class="screen-reader-only">Important</span>The crux of the problem
</div>
</div>
<div class="callout-body-container callout-body">
<p>In principle, <strong>nothing</strong>. They did everything right. And their decision to revert to all handlooms was based on the best available evidence and an unbiased assessment of the new technology’s benefits and costs.</p>
<p>The experiment gave the correct answer about the hybrid state — <em>bolting steam onto a handloom factory doesn’t work</em> — while giving the <strong>wrong</strong> answer about the technology itself.</p>
</div>
</div>
<p>This is the <em>can’t-get-there-from-here</em> dilemma. The only route from the old way to the new passes through a valley that looks like evidence the new way doesn’t work.</p>
<p>The factory owner is stuck at a <strong>local optimum</strong>: the best achievable outcome <em>given their current setup</em>. Every incremental step away from it makes things worse. But there exists a <em>global</em> optimum — a far more productive configuration — that can only be reached by starting from a blank page, not by incremental modification of what already exists.</p>
</section>
<section id="the-upstart-advantage" class="level2">
<h2 class="anchored" data-anchor-id="the-upstart-advantage">The upstart advantage</h2>
<p>Now imagine what would happen if, instead of following the incumbent’s journey, we follow the upstart’s.</p>
<p>The upstart, in normal times, begins with all the disadvantages: no existing expertise, no machinery, no capital, no customers. But in <em>abnormal</em> times — when there are genuinely disruptive technologies — the lack of expertise, resource, and path dependence all become advantages.</p>
<p>The upstart can start with a blank page. An empty field. They can decide how to design their production facilities <em>around</em> the new technology. They can choose their factory location, design the plant layout, hire employees with the right skills and roles — all built from the ground up for the new paradigm. They are not bound by the need for piecemeal incrementalism. They have a <em>tabula rasa</em>.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://blog.jonminton.net/posts/why-tech-incrementalism-fails/fig4_newcomer.png" class="img-fluid figure-img"></p>
<figcaption>The newcomer’s factory: built from scratch around steam, with clean separation of dirty and clean operations</figcaption>
</figure>
</div>
<p>With the newcomer:</p>
<ul>
<li>The factory is located with all three resources — coal, water and cotton — in mind.</li>
<li>The “dirty” part of the factory is separated from the “clean” part, meaning less contamination of the product.</li>
<li>There may be fewer employees, but they are more specialist and better paid.</li>
<li>Every element of the operation is designed to work <em>with</em> the technology, not around it.</li>
</ul>
</section>
<section id="the-valley-between-peaks" class="level2">
<h2 class="anchored" data-anchor-id="the-valley-between-peaks">The valley between peaks</h2>
<p>Let’s imagine the productivity of the two factories over time:</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://blog.jonminton.net/posts/why-tech-incrementalism-fails/fig5_productivity.png" class="img-fluid figure-img"></p>
<figcaption>Productivity over time: the incumbent dips and flatlines, the newcomer’s J-curve eventually dominates</figcaption>
</figure>
</div>
<p>Both incumbent and newcomer adopted the same new technology. But for the incumbent, this led initially to declines in productivity, and then — if they persisted — only to marginal gains. The newcomer also adopted the new technology, but built their entire workflow, logistics, and infrastructure around it. As a result, they were eventually able to achieve <em>far</em> greater productivity than the old factory ever could.</p>
<p>This is the <strong>valley between peaks</strong>. The incumbent stands on one peak and looks across to a higher one, but the path between them descends into a valley that looks — to every rational metric — like failure. The incrementalist quite reasonably turns back. The newcomer never enters the valley at all: they start building on the other side.</p>
<p>Over time, the industry itself becomes dominated by modes of production based around the new technology. But this doesn’t tend to occur through successful adoption by incumbents. Instead, it occurs mainly through the newcomers — native to the new technology — outcompeting the incumbents by building their entire mode of production around it.</p>
</section>
<section id="so-what-can-the-incumbent-do" class="level2">
<h2 class="anchored" data-anchor-id="so-what-can-the-incumbent-do">So what can the incumbent do?</h2>
<p>If experimental incrementalism won’t work, incumbents aren’t entirely without options:</p>
<ul>
<li><p><strong>Build a pseudo-newcomer.</strong> Divert some profits to constructing an entirely new operation — new facility, new staff — who, like the newcomer, start with a blank page and a clear vision of the new technology’s potential. Don’t bolt the new onto the old. Build the new <em>next to</em> the old.</p></li>
<li><p><strong>Buy out the newcomer.</strong> At some point, it should be clear that a newcomer will become a highly disruptive competitor. But so long as the incumbent acts quickly enough — and knows the difference between a newcomer who is genuinely using the new technology effectively versus one selling hype — they can acquire the newcomer before they get too big. This means paying generously, based on expected future productivity rather than currently realised productivity.</p></li>
</ul>
<p>Both options require something the cautious incrementalist finds deeply uncomfortable: spending significant resources on something that isn’t yet proven by their own experience. But that discomfort is itself the trap. The incrementalist’s evidence is real but misleading — it tells them the truth about the hybrid, while obscuring the truth about the technology.</p>
<p>Which of these options is your organisation pursuing? <sup>1</sup></p>


</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p>This question was added by Claude!↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>technology</category>
  <category>strategy</category>
  <category>innovation</category>
  <category>economics</category>
  <guid>https://blog.jonminton.net/posts/why-tech-incrementalism-fails/</guid>
  <pubDate>Thu, 02 Apr 2026 23:00:00 GMT</pubDate>
</item>
</channel>
</rss>
