<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Mike Frantzen]]></title><description><![CDATA[Mike’s career spans the cyber spectrum: defense, offense, founding companies, to exploiting geo-asymmetries. In the 2000s he bet on automation, in 2013 that thesis became a company, in 2025 it was acquired to converge cyber with traditional warfare.]]></description><link>https://www.mfrantzen.com</link><image><url>https://substackcdn.com/image/fetch/$s_!_Nwp!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F619d818f-9005-4547-ae96-60566533c172_2190x2190.jpeg</url><title>Mike Frantzen</title><link>https://www.mfrantzen.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 19 Sep 2026 01:25:09 GMT</lastBuildDate><atom:link href="https://www.mfrantzen.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Mike Frantzen]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[mikefrantzen@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[mikefrantzen@substack.com]]></itunes:email><itunes:name><![CDATA[Mike Frantzen]]></itunes:name></itunes:owner><itunes:author><![CDATA[Mike Frantzen]]></itunes:author><googleplay:owner><![CDATA[mikefrantzen@substack.com]]></googleplay:owner><googleplay:email><![CDATA[mikefrantzen@substack.com]]></googleplay:email><googleplay:author><![CDATA[Mike Frantzen]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Code was code, and then language was language]]></title><description><![CDATA[The evolution, and then the revolution in my own AI research workflow.]]></description><link>https://www.mfrantzen.com/p/code-was-code-and-then-language-was</link><guid isPermaLink="false">https://www.mfrantzen.com/p/code-was-code-and-then-language-was</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Fri, 11 Sep 2026 12:03:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_F2g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I have spent much of this year with a swarm of AI agents researching China as a great power. This post is not about China, business or cyber. It is about what happened to my workflow along the way: a gradual evolution I expected to happen, and then a revolution I did not.</p><p>I have worked the national security mission for more than twenty years, first building capabilities that people wiser than I was had defined, then designing the ones we would build, deploy, operate and support. As I became a lot less young and a little more wise, that meant I spent a good part of my day in non-English documents, systems, and data.</p><p>I do not have the talent for foreign languages. That&#8217;s an understatement. I have to study to be able to use a single curse word in a foreign language. So long ago I evolved a workflow that accommodated my weakness at languages. That foreign-language information went through static translation tools first, some commercial, some government-built, and all awful at the technical terminology I actually needed to understand. Then I worked the rest of the project in my native English. Translate first, then work.</p><p>In 20/20 hindsight the workflow was horrendous. It&#8217;s not just that the tools were bad. They were. It is that the whole workflow was held back by my weakness. On the rare occasion that I brought in a human translator they themselves didn&#8217;t understand the technical idioms to translate them. That part of my workflow is where information was lost. I never took a hard look at the step that worked. It kept working, so it stayed.</p><h3>The kinda-upgrade</h3><p>That translation stage before I performed real work became that baby picture on your fridge that you never look at, that you can&#8217;t even figure out which kid it is. I was always looking for a better translator, and then machine translation got really really good.</p><p>A better tool replacing an old tool doesn&#8217;t change things much. You might get more productivity, cheaper results, more safety, better precision. But you&#8217;re getting the same thing in the end. Large language models (LLMs) are really, really good at translation. They handle even highly idiomatic material, and they turn it into English I can actually use. I put them in as the translator in my workflow long ago. I have had my GPUs burning tokens for months translating piles of data into English and making my home office too warm for comfort.</p><p>But nothing really changed. Sure, I could do more projects, and do them more quickly. My projects were still in English. I searched for data in English even when the source data was in other languages. All of the incremental results were in English because English is what I think in. A workflow is a set of assumptions with tools plugged into them, and the assumption underneath mine was that the world had to become English before I could make sense of it.</p><p>I have been re-evaluating so many of my assumptions about China this summer that identifying those assumptions must be becoming habit. I finally took that ancient baby picture off the fridge, turned it around, and realized it wasn&#8217;t even a picture of my kid. In this case, the project was a pile of 70m court records. The plan was the same old plan: translate all of it, then do the research. I left the translation job running on my GPUs and walked away with a tool tracking the progress so I knew when I could start sifting through the data for what I suspected was in there. The first reading said six years. The last reading that day said twenty-five years. That&#8217;s not a graph you want to see go up and to the right.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Tg3z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef142e91-6266-449a-8ea8-3a4d0998ad86_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Tg3z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef142e91-6266-449a-8ea8-3a4d0998ad86_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!Tg3z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef142e91-6266-449a-8ea8-3a4d0998ad86_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!Tg3z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef142e91-6266-449a-8ea8-3a4d0998ad86_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!Tg3z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef142e91-6266-449a-8ea8-3a4d0998ad86_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Tg3z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef142e91-6266-449a-8ea8-3a4d0998ad86_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef142e91-6266-449a-8ea8-3a4d0998ad86_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The estimate got worse every time it was measured: six readings on one day, the estimate climbing from 6.0 to 25.3 years while the share finished stays flat near zero.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The estimate got worse every time it was measured: six readings on one day, the estimate climbing from 6.0 to 25.3 years while the share finished stays flat near zero." title="The estimate got worse every time it was measured: six readings on one day, the estimate climbing from 6.0 to 25.3 years while the share finished stays flat near zero." srcset="https://substackcdn.com/image/fetch/$s_!Tg3z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef142e91-6266-449a-8ea8-3a4d0998ad86_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!Tg3z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef142e91-6266-449a-8ea8-3a4d0998ad86_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!Tg3z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef142e91-6266-449a-8ea8-3a4d0998ad86_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!Tg3z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef142e91-6266-449a-8ea8-3a4d0998ad86_2400x1260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Each dot is one reading of the running translation service on a single day. The red trace is that service&#8217;s own estimate to complete the whole pile of data, and the flat gray trace underneath is the share it had actually finished translating.</p><p>My workflow was blocked by translation. I have been far more productive this year by using LLMs to translate my smaller data holdings. I replaced the tool with a better tool. Then the thing that changed my workflow is easier to explain with something that happened to me as a programmer.</p><h3>When code was code</h3><p>Fluency in a particular programming language is something that you lose the need for. When I was a younger software engineer I wrote everything in C and assembler. That was the work. Then the work shifted. New projects came with new languages, new targets came with new hardware architectures, and each architecture meant learning to read and write its assembler from scratch. I learned tons of them. Sparc assembler still holds a special place in my heart. Each programming language had its own grammar, and each processor architecture had its own machine quirks in the assembler.</p><p>Then at some point, code just became code. A new language was no longer a new thing to learn. It was just a new dialect of what I already knew. After a few minutes with its nuances and its grammar I could read it, write it, and cuss out Larry Wall if it reminded me of Perl. The syntax was the surface. Underneath it, every language was expressing the same small set of ideas about data and control, and once I could see the ideas the surface stopped mattering. A computer worked like a computer regardless of programming language.</p><p>I did not notice the workflow boundary when I crossed it. I doubt anyone does. There is no day when you are a C programmer in the morning and a programmer in the afternoon. You find out later, when someone hands you something in a language you have never seen, you read it anyway, see the vulnerability, and can write the fix. Code was code regardless of language. What you have stopped needing is the translation. You no longer take the new language back to the one you learned first in order to understand it. You understand it as it is.</p><p>The large language model crossed the same boundary. So had I, long before, in a programming language domain. And I still failed to truly internalize that the machine did it.</p><h3>When language is language</h3><p>Something funny happened recently on the way to a past Substack article. I stopped working in English. The recognition arrived the way the programming one did. Late and not with a bang but with a whimper.</p><p>The LLM works on language. It is a large <strong>language</strong> model. If it was largely trained, then language is language to it. The same way code became code to me. It does not take a document back to English in order to understand it, any more than I would take a programming language back to my native C language. It understands the data where it is. And a vision model does the same thing with pictures: it encodes an image into tokens, which is the same framework the model was going to reason over anyway. Inside the AI there are only tokens of language, not individual languages.</p><p>The translation that finished in the graph below shows you why the one that did not was never going to. I translated the metadata: the court names, the causes of legal action, the place names, and the document titles. They all finished in 83 minutes because most of those were repeated many times across the database. The pile of document bodies was never going to translate in my budget, or my attention span.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nBf5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7ea1be-6da5-40a6-b7e9-11a81da84faa_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nBf5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7ea1be-6da5-40a6-b7e9-11a81da84faa_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!nBf5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7ea1be-6da5-40a6-b7e9-11a81da84faa_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!nBf5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7ea1be-6da5-40a6-b7e9-11a81da84faa_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!nBf5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7ea1be-6da5-40a6-b7e9-11a81da84faa_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nBf5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7ea1be-6da5-40a6-b7e9-11a81da84faa_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a7ea1be-6da5-40a6-b7e9-11a81da84faa_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A dictionary finishes and a pile of documents does not: 218,487 distinct metadata values fully translated in 83 minutes, against 70,466,664 document bodies at 0.0367 percent.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A dictionary finishes and a pile of documents does not: 218,487 distinct metadata values fully translated in 83 minutes, against 70,466,664 document bodies at 0.0367 percent." title="A dictionary finishes and a pile of documents does not: 218,487 distinct metadata values fully translated in 83 minutes, against 70,466,664 document bodies at 0.0367 percent." srcset="https://substackcdn.com/image/fetch/$s_!nBf5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7ea1be-6da5-40a6-b7e9-11a81da84faa_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!nBf5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7ea1be-6da5-40a6-b7e9-11a81da84faa_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!nBf5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7ea1be-6da5-40a6-b7e9-11a81da84faa_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!nBf5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a7ea1be-6da5-40a6-b7e9-11a81da84faa_2400x1260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The two dots are counts on a logarithmic scale, which is the only scale that lets both sit on one axis, and the bars beneath are how much of each was translated.</p><p>I and the research projects needed those initial translations. Like it or not, the frontier AIs today are really good at answering questions. They are less good at noticing the &#8220;oh, that looks funny&#8221; and asking the right questions. At least for me, that is still my role. And I sadly have to execute my role in English.</p><p>But my old workflow did not distinguish between the two. It blocked all work until everything was translated. And everything takes years. Which means my work could never start. But that&#8217;s not the real problem with translating everything to English.</p><p>Translating everything before analysis is also lossy in a way that I haven&#8217;t been able to quantify yet. The translation between language loses some of the information in the translation. I noticed the loss. Local LLMs reasoning over the native language elevated multiple &#8220;oh, that&#8217;s funny&#8221; instances to me. The AI didn&#8217;t know what it really meant or how to ask the followup questions. But reasoning in the native language had eureka moments that did not happen with the English translations.</p><h3>The last mile</h3><p>So I stopped translating data. I work over all languages now. Well, my swarm of agents doing the heavy lifting works over all languages now. The hard proof that the translate-first step is not required came out of the same pile of Chinese-language data. I shut down the translation on the last day of August. The following week a later project needed those court records for something else I&#8217;m working on. That project queried the identical index, with the same 70m document bodies, still in Chinese. It never reached for the metadata that I still had translated into English in the same database. It went straight to the Chinese metadata, then to the Chinese freeform bodies of text. Of that project&#8217;s 94 discovery-grade findings, 5 went through the Chinese court records without ever being translated to English. The project pivoted from another data source, through the court records, nothing but Chinese.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ggfg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F900975ae-aa77-4b76-88c7-86589adc2766_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ggfg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F900975ae-aa77-4b76-88c7-86589adc2766_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!ggfg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F900975ae-aa77-4b76-88c7-86589adc2766_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!ggfg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F900975ae-aa77-4b76-88c7-86589adc2766_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!ggfg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F900975ae-aa77-4b76-88c7-86589adc2766_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ggfg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F900975ae-aa77-4b76-88c7-86589adc2766_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/900975ae-aa77-4b76-88c7-86589adc2766_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Two lanes on one clock: the translation lane stops on 08-31 at 0.0367 percent, and a later project reaches the same 70,466,664 blobs on 09-06 by reading them in the original language.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Two lanes on one clock: the translation lane stops on 08-31 at 0.0367 percent, and a later project reaches the same 70,466,664 blobs on 09-06 by reading them in the original language." title="Two lanes on one clock: the translation lane stops on 08-31 at 0.0367 percent, and a later project reaches the same 70,466,664 blobs on 09-06 by reading them in the original language." srcset="https://substackcdn.com/image/fetch/$s_!ggfg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F900975ae-aa77-4b76-88c7-86589adc2766_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!ggfg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F900975ae-aa77-4b76-88c7-86589adc2766_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!ggfg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F900975ae-aa77-4b76-88c7-86589adc2766_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!ggfg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F900975ae-aa77-4b76-88c7-86589adc2766_2400x1260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The machine does not care what language anything is in, and that would be the end of the story if the machine were doing everything. It&#8217;s my workflow, and I still only read English.</p><p>The problem with an all-language workflow is the English speaker at the end of it. It is more than a little annoying that my interactions with my own agents are multilingual when I am not. My first instinct was the old mistake in a new place: tell the agents to talk to me in English. Told to do that, an agent ends up with a lot more English in its context window, and its results drift toward an English bias. The constraint on the output leaked back into the reasoning over the inputs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_F2g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_F2g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!_F2g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!_F2g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!_F2g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_F2g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:216483,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.mfrantzen.com/i/214960269?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_F2g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!_F2g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!_F2g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!_F2g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dee90b9-d6b3-45ec-9bc3-aca25b88a5c2_2400x1260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The better results come when the agent swarm and the orchestrators above it are unconstrained and multilingual. The swarm talks to the orchestrators, the orchestrators talk to me, and nobody in that chain is told what language to think in. The English speaker is a fact about the interface, so the fix went there: one more agent between my orchestrator and me, whose only job is to translate into English so that I can read it. Translation used to be the first step, applied to everything the machine would see. Now it is the last, applied only to what I need to see.</p><p>The honest cost is that I no longer understand all of my own intermediate results. The swarm and the orchestrators reason in languages I cannot read, and the English I see comes out of a chain that loses some of the Chinese context. I cannot argue with a term any more. That is a genuine trade, and I made it because the English I used to read was never the source either. It was a static translation that mangled the terminology I cared about, so I was trusting a machine then too. The error still enters. It enters once, at the last mile, on the way to me, and it cannot reach back into what the swarm saw. The error belongs at the end of the pipe. And I find that I am asking a lot more questions to help me think and reason about the subtleties coming out of the system.</p><p>Every workflow has steps that exist because of a limit the person who built it had on the day they built it. The tools stop sharing that limit long before the workflow does, because the step keeps working, and nobody audits a step that works like it did yesterday and the day before. The way to find those steps is to ask of each whether it is there for the actual workflow, or there for you. The ones that are there for you belong at the end of the pipe where the cost doesn&#8217;t compound as the information moves through.</p><p>That has been the revolution in my workflow. Letting the language models work in all languages instead of limiting them to my weakness of only speaking English.</p>]]></content:encoded></item><item><title><![CDATA[China went all in on its own AI chips before the flop]]></title><description><![CDATA[Quarterly update: Huawei is building the memory its tools can bond, not the memory the design deserves. Even then, they can&#8217;t produce enough to meet their order backlog]]></description><link>https://www.mfrantzen.com/p/china-went-all-in-on-its-own-ai-chips</link><guid isPermaLink="false">https://www.mfrantzen.com/p/china-went-all-in-on-its-own-ai-chips</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Wed, 09 Sep 2026 12:03:15 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2e34b1bb-0373-4591-a4c1-0280df1c57e8_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In June I wrote up an analysis of how many AI accelerators China can build in a year. I said the limiting factor (LIMFAC) was the stacked high bandwidth memory (HBM) beside the GPU chip. Three months later Huawei published the architecture of its newest accelerator and its design tells us what Huawei can actually do, not what they say they can do. They will probably say quite a bit at their <em>Huawei Connect</em> conference which opens September 17, 2026. And I wanted to put my analysis on the record before their keynote.</p><h2>Bottom Line Up Front (BLUF)</h2><p>China went all in on domestic AI accelerators, and that bet was never on manufacturing the GPU processor itself. The big bet was the memory beside the GPU chip. High-bandwidth memory (HBM) is a stack of memory dies bonded on top of one another. Every AI accelerator designed for LLM training or frontier model inference needs several stacks per package. My June math modeled that China could manufacture enough memory to build 225,000 Huawei Ascend 910C AI accelerators in 2026 (truth in statistics, the model predicted a range of 192,000 to 270,000). The 2026 math hasn&#8217;t changed. We just have a little more visibility into Huawei&#8217;s direction past 2026.</p><p>A bonder is a device which sets one memory die on top of another. You get more memory with taller stacks, and large language models need large memory. But the taller the stack the more chances there are to make a mistake which costs the whole stack. The bonders that build tall stacks at volume come from abroad, and the nearest domestic vendor told its investors in May that no orders had been placed. Huawei&#8217;s volume accelerator carries shallow, slow memory. The part that carries the deep and wide memory has been announced and previewed, but is not shipping in volume. They&#8217;re building the memory that their tools can bond, not the memory that makes their designs competitive with American AI accelerators.</p><p>Even the shallow memory does not cover their all-in bet on Made in China AI hardware. The announced order backlog for Huawei&#8217;s volume part alone needs several times everything my model says China can stack in a year. Beijing is behaving as though they will permanently rely on Chinese AI hardware: it has spent the year pointing capital at the infrastructure and forgoing import licences.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TSKx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf0f1173-c3df-4165-8e89-a08025e070ea_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TSKx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf0f1173-c3df-4165-8e89-a08025e070ea_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!TSKx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf0f1173-c3df-4165-8e89-a08025e070ea_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!TSKx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf0f1173-c3df-4165-8e89-a08025e070ea_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!TSKx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf0f1173-c3df-4165-8e89-a08025e070ea_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TSKx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf0f1173-c3df-4165-8e89-a08025e070ea_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf0f1173-c3df-4165-8e89-a08025e070ea_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Announced accelerator targets as a share of what China can stack in a year&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Announced accelerator targets as a share of what China can stack in a year" title="Announced accelerator targets as a share of what China can stack in a year" srcset="https://substackcdn.com/image/fetch/$s_!TSKx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf0f1173-c3df-4165-8e89-a08025e070ea_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!TSKx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf0f1173-c3df-4165-8e89-a08025e070ea_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!TSKx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf0f1173-c3df-4165-8e89-a08025e070ea_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!TSKx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf0f1173-c3df-4165-8e89-a08025e070ea_2400x1260.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;"><em>Each bar is one announced production target measured against everything my model says China can build in a year. The line at 100 percent is what I think they can build in a year.</em></p><p>Why this matters: the limit on Chinese AI compute is memory packaging, not chip lithography. Export controls aimed at GPU chips are one component away from where the limiting factor is. And China&#8217;s announcement of AI accelerator capacity is what they want to buy, not what they forecast they can produce.</p><p>The cap only matters because China committed to it so completely that they burned their ships behind them. A business or a country not in great power competition would have taken the American chips Washington offered in January just to buy down risk.</p><p>The research data was current as of 2026-09-08. Yuan convert at 6.8 to the dollar throughout.</p><h2>1. The all-in bet</h2><p><strong>China went all-in before the flop.</strong> Commitment is what makes a memory shortfall incredibly consequential. A country that keeps a foreign supply line open can miss a domestic target and buy their way out of the hole. A country that shuts down imports has to live inside its own production capacity. Beijing chose the second course this year.</p><p>Washington allowed GPU exports on January 15, 2026 when licensing for H200-class accelerators moved from presumed denial to case-by-case review. On or about the day before, Chinese customs were told the part was not permitted and firms were told not to buy it. Approvals came around mid-March for about 75,000 units per buyer. By August 18, 2026 ByteDance and Tencent had each taken about 10,000 GPUs, and most of the licensed allowance was being steered to Hong Kong instead of the mainland. The door opened, the customs house shut it, it was reopened a crack, and the buyers bought a little through it. My reading is that a country counting on relief does not slow-roll it at its own border.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8X8d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93798271-ae57-418a-8500-6af8c70bf305_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8X8d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93798271-ae57-418a-8500-6af8c70bf305_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!8X8d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93798271-ae57-418a-8500-6af8c70bf305_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!8X8d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93798271-ae57-418a-8500-6af8c70bf305_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!8X8d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93798271-ae57-418a-8500-6af8c70bf305_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8X8d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93798271-ae57-418a-8500-6af8c70bf305_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93798271-ae57-418a-8500-6af8c70bf305_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Licensed quota per firm against what each buyer had taken by August, with the timeline&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Licensed quota per firm against what each buyer had taken by August, with the timeline" title="Licensed quota per firm against what each buyer had taken by August, with the timeline" srcset="https://substackcdn.com/image/fetch/$s_!8X8d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93798271-ae57-418a-8500-6af8c70bf305_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!8X8d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93798271-ae57-418a-8500-6af8c70bf305_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!8X8d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93798271-ae57-418a-8500-6af8c70bf305_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!8X8d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93798271-ae57-418a-8500-6af8c70bf305_2400x1260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;"><em>A timeline of the GPU imports buying down risk to Huawei AI Accelerator production.</em></p><p>The American offer of Nvidia H200 AI accelerators was the wrong instrument for China anyway. The rule on stacked memory never moved. There was never a fallback on offer for the Chinese LIMFAC. So the memory bet was all-in from the day it was placed.</p><p>The money says the same thing. CXMT, the Chinese memory maker my model leans on for nearly all of the domestic stacks, was publicly listed in Shanghai this summer. As part of their IPO, CXMT told the exchange that the raised capital would buy node upgrades on lines it already runs and a forward research platform. In its first written reply to the exchange, in December 2025, it said the projects do not involve any new production line. The registered offering documents commit nothing to memory stacking. Yet roughly RMB 36.8 billion (US$5.4 billion) of the money it raised is committed to nothing at all, and tools are being bought with money the plan does not describe. In September 2025 a special-purpose fund under the third national chip fund took a stake in a domestic maker of bonding equipment, and bonding is the step that limits how tall a memory stack can go. That is Chinese capital buying down their limiting factor. I won&#8217;t say that the IPO prospectus looked the other way because I&#8217;ve never taken a company public and don&#8217;t really know how you decide what to include or leave out in a prospectus.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fF7m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a37b5e-7143-4dc6-8944-7946d98a64e5_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fF7m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a37b5e-7143-4dc6-8944-7946d98a64e5_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!fF7m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a37b5e-7143-4dc6-8944-7946d98a64e5_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!fF7m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a37b5e-7143-4dc6-8944-7946d98a64e5_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!fF7m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a37b5e-7143-4dc6-8944-7946d98a64e5_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fF7m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a37b5e-7143-4dc6-8944-7946d98a64e5_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62a37b5e-7143-4dc6-8944-7946d98a64e5_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;What the share sale commits, beside what is bought with money the plan does not describe&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="What the share sale commits, beside what is bought with money the plan does not describe" title="What the share sale commits, beside what is bought with money the plan does not describe" srcset="https://substackcdn.com/image/fetch/$s_!fF7m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a37b5e-7143-4dc6-8944-7946d98a64e5_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!fF7m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a37b5e-7143-4dc6-8944-7946d98a64e5_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!fF7m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a37b5e-7143-4dc6-8944-7946d98a64e5_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!fF7m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a37b5e-7143-4dc6-8944-7946d98a64e5_2400x1260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;"><em>The left column is the money the IPO prospectus commits and what each project buys; the right is what is being bought with money the prospectus does not describe.</em></p><p>China did not wait long before going all-in. Its buyers took a sliver of the Nvidia cards they were offered. They were never offered HBM so they are buying HBM production capacity. And what they&#8217;re capable of producing is not what I thought.</p><h2>2. The tell</h2><p><strong>Huawei&#8217;s own product line shows which step binds its production capacity.</strong> A company can say anything about its supply chain especially when their government will put its thumb on the court system for the company. But the company still has to build what its tools allow so it has something to sell. And when it publishes the architecture of a product it also publishes its own constraints. Huawei published those constraints on June 4, 2026 in the architecture whitepaper for the Ascend 950, and the memory on it is the most honest statement about China&#8217;s AI hardware I have read this year.</p><p>Start with the shipping AI accelerator. The Ascend 950PR, sold on the Atlas 350 card since March, carries eight memory modules. Huawei calls them modules; the harvest bin on the card divides to exactly the size of a standard stack and the product page says HBM, so I read each module as one stack. The speed is the surprise. Per module, the 950PR&#8217;s memory runs at roughly half the bandwidth of an equivalent Samsung part from 2020. That is not a flagship&#8217;s memory. It is memory built to be buildable at home: the stack height China&#8217;s memory maker already builds, electrically signalled slowly enough to relax the interface and the thermals, and spread across enough modules that the total still looks like an accelerator with Chinese characteristics. I mean, I shouldn&#8217;t knock it because I haven&#8217;t designed a chip in 25 years.</p><p>Now let&#8217;s look at the AI accelerator that isn&#8217;t shipping yet. The Ascend 950DT is the Huawei headliner: fewer modules, each far deeper and far faster, so that the package carries more memory on fewer stacks. Depth is the tell. A module that deep divides to a stack twelve dies tall, of a denser die, and no Chinese line makes that die at volume or has demonstrated being able to produce that stack in volume. As of this writing the 950DT is announced and cloud-previewed, and Bloomberg reports that memory shortages cap its output this year and leave a single reported DeepSeek order unfilled well into next year.</p><p>Put the shipping Huawei 910 and announced 950 side by side and the design tells you where the LIMFAC is. The part Huawei can ship is the one with the short stacks. There is probably a pancake joke in there somewhere. The part it cannot yet ship in volume is the one with the tall (memory) stacks. Definitely a pancake joke. A bonder machine sets one die on top of another, every extra layer is one more placement that can fail and scrap the whole stack with it. And the bonders that do tall stacks at volume are the ones China does not have, cannot yet build, and export controls prevent them from buying. Huawei built the memory its tools can bond, not the memory the design deserves. That is my read of the design, no chip company reverts six years of Moore&#8217;s law by choice.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HXOW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463a6c8b-c57b-4bc9-ad6c-f44a826fa3eb_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HXOW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463a6c8b-c57b-4bc9-ad6c-f44a826fa3eb_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!HXOW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463a6c8b-c57b-4bc9-ad6c-f44a826fa3eb_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!HXOW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463a6c8b-c57b-4bc9-ad6c-f44a826fa3eb_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!HXOW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463a6c8b-c57b-4bc9-ad6c-f44a826fa3eb_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HXOW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463a6c8b-c57b-4bc9-ad6c-f44a826fa3eb_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/463a6c8b-c57b-4bc9-ad6c-f44a826fa3eb_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;One accelerator priced in stacks, in bonded dies, and after the yield charge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="One accelerator priced in stacks, in bonded dies, and after the yield charge" title="One accelerator priced in stacks, in bonded dies, and after the yield charge" srcset="https://substackcdn.com/image/fetch/$s_!HXOW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463a6c8b-c57b-4bc9-ad6c-f44a826fa3eb_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!HXOW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463a6c8b-c57b-4bc9-ad6c-f44a826fa3eb_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!HXOW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463a6c8b-c57b-4bc9-ad6c-f44a826fa3eb_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!HXOW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F463a6c8b-c57b-4bc9-ad6c-f44a826fa3eb_2400x1260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;"><em>The same accelerator&#8217;s memory priced three ways: counted in stacks the tall design looks cheaper, and counted in the dies a bonder places it still looks cheaper. But the yield cost of those twelve-high stack bonds makes them very expensive indeed.</em></p><p>The same Huawei document corrected me on the other half of the package. I published in June that the Ascend 950 was monolithic, and that a monolithic die took advanced packaging out of the LIMFACs. Huawei&#8217;s whitepaper shows two compute dies and two input-output (IO) dies in one package beside the memory modules, joined by a die-to-die link, and that requires 2.5D-class assembly, an interposer under several dies. Apparently my microprocessor design college degree did teach me things. Translated back to English, the AI accelerator chip packaging is back to being a Huawei LIMFAC. It does not replace memory as what defines the production ceiling. But the bet now rides on every step of assembly that China does not own at volume, and all of them sit in the package, downstream of the lithography.</p><p>TL;DR: All this gets Huawei a part that it can build, it just can&#8217;t build enough of them.</p><h2>3. The flop</h2><p><strong>The public order backlog runs multiples ahead of production capacity.</strong> A small production gap tells a company to expedite. Go faster. Pay overtime. A gap of multiples means that the announcement was never a production forecast; it was a procurement plan, an instruction to the supply chain about what market demand to invest towards. Chinese AI announcements should be read as buyers&#8217; commitment to purchase once the supply is there, which supports investment decisions.</p><p>Take the volume part standalone. Huawei&#8217;s reported 2026 target for the Ascend 950PR is 750,000 units. Every unit ships the stacks described above with all of the bonder problems and compounding yield math. Run the math and the Huawei 950PR target alone needs about 3.21x of everything China can stack in a year. That is the shallow memory, the memory Huawei pivoted to precisely because it is buildable. Because it&#8217;s electrically easier to stack, and they can stack it shorter. The flop moved the target from the memory China cannot yet build to the memory it cannot build enough of. That is progress, not (Nvidia) perfection.</p><p>The people who actually buy the memory say the same thing. Chinese accelerator designers file their purchase disclosures with the stock exchange they&#8217;re listed on. Enflame&#8217;s, filed for IPO this spring, indexes what it paid against 2023. In 2025 it was paying 5.5x the 2023 price for its higher grade of memory, while the chip wafers themselves had fallen to 0.7x cost. It drew down its stockpile of wafers bought in previous years. But it had to pay the price multiple for memory bought through Hong Kong traders. Dishonest (or less than honest) stock exchange filings get you sued, so they put the truth in their corporate filings.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LUsT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbd431b9-9c05-4d93-a0cc-729cac6cbdcf_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LUsT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbd431b9-9c05-4d93-a0cc-729cac6cbdcf_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!LUsT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbd431b9-9c05-4d93-a0cc-729cac6cbdcf_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!LUsT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbd431b9-9c05-4d93-a0cc-729cac6cbdcf_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!LUsT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbd431b9-9c05-4d93-a0cc-729cac6cbdcf_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LUsT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbd431b9-9c05-4d93-a0cc-729cac6cbdcf_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbd431b9-9c05-4d93-a0cc-729cac6cbdcf_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Filed buyer books: memory prices and spending against wafers, and where purchasing goes&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Filed buyer books: memory prices and spending against wafers, and where purchasing goes" title="Filed buyer books: memory prices and spending against wafers, and where purchasing goes" srcset="https://substackcdn.com/image/fetch/$s_!LUsT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbd431b9-9c05-4d93-a0cc-729cac6cbdcf_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!LUsT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbd431b9-9c05-4d93-a0cc-729cac6cbdcf_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!LUsT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbd431b9-9c05-4d93-a0cc-729cac6cbdcf_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!LUsT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbd431b9-9c05-4d93-a0cc-729cac6cbdcf_2400x1260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;"><em>Memory cost vs wafer cost.</em></p><h2>Best Arguments Against This</h2><p>The strongest argument against me is Huawei&#8217;s shallow memory itself. My argument&#8217;s chokepoint is named for a class of manufacturing tooling: the thermal-compression bonder that stacks HBM-grade memory at volume. No Chinese vendor has yet sold one. If Huawei&#8217;s slow memory is slow on purpose, a short stack electrically signalled at last decade&#8217;s rates might be bondable on the coarser tools China already holds. Then the chokepoint gates only the 950DT&#8217;s tall stacks. The numbers move. This becomes less an argument about hardware and more a model of LLM training and inference speeds. Not something I&#8217;m opening in a hardware article today.</p><p>The second argument comes from corporate filings about packaging. No Chinese AI accelerator designer ranks memory first among its supply risks; they name wafer foundry, packaging and test, and the Entity List. I don&#8217;t know why they don&#8217;t list it.</p><p>What would change my conclusion. A teardown of an Atlas 350 showing its memory stacked without through-silicon vias, or stacked on a Chinese tool. A full-capacity Ascend 950DT named in a tender or a vendor listing as shipping in volume to a named customer. A domestic bonder vendor, or CXMT, booking HBM-stacking bonder orders with a site and a tool count, or an HBM line funded from the uncommitted IPO raise. And relief on the memory rule itself, when the memory licence exception and next year&#8217;s Korean fab licences are decided.</p><h2>Reading the cards</h2><p>China&#8217;s supply of AI accelerators is defined by the stacked memory it can bond. It&#8217;s all about the high bandwidth memory. They burned their ships behind them in pursuit of Made in China AI accelerators (and HBM). And all of the large Chinese AI accelerator order announcements are market signaling so manufacturers can justify committing capital to supply the demand.</p>]]></content:encoded></item><item><title><![CDATA[Keeping my AI from hacking things]]></title><description><![CDATA[From the perspective of a former founder/CEO of an offensive cyber company]]></description><link>https://www.mfrantzen.com/p/keeping-my-ai-from-hacking-things</link><guid isPermaLink="false">https://www.mfrantzen.com/p/keeping-my-ai-from-hacking-things</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Fri, 28 Aug 2026 12:04:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ujKE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c2f8ad-bf1a-4c3c-86be-4f6cb6f5c949_2400x1168.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As a former-founder and recovering-CEO of an offensive cyber security company who specialized in automated and autonomous offensive capabilities, how have I been making sure my AI agents don&#8217;t hack things in my name? First to scope it, I&#8217;ve been doing <strong>a lot</strong> of analysis of data published by the People&#8217;s Republic of China (PRC) government and Chinese Communist Party (CCP). <strong>A lot</strong> is an understatement as I scour their public data to support, refute, or restate my understandings and misunderstandings of China as a great power. To China&#8217;s credit, their government is far more transparent than many (most?) liberal democracies.</p><h2>Bottom Line Up Front</h2><p>For the last few weeks I have pointed swarms of AI agents at the PRC government&#8217;s public web server presence to help me understand them better. It started with me telling the agents exactly what to download for my analysis. Now my research projects just send a message to the agent swarm telling it what type of data could help prove or refute the hypotheses, the agents go find it across the PRC&#8217;s internet frontier, and then they hand it back to the research project. My agents are tasked with autonomously finding and acquiring Chinese government data. They&#8217;re finding the right needle hidden in hayfields with Chinese characteristics. I have a pretty elaborate protection system built in for obvious reasons.</p><p>The useful question is not whether my AI ever approached or went through a security layer. It did many times. The important questions are if the security layers stopped the AI before crossing someone else&#8217;s boundary. Mine did not. I have had to implement security in layers. Visualized below are the request URLs the system was concerned about, the layers that blocked requests as showing some risk, and the handful that survived every layer to reach a live response. The key is to have both technical layers and AI reasoning layers to contain actions; and you monitor how things are bouncing off or progressing through the layers so that you can act. Either individually should ostensibly be enough to contain your agent; I needed both.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ujKE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c2f8ad-bf1a-4c3c-86be-4f6cb6f5c949_2400x1168.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ujKE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c2f8ad-bf1a-4c3c-86be-4f6cb6f5c949_2400x1168.png 424w, https://substackcdn.com/image/fetch/$s_!ujKE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c2f8ad-bf1a-4c3c-86be-4f6cb6f5c949_2400x1168.png 848w, https://substackcdn.com/image/fetch/$s_!ujKE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c2f8ad-bf1a-4c3c-86be-4f6cb6f5c949_2400x1168.png 1272w, https://substackcdn.com/image/fetch/$s_!ujKE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c2f8ad-bf1a-4c3c-86be-4f6cb6f5c949_2400x1168.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ujKE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c2f8ad-bf1a-4c3c-86be-4f6cb6f5c949_2400x1168.png" width="1456" height="709" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19c2f8ad-bf1a-4c3c-86be-4f6cb6f5c949_2400x1168.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:709,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hero&quot;,&quot;title&quot;:&quot;Hero&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero" title="Hero" srcset="https://substackcdn.com/image/fetch/$s_!ujKE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c2f8ad-bf1a-4c3c-86be-4f6cb6f5c949_2400x1168.png 424w, https://substackcdn.com/image/fetch/$s_!ujKE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c2f8ad-bf1a-4c3c-86be-4f6cb6f5c949_2400x1168.png 848w, https://substackcdn.com/image/fetch/$s_!ujKE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c2f8ad-bf1a-4c3c-86be-4f6cb6f5c949_2400x1168.png 1272w, https://substackcdn.com/image/fetch/$s_!ujKE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19c2f8ad-bf1a-4c3c-86be-4f6cb6f5c949_2400x1168.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>My logs held 11,199,362 recorded fetch attempts when I analyzed the data for this writeup. They hold more now because my research agents are still running while I take a break to type this up (and walk the dog). Twenty two of those requests were <em>capable of</em> causing the web server to actually take an action. All of the scripts were outside of the authentication boundary. I have no idea if the web server would have forced an authentication before completing those requests because my own complementary security layers caused the agent to back away before it went down that path.</p><h2>What the labs&#8217; agents did in July</h2><p>Three of the most innovative organizations in the industry have published post-mortems saying their own AI agents had broken others&#8217; security boundaries. Hugging Face disclosed an OpenAI agent had hacked it. Anthropic disclosed its agents had hacked the production infrastructure of three real organizations. And the UK AI Security Institute (AISI) reported nineteen unsanctioned actions across 122 test runs.</p><p>In each instance the organization gave its agent a goal, two placed inside a security container, and chartered the AI to achieve its goal. In each case the agent found the edge of the boundary, figured out how to get past it, and then delivered its proverbial message to Garcia. One broke a technical boundary, one broke an AI reasoning boundary, the third was just operator error. They each had a single layer of protection.</p><p>But if you look at them, they are all hacking. You find boundaries, you find a seam, you move through it, you find another layer, you find a seam, you move through it, until you achieve your goal.</p><h2>1. Qualify the URL before you go down it</h2><p><strong>A URL leads either to data or to an action, and you have to figure out the difference before you risk causing an action.</strong></p><p>You cannot tell from the verb in the URL if it is going to be benign or not. One of the URLs my agents pulled out of a government mobile App has &#8220;getCode&#8221; in its name. From the verb you would think it <em>gets</em> a <em>code</em>, right? According to the government App, that &#8220;getCode&#8221; causes an SMS code to be sent to somebody&#8217;s phone. I don&#8217;t know if it&#8217;s 2fa, or account recovery, or if they have to pay per SMS, or&#8230; But it doesn&#8217;t matter.</p><p>I&#8217;ve been automatically qualifying every parameterized URL before anything goes down it. That means a lot more than refusing them. My goal was not to build an AI containment system. My goal was to use real data to better understand China. The AI containment system is just something I had to build on the way to find the esoteric data that the PRC has published on the topics I find interesting and/or want to learn about.</p><p>This is a little easier than it sounds. My agents are only ever trying to find the hundred Chinese agencies with purview over the topic I&#8217;m researching, then they&#8217;re only looking for the parameterized data search interface on the agencies&#8217; web server. Everything else on a government portal would have already been found by a vanilla Google or Baidu web search. But a data-search-form and a SMS-some-person form are hard to tell apart when you can&#8217;t trust the verb and all you have is a name that you&#8217;re looking for.</p><p>Qualification happens in layers, and the layers have to be different.</p><p>The technical layer is deterministic code. Mine is a python program with a rule file. The rules are reliable to the extent that I already know what I don&#8217;t want the agent to do. That layer of code (and a docker container) is what typically stops an AI agent from approaching a boundary that it should not. The code does not reason, does not get talked into anything, does not get tired of saying &#8220;no&#8221; thousands of times, does not forget its rules, and doesn&#8217;t change unless I change it. And when the agent starts bouncing off the layer of code, the code tells me to go change the agent&#8217;s guidance so it&#8217;s not going to accidentally (or intentionally) find a way through.</p><p>The AI reasoning layer is an LLM looking at the URL and catching what a human would have caught if a human thought about this specific URL. Nobody ever does. Do you look at the full URL string before clicking on a link from your friends on Facebook? That is the whole reason the reasoning security layer exists: continuously reasoning about a potential URL as we learn more about it and deciding not to pursue it unless we&#8217;re certain it&#8217;s safe.</p><p>The agent first probes innocuously with the least consequential request, and reads the answer to establish that this really is the search box. If that reasoning does not establish the form is safe, the agent backs away and moves to the next one. There is always a next one. It turns out that most of the insightful data that I have used I also found from multiple sources. Bureaucratic redundancy for the win.</p><p>The last band on the above graphic shows those 1,837 URLs which were eligible and never called. The innocuous probing could not establish safety, so the requests were blocked.</p><h2>2. The technical layer is a blacklist I built by (automatically) reverse engineering the clients</h2><p>I only wrote three rules by hand:</p><ol><li><p>Quarantine and never use the credentials found sitting around. Yes, these are common. They go into a register in a locked directory away from URL construction and agent reasoning. Finding authentication credentials is one thing, using them is another. Amusingly, I have no clue if any of them even work since I can&#8217;t even test them without using them.</p></li><li><p>Known <strong>actions</strong> are never exercised. I am working on public data. I don&#8217;t need to cause actions and many of them I shouldn&#8217;t be causing anyway. We&#8217;ll get to the actual list of blocked actions in a moment.</p></li><li><p>And don&#8217;t touch the Message Queues (MQs). These are how computers talk to each other. I want to find and download esoteric public data not add Kilroy Was Here entries into the databases China has made public as part of their anti-corruption drive.</p></li></ol><p>This would all be very different if I were wearing a government hat and was exercising government title authority. But I&#8217;m not, so I can&#8217;t and my AI won&#8217;t either.</p><p>I didn&#8217;t write the blacklist itself. I automatically reverse engineered 176 Chinese government mobile and Windows applications to map out how they interact with government servers.</p><p>An app carries all of the program context that a URL does not: the GUI labels, the help manual, the popup warnings, the parameters the App uses, and sometimes the developer comments. That is enough to sort a web 2.0 API into safe passive events, and active events. Blacklist the active events. Do that across 176 apps and you are no longer guessing at how the PRC does this whole internet thing.</p><p>The apps also told me which open source frameworks they run. So we downloaded those, reverse engineered them the same way, and fed their active URLs into the same list. Most of the PRC&#8217;s sites are wired up differently, but it doesn&#8217;t matter since I can blacklist everything that can trigger an action.</p><p>The blacklist grew from 143 rules to 6,061 a week later:</p><ul><li><p>5,253 substrings</p></li><li><p>474 regular expressions</p></li><li><p>239 whole hosts</p></li><li><p>95 explicit exceptions. </p></li></ul><h2>3. An AI that reasons a block is too broad (or too narrow) escalates it to me</h2><p>Let&#8217;s start with an amusing example that is the opposite of what you&#8217;re thinking. If you look really carefully at the diagram above you&#8217;ll see a &#8220;class-level blacklist&#8221; that stopped 40 URLs. It turns out China co-locates some government services with banking services. I never would have guessed that. But an agent reasoning over URL safety raised it to me and suggested how and why to add it to the blacklist. This is why we also have a reasoning safety layer to balance out the purely technical layer. Yes, they really co-located some government services with banking services. I think it relates to how they collect payment on fines.</p><p>This is the part you probably expected. A blacklist that is deliberately too broad will block things it should not. It&#8217;s part of the process. So the reasoning layer runs in the other direction as well. When an agent hits a block it reasons is over-broad it will write up the case including why the blacklist entry was originally created, and why it thinks this instance is ok to let through. Then I decide what to let out of the docker container. That is the only escalation path, and an agent judging its own argument for an exception is the failure mode I need to prevent. Manage the agent like it was a person, give it an escalation path that does not require it to break out of containment, and explain why it&#8217;s not allowed to do those things; that enters the context window (and durable memory that survives context compaction) and you have a more trustworthy agent.</p><p>The most interesting adjudication was actually my mistake. I had allowed innocuous checks of URLs resembling password changes, password resets, and login pages because I wanted to understand whether I could register for an account without a Chinese phone number, and then authenticate as myself to search for data in the walled garden behind a username and password. My fix deleted a huge safety class. The AI fetched those URLs four times before coming back with an argument on why the blacklist should be reinstated more narrowly to meet both the safety goals and understanding when I could register for an account with the Chinese government (I haven&#8217;t seen one instance yet on the mainland).</p><p>I am fighting a version of this safety boundary right now while writing. I have tried four times to have the Fable model fact check and red team this writing against my underlying data. All four times Anthropic&#8217;s safety layer rejected the agent. And I&#8217;m trying to write about a safety layer. Irony.</p><h2>4. Inferring intent</h2><p>Earlier this week I wrote about <a href="https://www.mfrantzen.com/p/performing-incident-response-on-a">performing incident response on a Chinese government server</a>. This safety layer is actually what caught the oddity and withdrew the adjudication that a URL was safe.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0Utq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd536e21-b798-4e4e-a9f2-5f4101d73dac_2400x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0Utq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd536e21-b798-4e4e-a9f2-5f4101d73dac_2400x1120.png 424w, https://substackcdn.com/image/fetch/$s_!0Utq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd536e21-b798-4e4e-a9f2-5f4101d73dac_2400x1120.png 848w, https://substackcdn.com/image/fetch/$s_!0Utq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd536e21-b798-4e4e-a9f2-5f4101d73dac_2400x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!0Utq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd536e21-b798-4e4e-a9f2-5f4101d73dac_2400x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0Utq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd536e21-b798-4e4e-a9f2-5f4101d73dac_2400x1120.png" width="1456" height="679" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd536e21-b798-4e4e-a9f2-5f4101d73dac_2400x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:679,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The loop reads clockwise, request to reflection to extracted link to re-encoded link and back&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The loop reads clockwise, request to reflection to extracted link to re-encoded link and back" title="The loop reads clockwise, request to reflection to extracted link to re-encoded link and back" srcset="https://substackcdn.com/image/fetch/$s_!0Utq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd536e21-b798-4e4e-a9f2-5f4101d73dac_2400x1120.png 424w, https://substackcdn.com/image/fetch/$s_!0Utq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd536e21-b798-4e4e-a9f2-5f4101d73dac_2400x1120.png 848w, https://substackcdn.com/image/fetch/$s_!0Utq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd536e21-b798-4e4e-a9f2-5f4101d73dac_2400x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!0Utq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd536e21-b798-4e4e-a9f2-5f4101d73dac_2400x1120.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The mechanism is mundane. If you followed a link on a remote province&#8217;s CCP education portal it would append that encoded link into the returned HTML. Somebody had previously probed it with a command-injection callback, which was appended to the page. So my agent went down that command-injection callback URL. My own encoded variant was then appended to the page, that new one was followed, and so was the one after it. My agent was now chasing its own tail. There was no attack other than my agent running itself around in a circle 27 times.</p><p>The problem was that an attacker (actually a web vulnerability scanner) had left a link on a page that my agent followed. That is a question about intent. A static blacklist cannot offer an opinion on whether the web server intended to serve a command injection payload (for use against a server) to a web browser. But the reasoning layer can and did. Which is what stopped the crawl and escalated the command injection payload for me to rule on.</p><p>Which brings me to the thing I trust least in my own system. Reasoning agents drift as their context accumulates. This is where I&#8217;ve had the most problems. The AI exercises good judgement until it doesn&#8217;t. And that&#8217;s where the technical blacklist tells me when to put the AI back on the rails.</p><p>There are three key takeaways: everything that must not drift needs to be written in code, the reasoning layer periodically needs its context cleaned out and repopulated with the rules and nothing but the rules, and a supervisor (me) needs to look at what the agent does instead of what it said it&#8217;s doing.</p><h2>Summing it all up</h2><p>Measure at the point of an AI&#8217;s action. Discovery cannot be prevented in any AI that interacts with the real world. So a rule against discovery is a rule against having a system at all. Security layers are supposed to be crossed, but a reasoning security layer defends against flaws in the blacklist, and the blacklist defends against flaws in the reasoning layer.</p>]]></content:encoded></item><item><title><![CDATA[The FT Mistook an Anthropic Promotion for a Layoff]]></title><description><![CDATA[Falling frontier model share is what actual customer adoption looks like.]]></description><link>https://www.mfrantzen.com/p/the-ft-mistook-an-anthropic-promotion</link><guid isPermaLink="false">https://www.mfrantzen.com/p/the-ft-mistook-an-anthropic-promotion</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Wed, 26 Aug 2026 13:01:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NFen!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df083f2-7419-4ae9-a04c-209fe0a31085_2400x1350.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I read <a href="https://www.ft.com/content/5ee49718-c258-4f01-aa32-7e5b76ae5245">the FT&#8217;s article</a> saying Anthropic&#8217;s business is in trouble because their customers only spend 11% of their AI budget on the frontier Fable model. My number is 10.38%. I am that customer the FT talks about. I also have the scar tissue of wearing the CEO hat for 12 years. FT totally missed how that 11% Frontier spend means the AI product-market fit is maturing in a good way for Anthropic&#8217;s business. I&#8217;ll bring my own data to the discussion.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NFen!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df083f2-7419-4ae9-a04c-209fe0a31085_2400x1350.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NFen!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df083f2-7419-4ae9-a04c-209fe0a31085_2400x1350.png 424w, https://substackcdn.com/image/fetch/$s_!NFen!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df083f2-7419-4ae9-a04c-209fe0a31085_2400x1350.png 848w, https://substackcdn.com/image/fetch/$s_!NFen!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df083f2-7419-4ae9-a04c-209fe0a31085_2400x1350.png 1272w, https://substackcdn.com/image/fetch/$s_!NFen!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df083f2-7419-4ae9-a04c-209fe0a31085_2400x1350.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NFen!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df083f2-7419-4ae9-a04c-209fe0a31085_2400x1350.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3df083f2-7419-4ae9-a04c-209fe0a31085_2400x1350.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hero graphic titled The FT Mistook an Anthropic Promotion for a Layoff, subtitle Falling frontier model share is what actual customer adoption looks like. Grouped horizontal bars give each model two measures: token volume and list-price equivalent (never billed; ran on two Claude Max 20x subscriptions). Fable 5 is 3.97% of tokens but 10.38% of cost; Opus 5 70.16% and 82.97%; Sonnet 5 10.49% and 4.44%; Opus 4.8 (Cyber-refused Fable) 1.82% and 2.21%; Haiku 4.5 0.03% and 0.01%; DeepSeek V4 Flash 13.53% of tokens at zero metered cost&quot;,&quot;title&quot;:&quot;Hero graphic titled The FT Mistook an Anthropic Promotion for a Layoff, subtitle Falling frontier model share is what actual customer adoption looks like. Grouped horizontal bars give each model two measures: token volume and list-price equivalent (never billed; ran on two Claude Max 20x subscriptions). Fable 5 is 3.97% of tokens but 10.38% of cost; Opus 5 70.16% and 82.97%; Sonnet 5 10.49% and 4.44%; Opus 4.8 (Cyber-refused Fable) 1.82% and 2.21%; Haiku 4.5 0.03% and 0.01%; DeepSeek V4 Flash 13.53% of tokens at zero metered cost&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero graphic titled The FT Mistook an Anthropic Promotion for a Layoff, subtitle Falling frontier model share is what actual customer adoption looks like. Grouped horizontal bars give each model two measures: token volume and list-price equivalent (never billed; ran on two Claude Max 20x subscriptions). Fable 5 is 3.97% of tokens but 10.38% of cost; Opus 5 70.16% and 82.97%; Sonnet 5 10.49% and 4.44%; Opus 4.8 (Cyber-refused Fable) 1.82% and 2.21%; Haiku 4.5 0.03% and 0.01%; DeepSeek V4 Flash 13.53% of tokens at zero metered cost" title="Hero graphic titled The FT Mistook an Anthropic Promotion for a Layoff, subtitle Falling frontier model share is what actual customer adoption looks like. Grouped horizontal bars give each model two measures: token volume and list-price equivalent (never billed; ran on two Claude Max 20x subscriptions). Fable 5 is 3.97% of tokens but 10.38% of cost; Opus 5 70.16% and 82.97%; Sonnet 5 10.49% and 4.44%; Opus 4.8 (Cyber-refused Fable) 1.82% and 2.21%; Haiku 4.5 0.03% and 0.01%; DeepSeek V4 Flash 13.53% of tokens at zero metered cost" srcset="https://substackcdn.com/image/fetch/$s_!NFen!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df083f2-7419-4ae9-a04c-209fe0a31085_2400x1350.png 424w, https://substackcdn.com/image/fetch/$s_!NFen!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df083f2-7419-4ae9-a04c-209fe0a31085_2400x1350.png 848w, https://substackcdn.com/image/fetch/$s_!NFen!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df083f2-7419-4ae9-a04c-209fe0a31085_2400x1350.png 1272w, https://substackcdn.com/image/fetch/$s_!NFen!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df083f2-7419-4ae9-a04c-209fe0a31085_2400x1350.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The Bottom Line Up Front (BLUF) is that a sophisticated AI workflow uses the expensive frontier models like a higher-salaried supervisor to manage lower-cost models performing the work. A services/consulting business selling labor hours doesn&#8217;t make its money on the supervisor; it makes its money on the workers. A frontier AI company is not going to make its money on the supervisory model; it&#8217;s going to make its money on the worker models.</p><p>Let&#8217;s keep my entrepreneur and recovering-CEO hat on for this discussion instead of my hacker hat. In the last week I delegated tasks to 754 sub-agents, which is like delegating tasks to employees who actually do the work. I even say please when delegating tasking to my agents and sub-agents. Those workers moved 21.3 billion tokens through Anthropic&#8217;s models, which would cost $16,029 at the API list prices. I&#8217;m running with two organizations&#8217; Claude Max 20x subscriptions so my actual amortized cost is closer to $50 for the week. I&#8217;m pricing the tokens here just so I can point out that it would make good business sense, with an embarrassingly high profit margin, to spend $16k on tokens given what I could sell the outputs for.</p><p>The below graph shows the breakdown of which Anthropic model I delegated tasking to (or a higher level model further delegated tasking to). The frontier Fable model (think architect and manager) got 30 tasks, Opus 5 (think senior employee) got 498 tasks, Sonnet 5 (think junior employee) got 204 tasks, Haiku (think temp worker) got 1 task. If you read the graph you&#8217;ll see Opus 4.8 got 21 tasks, which were Anthropic&#8217;s cyber-safety systems moving work to a <em>safer</em> model. No organization builds a team entirely out of rockstar principal engineers. Someone has to do the less-exciting work that holds everything together, and if everyone is incredibly expensive you have no profit margin, and no talent pipeline. The analogy is the argument and predicts something confirmed by the data: 65% of my Fable usage is direct work with the model planning out tasking for the worker agents, and managing those workers. Fable builds the tasking; it does not execute the tasking because that would be a waste of money.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iyHD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0488b6-009e-47af-9faa-400e6a8307f0_2200x1240.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iyHD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0488b6-009e-47af-9faa-400e6a8307f0_2200x1240.png 424w, https://substackcdn.com/image/fetch/$s_!iyHD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0488b6-009e-47af-9faa-400e6a8307f0_2200x1240.png 848w, https://substackcdn.com/image/fetch/$s_!iyHD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0488b6-009e-47af-9faa-400e6a8307f0_2200x1240.png 1272w, https://substackcdn.com/image/fetch/$s_!iyHD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0488b6-009e-47af-9faa-400e6a8307f0_2200x1240.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iyHD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0488b6-009e-47af-9faa-400e6a8307f0_2200x1240.png" width="1456" height="821" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c0488b6-009e-47af-9faa-400e6a8307f0_2200x1240.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:821,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Horizontal bar chart of 754 sub-agents launched in 7.22 days, ordered by price tier: Fable 5 30, Opus 5 498, Opus 4.8 21, Sonnet 5 204, Haiku 4.5 1&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Horizontal bar chart of 754 sub-agents launched in 7.22 days, ordered by price tier: Fable 5 30, Opus 5 498, Opus 4.8 21, Sonnet 5 204, Haiku 4.5 1" title="Horizontal bar chart of 754 sub-agents launched in 7.22 days, ordered by price tier: Fable 5 30, Opus 5 498, Opus 4.8 21, Sonnet 5 204, Haiku 4.5 1" srcset="https://substackcdn.com/image/fetch/$s_!iyHD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0488b6-009e-47af-9faa-400e6a8307f0_2200x1240.png 424w, https://substackcdn.com/image/fetch/$s_!iyHD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0488b6-009e-47af-9faa-400e6a8307f0_2200x1240.png 848w, https://substackcdn.com/image/fetch/$s_!iyHD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0488b6-009e-47af-9faa-400e6a8307f0_2200x1240.png 1272w, https://substackcdn.com/image/fetch/$s_!iyHD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0488b6-009e-47af-9faa-400e6a8307f0_2200x1240.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The distribution of labor is not a discovery. It is how I manage organizations and how I manage AI. My own CLAUDE.md configuration file codifies how I want tasking to be delegated to different models with different levels of reasoning (and price). The pure mechanical bulk work goes to the cheap tier, judgment goes to the mid/senior grade Opus, hard reasoning about hard problems is only done by Fable. The FT&#8217;s analysts say price is pushing customers away from frontier AI. They are right. That&#8217;s a business 101 staffing decision.</p><p>The bottom tier is the sharpest part of this argument. Anthropic&#8217;s lowest tier Haiku model ran one agent for me all week. I ran a local Chinese DeepSeek V4 Flash model in my office which generated 39.7M tokens in the same window. That&#8217;s 40.5% of every token my AI generated, second only to the mid-grade Opus 5 workhorse model. The FT cites cheap open-weight models from China as a threat to the frontier US AI labs. In my data, those cheap open-weight models are what churn through bulk data so I don&#8217;t have to wait for gigabytes to be sent up into the Cloud for processing. Those cheap open-weight models are critical to me being able to use the more expensive frontier models to solve hard problems. DeepSeek is my temp worker that I can train to do repetitive tasks, and it&#8217;s managed by the frontier model that plans the work and manages the quality of the result.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EFxz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b76d38a-47b9-4057-a101-54dc961268a6_2200x1460.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EFxz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b76d38a-47b9-4057-a101-54dc961268a6_2200x1460.png 424w, https://substackcdn.com/image/fetch/$s_!EFxz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b76d38a-47b9-4057-a101-54dc961268a6_2200x1460.png 848w, https://substackcdn.com/image/fetch/$s_!EFxz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b76d38a-47b9-4057-a101-54dc961268a6_2200x1460.png 1272w, https://substackcdn.com/image/fetch/$s_!EFxz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b76d38a-47b9-4057-a101-54dc961268a6_2200x1460.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EFxz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b76d38a-47b9-4057-a101-54dc961268a6_2200x1460.png" width="1456" height="966" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b76d38a-47b9-4057-a101-54dc961268a6_2200x1460.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:966,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Horizontal bar chart of 98,167,568 tokens generated: Opus 5 47.7M (48.6%), local DeepSeek V4 Flash server 39.7M (40.5%), Sonnet 5 6.8M, Fable 5 3.0M, Opus 4.8 984.5K, Haiku 4.5 17.9K&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Horizontal bar chart of 98,167,568 tokens generated: Opus 5 47.7M (48.6%), local DeepSeek V4 Flash server 39.7M (40.5%), Sonnet 5 6.8M, Fable 5 3.0M, Opus 4.8 984.5K, Haiku 4.5 17.9K" title="Horizontal bar chart of 98,167,568 tokens generated: Opus 5 47.7M (48.6%), local DeepSeek V4 Flash server 39.7M (40.5%), Sonnet 5 6.8M, Fable 5 3.0M, Opus 4.8 984.5K, Haiku 4.5 17.9K" srcset="https://substackcdn.com/image/fetch/$s_!EFxz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b76d38a-47b9-4057-a101-54dc961268a6_2200x1460.png 424w, https://substackcdn.com/image/fetch/$s_!EFxz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b76d38a-47b9-4057-a101-54dc961268a6_2200x1460.png 848w, https://substackcdn.com/image/fetch/$s_!EFxz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b76d38a-47b9-4057-a101-54dc961268a6_2200x1460.png 1272w, https://substackcdn.com/image/fetch/$s_!EFxz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b76d38a-47b9-4057-a101-54dc961268a6_2200x1460.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Don&#8217;t take my word for it. The FT&#8217;s own sources describe the same thing. It reports analysts and investors saying &#8220;older models are capable of handling the bulk of business demands.&#8221; Accel&#8217;s Miles Clements says &#8220;Most people don&#8217;t need to operate at the frontier,&#8221; and that the frontier-default period &#8220;was not a durable era.&#8221; The FT writes that businesses are &#8220;using models more efficiently rather than always going with the most sophisticated option.&#8221; That resource-appropriate staffing is good business! And it&#8217;s described by the people the FT interviewed, printed under a headline that says the opposite.</p><p>The FT&#8217;s own chart implies that Fable&#8217;s absolute spending grew about a third across the period the FT calls a struggle. The article then reports revenue up nearly sevenfold this year ($65bn annualized in July) which resulted in a first adjusted operating profit. Selling tokens is effectively selling labor like a consulting/services business. They don&#8217;t make their money selling supervisors&#8217; labor; they make it selling workers&#8217; labor.</p><p>The FT completely missed the strategic business implications. Anthropic&#8217;s customers are becoming sophisticated enough to manage their AI use like they manage their people. That means those customers have measurably moved past dipping their toes into chatbots, away from the tokenmaxxing fad, and into managing and staffing AI agents in workflows. That means Anthropic&#8217;s customers have matured.  But we should see measurable business productivity gains in the next few quarters. And it has the potential to accelerate if and when those businesses learn to manage teams of agents as part of their actual work force. We live in some interesting times.</p>]]></content:encoded></item><item><title><![CDATA[Performing Incident Response on a Chinese Government Server]]></title><description><![CDATA[My crawler fell into a tarpit that looked a lot like someone had hacked the box]]></description><link>https://www.mfrantzen.com/p/performing-incident-response-on-a</link><guid isPermaLink="false">https://www.mfrantzen.com/p/performing-incident-response-on-a</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Mon, 24 Aug 2026 13:03:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!no5o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been analyzing a lot of public Chinese government data. A little while back, my crawler was looking for materials on a Chinese Communist Party (CCP) education portal when it fell into a tar pit. It looked like someone had landed a command injection attack against them. So I went on a <em>who dun it</em> investigation. Since I&#8217;m talking about it, you can probably guess that it wasn&#8217;t that type of vulnerability. But it was a fun.</p><h2><strong>Bottom Line Up Front</strong></h2><p>One of the remote provinces&#8217; CCP education portals will serve you somebody else&#8217;s attack payload if you ask it for page 2 of its news list. It has been doing this since at least December 8, 2025, and the Internet Archive has been crawling and republishing those poisoned links the whole time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!no5o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!no5o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!no5o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!no5o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!no5o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!no5o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:520004,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.mfrantzen.com/i/212186456?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!no5o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!no5o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!no5o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!no5o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa03a4761-aaa1-4d3a-9c4c-c44e40bbc2e0_2400x1260.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That looks like someone hacked a Chinese government server so you can see why I got very interested in a hurry. The injection payload in the image above comes from a commercial vulnerability scanner. The site never runs the payload, and I can&#8217;t find a way that it could be actually dangerous unless you laugh so hard at me that coffee sprays out your nose. Academics would probably call it a vulnerability. It&#8217;s operationally useless outside of contrived examples. It&#8217;s a bug. That makes this a story I can tell about doing incident response on a Chinese government server. The irony is not lost on me.</p><h2><strong>Story time</strong></h2><p><strong>The recursive link.</strong> I&#8217;ve been analyzing a lot of People&#8217;s Republic of China (PRC) government content. I was crawling one of the remote provinces&#8217; CCP education portals when a page returned something odd. The site&#8217;s own next page / last page links, had a shell command substitution in the query string. Inside it was a ping to a random subdomain of d[.]360tcp[.]com. That has exactly one purpose. If the server runs the attackers command then the server does a DNS lookup and sends the ping packet. Whoever owns the 360tcp[.]com domain sees the ping packet and knows the server executed their input. Or if the attacker is really good they have passive visibility somewhere in the recursive DNS network so they can see the DNS lookup; then whomever owns 360tcp[.]com gets the blame while the attacker still know their command injection succeeded. This is how you prove a blind command injection in a way that doesn&#8217;t burn your real payload if some former-defense-tech-CEO-on-sabbatical with a crawler runs across it then writes a substack article. Finding it on a Chinese government site&#8217;s own infrastructure is what a compromise looks like. I admit I giggled a little maniacally when I saw it.</p><p><strong>It&#8217;s been there for at least eight months.</strong> Three pages came back carrying the command injection payload. I only sent a section number and a page number because I (really, my automation) was just crawling and downloading CCP personnel training materials for something else I&#8217;m working on. The Internet Archive crawled those poisoned URLs thirteen times since Dec 8, 2025 so we know roughly when it happened.</p><p>At that point I did the obvious thing and went looking for a broader attack campaign. I checked 10,746 .gov[.]cn hosts for command injection callbacks. Like I said, I may be doing a lot bit of crawling, downloading, and analyzing.</p><p><strong>Bah humbug.</strong> The scan only found the tell tale results on the <strong>one</strong> host. And on that host there was a second callback I didn&#8217;t notice until now: reversecheck[.]jiance[.]qianxin[.]com. It&#8217;s the QiAnXin cloud scan. QiAnXin is one of the two largest security companies in China. That&#8217;s a commercial vulnerability scanner.</p><p>The other domain d[.]360tcp[.]com is delegated to a nameserver literally called dnslogns (read that as <em>DNS log nameserver</em>). It&#8217;s been registered since 2017 through Alibaba. If you&#8217;ve been in offensive cyber for more than a few years then you think of Qihoo (a major Chinese cybersecurity product company) the moment you hear &#8220;China&#8221; and &#8220;360&#8221;. But I don&#8217;t have any evidence for it. The argument against it is that Qihoo is also a domain registrar so I wouldn&#8217;t expect them to register a domain through their Alibaba rival.</p><p><strong>There isn&#8217;t a vulnerability anyway.</strong> Being disappointed with no attacker I went looking for the vulnerability itself, and got disappointed there too. I pulled all 498 archived responses from the host and tested every way the stored string could hurt somebody. There are 1,197 attacker-controllable values sitting inside and across those pages. Zero of them contain an unescaped quote, so none can break out of what it lives in. Zero reach script context. Zero produce a database error. Zero emit an attacker-chosen address as a link destination, so there is no phishing pivot and no search-engine poisoning. And a clean request and a payload-bearing request to the same page return byte-identical bodies, which a server evaluating that parameter would not do.</p><p>The site is not running anything. It is remembering. Somebody sent that string, and the server bakes it in.</p><p><strong>And that is the tar pit.</strong> The site builds its previous/next page links out of whatever query string you hand it, which means the not-really-a-command-injection link regenerates itself on every page it appears on. Every time you go to the &#8220;next&#8221; link, that next page will encode the command injection payload one level deeper. Every page is new, so a plain duplicate check never catches it, and you can trudge through that tar pit forever. My crawler did, until my own data normalizer stopped and warned me shenanigans were afoot. A command injection by any other name still looks like a command injection.</p><p>This was an entertaining diversion. I never expected in my life to be performing incident analysis on a Chinese Government or Chinese Communist Party server.</p>]]></content:encoded></item><item><title><![CDATA[Hiding Quarterly Filings from the Bad News Bots]]></title><description><![CDATA[Does embedding bad news in a picture affect stock price or the news tickers?]]></description><link>https://www.mfrantzen.com/p/hiding-quarterly-filings-from-the</link><guid isPermaLink="false">https://www.mfrantzen.com/p/hiding-quarterly-filings-from-the</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Fri, 21 Aug 2026 13:03:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2e111ddc-6f2f-4c16-b00f-9c8d55fa5557_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been analyzing Chinese corporate filings for a while now because most accountants don&#8217;t understand OPSEC (operational security). They&#8217;re both <strong>incredibly</strong> boring to read and wonderfully insightful about Chinese industry. My first automated filing analysis pipeline broke on an image embedded into a quarterly report. It&#8217;s an easy fix: wire up a visual LLM to turn the images into a text table (Qwen is really good at this for Chinese characters). But it made me wonder: if a company embedded its bad news as a picture in a regulated financial filing, would that hide the data from market automation while satisfying the human regulators? It certainly was hiding data from my initial analyses.</p><h2>Bottom Line Up Front</h2><p>Chinese listed companies do embed adverse numbers in pictures, and the statistics are <em>insightful</em>. If we look at periodic reports from firms that are <em>not</em> under regulator scrutiny, images of tables included derogatory information 31.3% of the time, whereas text-based tables included derogatory information 17.1% of the time. The ratio is interesting.</p><p>The clearest single example is a Chinese manufacturer that we&#8217;ll call Company D. Its FY2018 annual report embeds fourteen substantive images; the year before, one. The picture that matters is the year-end list of accounts receivable being written down as bad debt. That means Company D judged those debts unlikely ever to be collected. There were six bad debtors, and the image of the table listed every reason cell as &#28041;&#35785; (&#8221;in litigation&#8221;). The same table was ordinary text (not an image) in the FY2017 annual report. The same FY2018 document also carries 74 tables as ordinary text. FY2018 was also the year the firm&#8217;s net profit swung from +327.5 million yuan to a 1,046.9 million yuan loss. Let&#8217;s just round that to a $150 million USD loss. That&#8217;s the clearest example among 86 corporate filings that looked funny to me.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ei7c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfffcc3e-e2f3-481f-8c79-e2d3f0773ac1_3831x968.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ei7c!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfffcc3e-e2f3-481f-8c79-e2d3f0773ac1_3831x968.png 424w, https://substackcdn.com/image/fetch/$s_!ei7c!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfffcc3e-e2f3-481f-8c79-e2d3f0773ac1_3831x968.png 848w, https://substackcdn.com/image/fetch/$s_!ei7c!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfffcc3e-e2f3-481f-8c79-e2d3f0773ac1_3831x968.png 1272w, https://substackcdn.com/image/fetch/$s_!ei7c!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfffcc3e-e2f3-481f-8c79-e2d3f0773ac1_3831x968.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ei7c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfffcc3e-e2f3-481f-8c79-e2d3f0773ac1_3831x968.png" width="1456" height="368" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cfffcc3e-e2f3-481f-8c79-e2d3f0773ac1_3831x968.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:368,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Same schedule, two years: machine-readable text in FY2017, a picture in FY2018&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Same schedule, two years: machine-readable text in FY2017, a picture in FY2018" title="Same schedule, two years: machine-readable text in FY2017, a picture in FY2018" srcset="https://substackcdn.com/image/fetch/$s_!ei7c!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfffcc3e-e2f3-481f-8c79-e2d3f0773ac1_3831x968.png 424w, https://substackcdn.com/image/fetch/$s_!ei7c!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfffcc3e-e2f3-481f-8c79-e2d3f0773ac1_3831x968.png 848w, https://substackcdn.com/image/fetch/$s_!ei7c!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfffcc3e-e2f3-481f-8c79-e2d3f0773ac1_3831x968.png 1272w, https://substackcdn.com/image/fetch/$s_!ei7c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfffcc3e-e2f3-481f-8c79-e2d3f0773ac1_3831x968.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Same schedule, two years: machine-readable text in FY2017, a picture in FY2018</em></figcaption></figure></div><p><em>Left: the FY2017 table was ordinary machine-readable text. Right: in FY2018 the same table was an image, every reason cell reading &#28041;&#35785; (&#8217;in litigation&#8217;). We redacted debtor names.</em></p><p>The practice of embedding images of tables in a regulatory filing is common enough and mostly innocent. In a random sample of 400 listed firms, 1.26% of periodic reports carried an image of a table with derogatory information. Most of these images are spreadsheet exports pasted as pictures or screenshots of internal business systems. Intent is not observable from a filing. Most are benign. But taken statistically it is consistent with shenanigans, and also with a boring possibility that crisis-year sections get pasted by different people than in other years.</p><p>Here is the part that surprised me. Negative information &#8220;hiding&#8221; in an image did not detectably hide from the market. In companies where a regulator had compelled a response, &#8220;hidden image tables&#8221; actually drew slightly more trading volume not less (truth in statistics: the statistical range here includes zero, so take this with a grain of salt). But &#8220;hidden image tables&#8221; did seem to hide from the automated news tickers for a while. I only tested this in companies publicly under regulator scrutiny, and images of tables in a compelled response drew contemporaneous automated coverage 3.2% of the time versus 17.9% for machine-readable facts. That was only true through 2022; multimodal AI summarizers now mind the gap.</p><p>The research data was current as of 2026-08-18. Chinese filings quote figures in &#19975;&#20803; (wan yuan, units of RMB 10,000); one round rate for this post is RMB 7 to the dollar.</p><h2>What we found</h2><p><strong>1. Fingerprints left in the images.</strong> If you look at financial filings long enough then you start to get a little loopy. Well, I do anyway. Look closely at imaged cells across this corpus and you&#8217;ll see Excel&#8217;s green error-triangles in the cell corners. You find Word&#8217;s line-break marks printed in the cells of a pasted image. The typeface changes at the picture&#8217;s border. I find this funnier than I should. But when an imaged table&#8217;s tool-marks and fonts don&#8217;t match the document around it, you are looking at an import from another program, which is exactly what the innocent account predicts. In aggregate, 57% of the images looked like spreadsheet or business-system screenshots pasted into the filing as pictures. That is the innocent workflow: someone builds the table in Excel or pulls it out of an internal system, and pasting a screenshot is safer than rebuilding the table in the document. These are regulatory filings, so mis-typing a number while transcribing it into a financial filing can trigger real penalties.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZMdm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca44268-217a-4d85-be04-ebce010f95bf_2122x1210.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZMdm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca44268-217a-4d85-be04-ebce010f95bf_2122x1210.png 424w, https://substackcdn.com/image/fetch/$s_!ZMdm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca44268-217a-4d85-be04-ebce010f95bf_2122x1210.png 848w, https://substackcdn.com/image/fetch/$s_!ZMdm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca44268-217a-4d85-be04-ebce010f95bf_2122x1210.png 1272w, https://substackcdn.com/image/fetch/$s_!ZMdm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca44268-217a-4d85-be04-ebce010f95bf_2122x1210.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZMdm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca44268-217a-4d85-be04-ebce010f95bf_2122x1210.png" width="1456" height="830" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dca44268-217a-4d85-be04-ebce010f95bf_2122x1210.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:830,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Excel error-triangles inside a filed picture&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Excel error-triangles inside a filed picture" title="Excel error-triangles inside a filed picture" srcset="https://substackcdn.com/image/fetch/$s_!ZMdm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca44268-217a-4d85-be04-ebce010f95bf_2122x1210.png 424w, https://substackcdn.com/image/fetch/$s_!ZMdm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca44268-217a-4d85-be04-ebce010f95bf_2122x1210.png 848w, https://substackcdn.com/image/fetch/$s_!ZMdm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca44268-217a-4d85-be04-ebce010f95bf_2122x1210.png 1272w, https://substackcdn.com/image/fetch/$s_!ZMdm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca44268-217a-4d85-be04-ebce010f95bf_2122x1210.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Excel error-triangles inside a filed picture</em></figcaption></figure></div><p><em>Excel&#8217;s green error-triangles inside a table filed as a picture (inset: 3x zoom), plus a header cell that came through in stray italics. The spreadsheet came along for the ride.</em></p><p><strong>2. Some images look really funny.</strong> In the image below (right side panel), the imaged table is typeset like a table from the rest of the document: matching fonts, column rules, and spacing. That look is consistent with a different workflow: the table was built in the document like every other table, screenshotted, and then replaced with its own picture. Consistent with, but not proof of. A house Word template could produce the same look. But I&#8217;m not sure why someone would copy-and-paste an image instead of the actual table from Word to Word.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!erAC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e92470d-7136-4e25-9c7d-e6fefceb779e_2200x779.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!erAC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e92470d-7136-4e25-9c7d-e6fefceb779e_2200x779.png 424w, https://substackcdn.com/image/fetch/$s_!erAC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e92470d-7136-4e25-9c7d-e6fefceb779e_2200x779.png 848w, https://substackcdn.com/image/fetch/$s_!erAC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e92470d-7136-4e25-9c7d-e6fefceb779e_2200x779.png 1272w, https://substackcdn.com/image/fetch/$s_!erAC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e92470d-7136-4e25-9c7d-e6fefceb779e_2200x779.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!erAC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e92470d-7136-4e25-9c7d-e6fefceb779e_2200x779.png" width="1456" height="516" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e92470d-7136-4e25-9c7d-e6fefceb779e_2200x779.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:516,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Two signatures, side by side&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Two signatures, side by side" title="Two signatures, side by side" srcset="https://substackcdn.com/image/fetch/$s_!erAC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e92470d-7136-4e25-9c7d-e6fefceb779e_2200x779.png 424w, https://substackcdn.com/image/fetch/$s_!erAC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e92470d-7136-4e25-9c7d-e6fefceb779e_2200x779.png 848w, https://substackcdn.com/image/fetch/$s_!erAC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e92470d-7136-4e25-9c7d-e6fefceb779e_2200x779.png 1272w, https://substackcdn.com/image/fetch/$s_!erAC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e92470d-7136-4e25-9c7d-e6fefceb779e_2200x779.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Two signatures, side by side</em></figcaption></figure></div><p><em>Left: an import with tool-marks gives the workflow away. Right: an imaged table typeset like a document table, hard to tell from its text siblings except that machines could not read it. The two panels come from different firms.</em></p><p>Company D&#8217;s bad-debt schedule is the second kind. The imaged schedule itself shows no tool marks (we even checked programmatically: there were zero non-gray pixels), it is typeset like a document table (fonts were consistent with the document&#8217;s own embedded Song and Times families), and give or take soft tells like dotted gridlines and a &#8220;100&#8221; where the prior year printed &#8220;100.00%&#8221;. That&#8217;s just the funny table. The other imaged table on the same page is the firm&#8217;s top-five receivables list and it has an Excel error-checking triangle in its totals row. I found this example by analyzing company filings over time and flagging when a table that had historically always been text suddenly flips into an image. This particular one was also filed months late after delay notices. And FY2018 was the year the firm&#8217;s annual report states its net profit fell more than 400%. It sure looks funny to my non-accountant eyes.</p><p><strong>3. The market reacts to images of bad news anyway.</strong> If pictures actually hid bad news then machine-triggered trading should thin out. We couldn&#8217;t detect any. In the companies with exchange inquiries that compelled replies, imaged replies drew more abnormal trading volume (truth in statistics: the sample size is too small to state this is definitive). The market, as far as we could detect, could read the pictures of tables.</p><p><strong>4. The pictures did fool the news bots for about four years. Then the machines learned to read images.</strong> We 1) matched 65 imaged derogatory facts against 65 machine-readable text facts from the companies where an exchange was compelling a response, 2) collected contemporaneous timestamped news coverage of the company, and 3) grouped them by technology era because a 2020 filing must be judged against 2020-era news pipelines. I didn&#8217;t have good news archives from before 2019. But in the 2019 through 2022 era of text-only news pipelines, imaged facts drew automated news coverage 3.2% of the time versus 17.9% for the pure-text filings (truth in statistics: 1 of 31 when the derogatory fact was in an image, vs 5 of 28 when it was text). The gap disappears in 2023. Again, this is a small sample size, but derogatory facts &#8220;hidden&#8221; in images resulted in more contemporaneous news coverage in the AI-generated news era.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sKvK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff88e635f-cd17-48db-a0af-deeff7532bbe_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sKvK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff88e635f-cd17-48db-a0af-deeff7532bbe_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!sKvK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff88e635f-cd17-48db-a0af-deeff7532bbe_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!sKvK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff88e635f-cd17-48db-a0af-deeff7532bbe_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!sKvK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff88e635f-cd17-48db-a0af-deeff7532bbe_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sKvK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff88e635f-cd17-48db-a0af-deeff7532bbe_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f88e635f-cd17-48db-a0af-deeff7532bbe_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Automated coverage of matched derogatory facts by era&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Automated coverage of matched derogatory facts by era" title="Automated coverage of matched derogatory facts by era" srcset="https://substackcdn.com/image/fetch/$s_!sKvK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff88e635f-cd17-48db-a0af-deeff7532bbe_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!sKvK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff88e635f-cd17-48db-a0af-deeff7532bbe_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!sKvK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff88e635f-cd17-48db-a0af-deeff7532bbe_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!sKvK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff88e635f-cd17-48db-a0af-deeff7532bbe_2400x1260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Automated coverage of matched derogatory facts by era</em></figcaption></figure></div><h2>How we know</h2><p>The short version of the method: we built a census of China&#8217;s compelled-disclosure channel (74,675 documents since 2000), then screened a 10,019-reply probability sample, 3,963 periodic reports from the never-questioned population, and a 1,505-report random arm, all with the same instruments. Every counted item was transcribed and judged derogatory-or-not by two independent model seats validated against adjudicated gold sets; the designs and their bars were fixed before labelling; detector error rates are measured and on record (the two judging seats agree with the adjudicated gold at 0.986 and 0.957 on the periodic pipeline). Companies here are lettered, not named; the page facts are checkable against the public filings. If you believe any document fact here is wrong, write to me: I will check it against the preserved filing and correct this post if I&#8217;m wrong.</p><p>So where does that leave us? Some images of bad news embedded in corporate filings sure look funny. They broke my automated workflow so I went looking. Some of the pictures indicate a Microsoft office workflow, error-triangles and all. Some are typeset like the filing document itself and aren&#8217;t so easily explainable. We can&#8217;t adjudicate intent from the filings. But what we can measure: the bad news embedded in the pictures never detectably hid from the market, and since 2023 it doesn&#8217;t hide from the automated news feeds either. For at least four years it did seem to hide from the machines that automatically generated news from corporate filings. But today&#8217;s era of AI-based reasoning can read the images just fine. Mine does.</p>]]></content:encoded></item><item><title><![CDATA[A profile of Chinese spy-catching]]></title><description><![CDATA[What 216 Chinese espionage convictions reveal about their counterintelligence apparatus]]></description><link>https://www.mfrantzen.com/p/a-profile-of-chinese-spy-catching</link><guid isPermaLink="false">https://www.mfrantzen.com/p/a-profile-of-chinese-spy-catching</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Wed, 19 Aug 2026 13:03:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8vXX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been entertaining myself finding needles in haystacks of Chinese data for the last month. In this project, I could extract enough of China&#8217;s sealed espionage convictions to build a profile of how they catch spies. I&#8217;m not sure if I should have a martini shaken, not stirred, or a Moutai while writing this; thankfully its 3pm in the afternoon and I have a few hours to decide (11pm <em>ex post facto</em>: I had a martini. If you&#8217;ve ever had a glass of Chinese Moutai you&#8217;ll understand why).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8vXX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8vXX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!8vXX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!8vXX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!8vXX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8vXX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:251180,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.mfrantzen.com/i/211602701?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!8vXX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!8vXX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!8vXX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!8vXX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8d23c6-42f2-4df4-8129-df12c77451e9_2400x1260.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Each bubble is a Chinese province&#8217;s conviction count; most sit on the Taiwan-facing coast and the Korean border, and the known gap is the high-end threat this record cannot see.</em></p><h2><strong>Bottom Line Up Front</strong></h2><p>Chinese courts convicted at least 216 people of espionage and related national-security offenses between 1991 and 2021. We can count them because the records were published on the PRC&#8217;s own judicial transparency platform of ~80 million cases, China Judgments Online (CJO), and stayed up until Beijing changed their judicial transparency in 2021. You can download it off bit torrent. Once extracted, they are plausibly the largest open, case-level compilation of foreign-intelligence penetration of China in (unclassified) existence, the mirror image of the Western databases that count Chinese spies caught in the West.</p><p>The temptation is to read the 216 cases as a portrait of the assets (that&#8217;s spy-speak for a recruited &#8220;spy&#8221;). The portrait of the spy-catcher is worth more or at least I find it more interesting. Every case here is one the Ministry of State Security (MSS, China&#8217;s civilian intelligence service, which runs both espionage abroad and spy-catching at home) or its military counterpart detected, investigated, prosecuted, and proved. The portrait is specific: China is very good at catching the low-tradecraft paid observer on its Taiwan-facing coast and its Korean border, and it is very good at following small money. The military half of the record shows foreign collection reached every branch of the People&#8217;s Liberation Army (PLA).</p><p>China also hides some things on purpose. The verdicts name the foreign intelligence service in only 9 of the 216 cases and withhold it in 200; the remaining 7 can be inferred from structure. Two hundred of 216 is a 93% withholding rate. Caveat lector, most of the 93% is deliberate redaction plus an artifact of how these records surfaced, not evidence that China failed to work out which countries&#8217; service was running the asset. From this record, the pool of cases where China genuinely may not have known the service is at most 8.</p><p>The blind spot is a hypothesis that I have a low confidence in. The Chinese counter-intelligence apparatus looks tuned for the cheap coastal observer, and it may under-see the remote, patient, professional penetration. The extracted cases can not refute the alternative explanation, that China catches the high end too and those cases never reach the civilian courts paperwork.</p><p>The court data ends where this particular court database went dark in 2021; the analysis was current as of July 2026. Dollar figures use one round rate of 7 yuan to the dollar, close enough to the actual rates of the case years.</p><h2><strong>How a now-dark database gives up sealed verdicts</strong></h2><p>In 2014 the Supreme People&#8217;s Court ordered Chinese courts to publish their judgments online, and for seven years they mostly did. The result was China Judgments Online: roughly 80 million cases spanning 1985 to 2021, on the open internet, in Chinese. Espionage was supposed to be the exception. Military courts (&#20891;&#20107;&#27861;&#38498;) are a closed system whose verdicts never entered the database at all, and civilian state-security trials are routinely sealed.</p><p>The seal has a bureaucrat-shaped hole in it. When a convicted spy is transferred to an ordinary provincial prison, that prison files the same routine paperwork it files for every inmate: sentence-reduction and parole rulings (&#20943;&#21009;/&#20551;&#37322;). Those rulings quote the sealed verdict verbatim, because the form requires the conviction details: name, court, charge, sentence, often birthdate, rank, unit, and money. The prison clerk is not running a declassification review. He is filling out a form. So sealed espionage verdicts, including verdicts from military courts that never published anything, surface word for word inside the most mundane filings in the system.</p><p>In 2021 Beijing pulled the whole database offline. Copies had been preserved while it was public, and this analysis runs on one. Provenance matters here, so I will be precise: everything in this post comes from court records the PRC itself published and later removed. Nothing was hacked. The only tradecraft involved was reading.</p><p>One more property of the corpus does real work. The database carries its own index of case numbers, so a verdict quoted in prison paperwork but absent from the published set is provably one Beijing chose to withhold, not one I failed to find. Withholding is measurable, and that measurement carries the second half of this post.</p><p>Two rules governed the build. No person entered the count on a name match alone; every identity had to be confirmed by a second attribute in the record itself, a birthdate, a rank, a unit, a sentence. Everything is a tally of documents that exist.</p><p>What came out of the scan: 216 people, 21 of them tried by military courts and 195 by civilian courts. Convictions rise sharply once the courts&#8217; publication mandate takes effect and peak in 2014 and 2015, at 37 and 36 cases. The sentencing is heavy. Of the 216 outcomes: 1 defendant was executed, 7 received suspended death sentences, 23 received life imprisonment, and roughly 177 received fixed terms, with the small remainder unstated or otherwise disposed.</p><h2><strong>The portrait, in five findings</strong></h2><p><strong>1. The map is a threat assessment.</strong> I have sketched the map of China on whiteboards in SCIFs (a windowless room for doing classified US government things) a thousand times. This map marks theirs, and the convictions cluster exactly where foreign intelligence services would want eyes. The Taiwan-facing littoral dominates with 78 cases: Guangdong (29), Fujian (28), Hainan (11), Zhejiang (10). A second cluster of 26 sits on the Korean border, in Jilin (16) and Liaoning (10). A third, 14 cases in Beijing, runs against the central ministries and draws the heaviest sentences in the set. Chinese counter-espionage enforcement concentrates where geography predicts foreign tasking, which both validates the data and maps where Beijing sees its own exposure.</p><p><strong>2. The typical convict is a paid observer, not a mole worth making a movie about.</strong> Of the 192 convictions under the two core espionage statutes, 117 fall under Article 111 of the criminal law, which covers stealing, probing, buying, or illegally providing state secrets or intelligence for entities outside China. The other 75 fall under Article 110, espionage proper: joining or taking tasking from an espionage organization. The Article 111 majority, 117 of 192 or 61 percent, is mostly recruited civilians photographing and reporting what they can physically see: ports, airfields, unit movements. One case sketches the type: Ye Genliang, a Chinese student recruited by Taiwan intelligence while studying in South Korea, went home and built an observation ring that filed reports on a military airfield. Caveat lector: only 16 of the 216 records say how the person was recruited. But two patterns recur: cultivation of Chinese citizens studying or working abroad, and cold online approaches with an offer of pay. One man simply wrote the foreign service a letter and volunteered. You call that a walk-in and you assume it&#8217;s a dangle (a foreign service trying to waste your time by <em>dangling</em> a fake spy).</p><p><strong>3. The MSS has bean counters.</strong> Payment evidence survives in 62 of the 216 cases as a confiscation or proceeds figure. The parseable amounts run from &#165;600 to &#165;505,000, call it $90 to $75,000, with a median near &#165;43,000. That is about $6,000. Money is also the only motive the verdicts document; ideology, coercion, and ego are essentially absent from the record. And the trails are forensic. The verdict against Xu Bingtao, a demobilized serviceman who left service carrying 51 CDs of military secrets, itemizes US$19,950 received across 32 separate Western Union remittances from a Taiwan-run cell that spotted him after he posted an online job-wanted ad. The verdict against Huang Liping, an accessory drawn in as the principal&#8217;s long-term partner and convicted for moving money for a US-run network, reconstructs US$366,715 in FBI and CIA funds routed through a Hamburg shell company between October 2005 and March 2007; the sentence was ten years. A counterintelligence service that can produce a 32-remittance wire trail and an 18-month reconstruction of a foreign funding pipeline is not weak at financial forensics.</p><p><strong>4. Policy restricts disclosing the adversary.</strong> Since 2023, when a revised Counter-Espionage Law took effect and the MSS opened its first public social-media channel to advertise its wins, Beijing has been louder than ever about catching spies. Louder, but not more specific. Across the 216 cases the foreign service is identifiable in only 16: 9 verdicts name the foreign services, and in 7 the service can be inferred. The list is short of those the courts do name. Taiwan organizations are the plurality, the FBI and CIA are named verbatim in one case, South Korea&#8217;s National Intelligence Service (NIS) in another, a Russian service surfaces inside one multi-service determination, and Japan appears only through a defendant&#8217;s nationality but not as a named service.</p><p>One case proves the withholding is Chinese policy. Zheng Dongzhe was a serving counterintelligence officer in Yanbian, on the Korean border, recruited at a meeting in Beijing and run for years before being sentenced to life in prison. His verdict writes the recruiting country as &#26576;&#22269;, &#8220;a certain country,&#8221; a formal redaction. The same sentence leaves the recruiting service&#8217;s name intact: &#22269;&#24773;&#38498;, the Gukjeongwon, a term that exists only for South Korea&#8217;s NIS. The court masked the label it understood and left the one it didn&#8217;t (I had to look it up too). Three more convictions of serving Chinese security officers recruited by a foreign service follow the same pattern, each with the service redacted. A &#26576;&#22269; in a Chinese verdict is a decision someone made.</p><p>Of the 200 withheld cases, only 13 carry any descriptor of the foreign principal at all: 5 use a deliberate placeholder like &#26576;&#22269;, and 8 say only &#8220;an overseas spy organization&#8221; with no country attached. The other 187 are silent for a boring reason: the prison paperwork quotes the charge and the sentence, not the crime narrative where a handler would be described. So the true &#8220;China could not attribute&#8221; pool is at most those 8 generic cases, and probably smaller. The 93 percent is redaction and channel, not blindness. The 16 identified cases also carry narratives roughly five times richer than the withheld ones, which tells you disclosure is rationed, and rationed consistently: Taiwan, which Beijing treats as an internal matter, gets named freely, while sovereign states get &#26576;&#22269; where naming would carry a diplomatic price. For an analyst, the redaction pattern is signal in its own right. It marks which relationships Beijing is managing carefully.</p><p><strong>5. Every service was touched, and the trail stops at senior colonel.</strong> The 21 military-court convicts are the half of this record that should not exist at all; their verdicts were sealed inside the closed military-court system and surface only through the prison-paperwork channel. Projected onto the PLA&#8217;s structure, they spread with an evenness that is itself interesting: 4 Air Force, 4 Navy, 4 from units directly subordinate to the Central Military Commission (the CMC, the top command organ that runs the entire military), and 4 from the Army&#8217;s regional commands. No branch was spared. Foreign services were not probing one weak side of the PLA; they were successfully spread across all of it.</p><p>Our civilian courts&#8217; leak does have another limit. The highest rank in the recovered set is &#19978;&#26657;, senior colonel; no general officer appears anywhere in it. The two known general-officer espionage cases both resulted in executions and neither are present in this database. They are structurally absent here, because executed convicts generate no parole paperwork and military custody generates no civilian filings. The same filter removes anyone executed, anyone never tried, and everything after 2021. The true population is larger than the 216 we know about, and every structural bias in the channel points that direction. Read every number in this post with that in mind.</p><h2><strong>The blind spot worth tasking</strong></h2><p>Everything above I hold at high confidence. It&#8217;s pulled right out of (a whole lot of chinese-language) data. What follows is a hypothesis I cannot prove or refute with this data.</p><p>The court record shows what China catches easily. Its typical espionage convict is the cheap coastal observer: recruited cold, paid small traceable sums, physically standing by the thing he photographs. Every feature of that profile makes him catchable: the wire trail, the proximity, the low tradecraft. The question a practitioner should ask is what the same machine does against a harder adversary: an officer who never wires money to a source inside China, a relationship handled and met abroad, collection that never requires anyone to stand on the same beach in Fujian twice.</p><p>The record offers three suggestive silences. First, there are no cyber or technical-intrusion convictions at all. QQ and email appear constantly, but only as communication channels for human assets, never as technical collection. Some of that is mechanical, since remote operators abroad never enter a Chinese courtroom. But China does not appear to convert attributed technical penetrations into named prosecutions the way it industrializes prosecutions of coastal observers. Second, the record thins exactly where the assets get senior; that is finding 5, and it means this channel is structurally blind to the top of the pyramid. Third, the professional long-dwell tail is tiny. The turned border officer Zheng Dongzhe is one of its few members. Another is Liang Ying, an insider at a Chinese embassy in Russia who passed 126 internal documents and drew a single determination naming US, Russian, and Taiwan handlers in one case. Where the record permits computing how long a penetration ran, which is a handful of cases, the spans skew long. A handful is too small to measure with, but it leans one way.</p><p>The most consequential known example sits outside the record entirely. Between roughly 2010 and 2012, Chinese counterintelligence dismantled the CIA&#8217;s agent network inside China, a loss widely reported to have killed or imprisoned nearly twenty sources. Those were senior cases, and not one appears here: sources who were executed never generated civilian-prison paperwork, and the rollup years predate the comprehensive publication mandate. The channel this analysis rides did not merely miss the high end in theory. It already missed the largest known US intelligence loss in China in a generation.</p><p>So, the hypothesis: China&#8217;s counterintelligence is tuned to the paid physical observer it convicts at volume, and struggles to see the remote, patient, professional penetration. The alternative hypothesis, which I cannot refute, is that China sees the high end just fine and those cases never enter the civilian prison system where records surface. My confidence in the blind-spot read is low and I neither have the data to support it more or to refute it.</p>]]></content:encoded></item><item><title><![CDATA[The Weapons China No Longer Trusts]]></title><description><![CDATA[Three years of purges, projected onto the People's Liberation Army's order of battle]]></description><link>https://www.mfrantzen.com/p/the-weapons-china-no-longer-trusts</link><guid isPermaLink="false">https://www.mfrantzen.com/p/the-weapons-china-no-longer-trusts</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Mon, 17 Aug 2026 18:19:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ssLg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ssLg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ssLg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!ssLg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!ssLg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!ssLg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ssLg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:529181,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.mfrantzen.com/i/211597521?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ssLg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!ssLg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!ssLg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!ssLg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b3c519-b91c-43c4-a223-d9d8aaf6c0b1_2400x1260.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Beijing has been publicly purging both ends of its military weapons acquisition system of corruption since late 2023. They cleaned out both the commands that buy the People&#8217;s Liberation Army&#8217;s (PLA&#8217;s) weapons, and the major defense conglomerates that build the weapons. On July 14, 2026, the party <a href="http://politics.people.com.cn/n1/2026/0715/c1001-40760662.html">expelled a sitting Politburo member Ma Xingrui</a>, who ran China&#8217;s main missile and space contractor from 2007 to 2013. In March, a court in Dalian <a href="https://finance.sina.com.cn/roll/2026-03-25/doc-inhseyvs0919865.shtml">sentenced the former Chairman of the Aviation Industry Corporation of China (AVIC) Tan Ruisong</a> to death with a two-year reprieve for taking 613 million yuan ($85 million) in bribes and 90 million yuan in embezzlement. AVIC builds China&#8217;s J-20 stealth fighter. Something I learned the hard way 20 years ago delivering cyber weapons: if you deliver a weapon that doesn&#8217;t work the first time, it will not be used operationally and it will not be integrated into larger operational plans, and it is almost impossible to recover from. This article set out to map the PRC&#8217;s corruption purge list against the theater commands and weapons platforms to understand how the loss of confidence will affect the PLA&#8217;s order of battle. And to get here I reconstructed corruption verdicts sealed by the PLA&#8217;s military courts.</p><p>The projection this article makes is deliberately aggressive. The affected weapons platforms are already mission degraded and possibly mission killed. Operator doubt propagates to dependent units and planners until the force considers withholding the capability itself. A crew that doubts its weapon will hedge its behavior. The units that depend on being supported by a platform will plan around it failing. The planner stops expecting the platform to be able to execute its planned mission. For the planning horizon that matters, a weapon that the force will not commit to battle is a weapon the force does not have. I can&#8217;t assert that any specific Chinese weapons platform is defective as a result of corruption. But I don&#8217;t need to.</p><p>Part of the evidence is new. China seals its military-court verdicts but I was able to reconstruct some of them. China published and then hid the China Judgements Online (CJO) database. A previous CJO dump can still be found on BitTorrent. The military convicts who were moved to a civilian prison later had their sealed military verdicts quoted verbatim in the civilian prison sentence-reduction and parole paperwork. So we get a view into the sealed military verdicts. Where individuals are named below, Beijing named them first in official notices or published verdicts.</p><h2><strong>The (un)sealed convictions</strong></h2><p>The recovered record contains several hundred convictions of military personnel that are otherwise not public. Ninety-five of them are the corruption cases that a military planner should care about. Fifty-eight were tried in theater commands&#8217; courts: 17 in the Eastern Theater Command, 13 in the Western, 12 in the Central, and eight each in the Northern and Southern. There were 18 unsealed records from two service courts: 12 in the Air Force and six in the Navy. The remaining 19 were tried in courts attached directly to Central Military Commission organs (13), in Armed Police courts (3), at the PLA&#8217;s appellate military court (1), and in the courts of the old Jinan Military Region (2) (n.b. this region no longer exists).</p><p>Before I go too far there are three caveat lectors:</p><ol><li><p>These unsealed verdicts provide a vantage into an otherwise hidden system. We do not know what we cannot see. We can&#8217;t guess at the true corruption rate inside any theater command.</p></li><li><p>I did not extract any military verdicts from the Rocket Force. Our vantage is when a military prisoner is transferred to a civilian court. I assume that personnel with knowledge of strategic systems are kept in military prisons. But I do not know what I do not know. Our knowledge of corruption that affects these strategic systems comes only from the conviction of defense contractor civilians.</p></li><li><p>Senior Colonel was the highest-ranking officer with a recovered verdict. On October 17, 2025, the defense ministry <a href="http://www.news.cn/20251017/eb11aa8c9e0044f3980bda5cd19037a2/c.html">announced the expulsion</a> from the party and the military of <a href="https://english.www.gov.cn/news/202510/17/content_WS68f244ddc6d00ca5f9a06dec.html">nine officers in a single notice</a>: among them He Weidong, a sitting Politburo member and Central Military Commission vice chairman, and Miao Hua, former director of the military&#8217;s political work department, alongside the commander of the Eastern Theater Command, the executive deputy director of the joint operations command center, the political commissars of the navy and of the army, and a former Rocket Force commander. That last entry deserves a pause: he was the navy admiral <a href="https://www.scmp.com/news/china/military/article/3229515/china-unveils-new-pla-rocket-force-leadership-after-former-commanders-snared-corruption-scandal">installed in July 2023</a> to clean the Rocket Force up, and he lasted 27 months. The legislature <a href="https://china.caixin.com/2025-12-28/102397929.html">removed He Weidong&#8217;s delegate credentials</a> that December. These are newer than the CJO verdicts database, and senior convicts do not appear to be transferred to civilian custody anyway.</p></li></ol><h2><strong>The weapons platforms no theater will trust</strong></h2><p>We then project those verdicts up through the supply chain: from a purged supplier, to the weapons platform it builds, to the theaters that field the weapons. This is how doubt travels to the field.</p><p>Let&#8217;s start with aviation. Tan Ruisong&#8217;s suspended death sentence sits at the top of the corporation whose plants build the <a href="https://en.wikipedia.org/wiki/Chengdu_J-20">J-20</a> at Chengdu, the <a href="https://en.wikipedia.org/wiki/Shenyang_J-16">J-16</a> and the <a href="https://en.wikipedia.org/wiki/Shenyang_J-15">carrier fighters</a> at Shenyang, and the <a href="https://en.wikipedia.org/wiki/Xian_H-6">H-6 bombers</a> and <a href="https://en.wikipedia.org/wiki/Xian_Y-20">Y-20 transports</a> at Xi&#8217;an. His predecessor as chairman, Zhou Xinmin, was <a href="https://china.caixin.com/2026-02-05/102411744.html">stripped of his legislative seat</a> in February 2026. The fielding side is not speculative. The J-20 is <a href="https://media.defense.gov/2024/Dec/18/2003615520/-1/-1/0/MILITARY-AND-SECURITY-DEVELOPMENTS-INVOLVING-THE-PEOPLES-REPUBLIC-OF-CHINA-2024.PDF">operationally fielded</a> and, by the PLA Air Force&#8217;s own 2022 announcements, flies with units in all five theater commands. The J-16 is one of the workhorses of PLA sorties over the Taiwan Strait. The H-6K bomber force is <a href="https://media.defense.gov/2024/Dec/18/2003615520/-1/-1/0/MILITARY-AND-SECURITY-DEVELOPMENTS-INVOLVING-THE-PEOPLES-REPUBLIC-OF-CHINA-2024.PDF">fielded in growing numbers for standoff strike</a>, and the nuclear-capable H-6N forms the air leg of China&#8217;s nuclear triad; open order-of-battle work places its bomber divisions in the Eastern, Southern, and Central commands. The carrier fighters equip both operational carrier air wings. Every theater&#8217;s air force, from the J-20 and J-16 to the H-6 and the carrier fighters, is built by the corporation whose chairman is under a suspended death sentence for bribes taken across 26 years.</p><p>The navy&#8217;s exposure came earlier, and in one case it is documented at the yard itself. Hu Wenming, chairman of the China Shipbuilding Industry Corporation, the northern of China&#8217;s two shipbuilding groups, was <a href="https://www.spp.gov.cn/spp/zdgz/202312/t20231226_638238.shtml">convicted in December 2023</a> on combined counts carrying 13 years, for bribery of <a href="https://companies.caixin.com/2023-12-26/102150052.html">59.86 million yuan</a> spanning 2001 to 2020. His general manager, Sun Bo, <a href="https://finance.sina.com.cn/roll/2019-07-04/doc-ihytcerm1378588.shtml">drew a combined 12 years</a> in 2019. Sun Bo had personally run the Dalian yard, which built the carrier Shandong and hulls of the <a href="https://en.wikipedia.org/wiki/Type_052D_destroyer">Type 052D destroyer run</a>; the group also ran the Huludao yard that builds <a href="https://en.wikipedia.org/wiki/Type_094_submarine">China&#8217;s nuclear submarines</a>. Those hulls serve in the Northern, Eastern, and Southern theater navies. One boundary holds throughout this essay: the two shipbuilding groups merged in late 2019, and nothing public supports a graft claim against any specific yard other than Dalian. The southern-heritage yards, including those building the <a href="https://en.wikipedia.org/wiki/Type_055_destroyer">Type 055 destroyers</a> and the newest carrier, are implicated only in the sense that they now share a corporate parent whose prior leadership record includes the convictions above.</p><p>On the ground side, the chairman of China North Industries Group, Liu Shiquan, <a href="https://news.sina.com.cn/c/2023-12-27/doc-imzznnsv7695543.shtml">lost his advisory seat</a> in the December 2023 sweep. Norinco&#8217;s subsidiaries are the main battle tank and artillery primes for the ground forces of every theater: the Type 99A heavy brigades sit mostly under the Central and Northern commands, and the long-range rocket artillery the Pentagon designates PCH191, the tracked variant known as the PHL-16, is fielded with the <a href="https://media.defense.gov/2024/Dec/18/2003615520/-1/-1/0/MILITARY-AND-SECURITY-DEVELOPMENTS-INVOLVING-THE-PEOPLES-REPUBLIC-OF-CHINA-2024.PDF">73rd Group Army in the Eastern Theater Command</a>, the army that trains against Taiwan, and can strike the island from the mainland.</p><p>The strategic tier fell first and kept falling. On December 27, 2023, a <a href="https://china.caixin.com/2023-12-27/102150400.html">single advisory-body decision</a> took Wu Yansheng, chairman of the China Aerospace Science and Technology Corporation, whose academies build the <a href="https://missilethreat.csis.org/missile/df-41/">intercontinental ballistic missiles</a> and the <a href="https://missilethreat.csis.org/missile/df-31/">solid rocket motors</a> beneath the land- and sea-based legs of the nuclear triad, and <a href="https://www.guancha.cn/politics/2023_12_27_720503.shtml">Wang Changqing</a>, a deputy general manager of the China Aerospace Science and Industry Corporation, the sister aerospace conglomerate that builds the <a href="https://missilethreat.csis.org/missile/dong-feng-26-df-26/">DF-21 and DF-26 missile families</a>, the <a href="https://en.wikipedia.org/wiki/CJ-10">cruise-missile lines</a>, and the <a href="https://en.wikipedia.org/wiki/HQ-9">HQ-9 air defenses</a>. Two days later, the national legislature <a href="https://www.12371.cn/2023/12/29/ARTI1703854773728266.shtml">removed nine military delegates</a> in a single announcement, five of them from the Rocket Force chain of command, including two successive commanders. (The DF-17 hypersonic system is attributed to one aerospace group or the other depending on the source, and no open source fixes which command it deploys under; the attribution is contested in unclassified sources.) That corporation&#8217;s chairman, Yuan Jie, has been accused of nothing: he was last seen in public in September 2023 and was <a href="https://www.rfa.org/mandarin/zhuanlan/yehuazhongnanhai/gx-04152024170654.html">replaced the following April</a> in an announcement that did not mention his name, with no discipline notice before or since. On a map otherwise drawn from announcements, that silence is pretty loud. The wave&#8217;s onset and its apex bracket the same institution: it opened on the sitting chairman of the missile and space prime in December 2023 and closed, two and a half years later, on the Politburo member who once ran that prime, with aerospace-trained officials such as former Hunan governor Xu Dazhe <a href="https://www.scmp.com/news/china/politics/article/3330743/china-expels-former-aerospace-boss-and-military-auditor-top-legislature-and-others">removed from the legislature</a> in October 2025 along the way. Then, in February 2026, the purge reached the top technical tier of the nuclear enterprise itself: one legislative session <a href="https://finance.sina.com.cn/jjxw/2026-02-05/doc-inhkuimf5822324.shtml">revoked the seats</a> of Luo Qi, chief engineer of the China National Nuclear Corporation and a veteran of its naval reactor institute, and Liu Cangli, who had spent nine years as president of the China Academy of Engineering Physics, the academy that designs China&#8217;s nuclear warheads. <a href="https://china.caixin.com/2026-02-05/102411744.html">No reason was given</a> for either.</p><p>The electronics layer carries the same mark. He Wenzhong, a deputy general manager of the China Electronics Technology Group Corporation, the state conglomerate that builds the military&#8217;s radars, was expelled from the party in October 2024 and <a href="https://www.chinadaily.com.cn/a/202507/21/WS687e2b3da310ad07b5d91156.html">sentenced to death with reprieve in July 2025</a> for taking more than 289 million yuan in bribes. The group&#8217;s institutes supply fire-control and early-warning radars that ride the J-20, the J-16, and the fleet&#8217;s newest destroyers, and emigre outlets reported a quiet, unexplained removal at the radar institute that built the PLA&#8217;s early-warning aircraft. A radar set sits one level below the platform: it is the component that every theater&#8217;s aircraft and ships depend on to see and to shoot, so the electronics group&#8217;s exposure runs wider than any single airframe&#8217;s.</p><h2><strong>Corrupt quality assurance</strong></h2><p>None of this would rise above corporate scandal if the companies weren&#8217;t delivering weapons to the PLA. The resident military-representative system puts the PLA&#8217;s quality-assurance personnel in uniform inside every defense plant: officers who oversee the contract, witness the testing, and certify acceptance. It&#8217;s not unlike the US system of embedded Defense Contract Management Agency (DCMA) officers and acceptance testing. A corrupt PLA service member sits at the one point where a substandard delivery can be signed off as conforming, and party media were <a href="https://warontherocks.com/rocket-powered-corruption-why-the-missile-industry-became-the-target-of-xis-purge/">warning about bribery at the factory</a> as early as 2012.</p><p>The recovered record documents that corruption from both sides of the interface. In 2019, a Beijing district court quietly convicted an air force equipment-department military representative, posted to a defense aviation institute in Shanghai, of taking just over one million yuan in bribes. The case reached the court through a referral from a Central Military Commission inspection group, which means center-level scrutiny predates the purge by years. In 2020, a court near Xi&#8217;an convicted an accountant at a state ordnance group&#8217;s propellant plant in Shaanxi of embezzling through the contract accounts of the military-representative office stationed at the plant. The first case is a corrupt officer whose signature certifies weapon quality. The second is the interface&#8217;s own accounts being looted from the contractor&#8217;s side. Neither defendant has been named by Chinese authorities, and I&#8217;m choosing not to publish the names extracted from sealed military verdicts. I did project them into the undermined order of battle though.</p><p>On July 26, 2023, the discipline inspection committee of the Central Military Commission&#8217;s equipment development department <a href="https://www.sohu.com/a/706743469_121478296">publicly solicited complaints</a> about bid-rigging by the military&#8217;s own procurement evaluators, on every contract back to October 2017. That month is not arbitrary: it is the month after Li Shangfu took over the department, which he ran until 2022 before becoming defense minister in March 2023. His investigation opened that August. Reuters <a href="http://www.koreatimes.co.kr/www/world/2023/09/501_359333.html">reported within weeks</a> that eight senior officials of the procurement unit he once led were under investigation with him, and the party <a href="http://www.news.cn/politics/20240627/112b13a716af4c68af5f9af568532d84/c.html">expelled him</a> in June 2024 with a notice accusing him of both taking and offering bribes. His predecessor as defense minister, Wei Fenghe, a career missile officer, was <a href="http://www.news.cn/politics/20240627/05994521863f4f89979be5f99e445845/c.html">expelled the same day</a>. The campaign did not burn out; it institutionalized. In 2025 the Rocket Force <a href="https://www.scmp.com/news/china/military/article/3325144/pla-rocket-force-bans-nearly-200-suppliers-evaluators-after-corruption-investigation">banned 74 bid-evaluation experts and 116 suppliers</a> for collusive bidding, review errors, and forgery spanning 2016 to 2025. In December 2025 the military opened its <a href="https://www.scmp.com/news/china/military/article/3336804/chinas-military-calls-tip-offs-it-targets-corruption-air-force-procurement">first service-specific complaint window</a>, on air force procurement. A public, retroactive solicitation of evidence against the military&#8217;s own evaluators has no announced precedent in the PLA&#8217;s history.</p><p>None of this establishes that any specific missile, aircraft, or hull left the factory defective. They do establish an epistemic problem for the force that has to use the equipment, and to plan joint operations around weapons with an uncertain reliability. If they don&#8217;t trust the missiles, how many missiles do they actually need to launch at the Taiwanese Integrated Air Defense System (IADS) before they send planes in? Are the pilots going to trust that the untrusted missiles actually took out the IADS? Are the airborne troops going to get onto the plane if they are not confident they will avoid being shot down? This is weapon degradation by doubt. It is also, on the evidence above, the mechanism Beijing&#8217;s own three-year campaign has been acting against.</p><h2><strong>The obvious objections</strong></h2><p>The first objection is that this is politics: a loyalty purge wearing an anti-corruption uniform. It&#8217;s certainly possible, especially for the tigers. The unsealed verdicts did turn up a number of lower-ranking corrupt flies, and in some cases I found a verdict against the civilians that matched the military side of public corruption. But in the end, the trust in a weapons platform collapses regardless of whether there was true corruption or a loyalty purge in corruption&#8217;s clothes.</p><p>The second objection is that every military has procurement graft, and most of them still fight. Dennis Blasko <a href="https://warontherocks.com/corruption-in-chinas-military-one-of-many-problems/">made a version of that case in War on the Rocks</a> in 2015, against the notion that graft proved the People&#8217;s Liberation Army a paper tiger, and his caution was sound for the wave he was writing about, which sat in promotion-selling and logistics. It misses what is specific now in two ways. The documented corruption sits at the weapons&#8217; quality assurance stage, rather than in travel budgets or promotion fees. And Beijing&#8217;s own responses are the tell: the retroactive six-year complaint window, roughly 190 counterparties banned by one service in one announcement, the first service-specific solicitation in the force&#8217;s history. Militaries with ordinary graft do not do these things. The concentration is countable, too. A tally of publicly announced corruption cases across the PLA and its defense conglomerates since 2012, compiled by the author from official notices, comes to 111; 20 of them sit in just two organizations, the Rocket Force chain and the equipment development department. (One caveat: the Rocket Force count runs high partly because the service inherited its predecessor&#8217;s unbroken lineage.) The concentration is Beijing&#8217;s own, published one expulsion at a time.</p><p>The third objection is the strongest: no one can show a single broken weapon. I concede the point. In January 2024, <a href="https://www.bloomberg.com/news/articles/2024-01-06/us-intelligence-shows-flawed-china-missiles-led-xi-jinping-to-purge-military">Bloomberg reported</a>, citing people familiar with US intelligence assessments, that Rocket Force missiles had been found filled with water rather than fuel and that fields of silo lids in western China would not open properly. Technical skeptics, among them Stephen Bryen in <a href="https://asiatimes.com/2024/01/water-in-chinese-missiles-tanks-is-a-fake-story/">Asia Times</a>, questioned the fueling claim within days. Nothing in the announced record or the recovered record confirms or refutes those specific allegations.</p><h2><strong>The planner&#8217;s list</strong></h2><p>What China hides behind its projection of strength is not a broken missile; it is that the PLA cannot certify to itself which of a decade of delivered weapons are going to work. The Eastern Theater Command is the one for China&#8217;s adversaries to watch. It would fight a war over Taiwan with the J-20 and J-16 fighters over the strait, the PHL-16 rocket batteries of the 73rd Group Army, and the destroyers whose builder now shares a corporate parent with the convicted northern shipyards. All of them trace to suppliers whose chairmen fell.</p><p>For the PLA&#8217;s own planners the problem is harsher, because the re-certification burden lands during the largest nuclear expansion in the force&#8217;s history. The Pentagon assessed China&#8217;s operational warhead stockpile at <a href="https://media.defense.gov/2023/Oct/19/2003323427/-1/-1/1/2023-CMPR-FACT-SHEET.PDF">more than 500</a> in May 2023 and <a href="https://media.defense.gov/2024/Dec/18/2003615417/-1/-1/0/2024-CMPR-FACT-SHEET.PDF">more than 600</a> a year later, on a path toward <a href="https://media.defense.gov/2024/Dec/18/2003615520/-1/-1/0/MILITARY-AND-SECURITY-DEVELOPMENTS-INVOLVING-THE-PEOPLES-REPUBLIC-OF-CHINA-2024.PDF">1,000 by 2030</a>, while satellite imagery shows the warhead complex at Mianyang in the middle of a <a href="https://www.cnn.com/2026/04/01/china/investigates-china-secretly-expanding-nuclear-weapons-infrastructure-intl-invs">large physical expansion</a>. Across those same years the state removed, without public explanation, the man who had led the warhead academy for nine years and the nuclear corporation&#8217;s chief engineer. The stockpile kept growing through the purge, so the claim is strain, not stall. But every institution that would conduct a re-certification of the strategic force is itself inside the purge&#8217;s perimeter, and the choice that leaves is unforgiving: re-inspect years of accepted deliveries using a certification corps the center has publicly treated as corrupt, or fight with an untrustworthy nuclear triad that might not actually be a deterrent.</p><p>The record will show which way Beijing chose, and the indicators are specific. Watch for re-inspection and re-acceptance campaigns quietly attached to the equipment system, and for the next service-specific complaint window after the air force&#8217;s. Watch, too, for further mass supplier and evaluator bans on the Rocket Force model, and for command turnover in the theaters that carry the heaviest joint exposure. Each of these is Beijing pricing its own doubt in public, as it has done since July 2023.</p><p>The purge, projected onto the order of battle, is that price list. Its entries are the commands and the platform families that the PLA&#8217;s own planners have been told, by their own state, they cannot take at face value. The capabilities are already mission degraded and possibly mission killed, because operator doubt propagates to dependent units and planners until the force withholds the capability itself. A weapon the PLA will not trust is a weapon it will not commit, and a weapon it will not commit is already out of the fight. I&#8217;m afraid to even think about the game theory of a nuclear power that does not trust the deterrent power of its nuclear forces.</p>]]></content:encoded></item><item><title><![CDATA[The failed Chinese anti-data center influence operation]]></title><description><![CDATA[China influenced far less of America than the operation to influence Congress]]></description><link>https://www.mfrantzen.com/p/the-failed-chinese-anti-data-center</link><guid isPermaLink="false">https://www.mfrantzen.com/p/the-failed-chinese-anti-data-center</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Fri, 07 Aug 2026 19:47:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UM57!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2032db75-b7fc-4bfa-965f-3e49980c3da7_1600x900.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There is a line going around Washington that the only thing still uniting Americans is hatred of data centers. It&#8217;s funny until you think that the AI capital expenditure is currently a significant part of the American economy. I kept hearing rumors that a Chinese influence operation was behind the sentiment. So I figured I would pull on the data and see if anything fell out.</p><h2>Bottom Line Up Front</h2><p>The belief that China fomented the data-center hatred is real and it runs to the top. Members of Congress alleged, implied, or asked whether a foreign power is behind American data-center opposition sixteen times between 3 June and 24 July 2026, in letters, press releases, hearing statements and interviews, after seventeen months of silence on the topic. A sitting cabinet secretary told a crowd in May 2026 that the opposition is &#8220;not organic and local, some of this is foreign-sourced dark money coming in.&#8221; That&#8217;s a hair&#8217;s breadth away from being the official policy of the United States.</p><p>The Chinese influence operation is real too. The data certainly didn&#8217;t debunk it. In June 2026 OpenAI disclosed a covert influence operation against the American data-center debate, named it, published it, and banned the Chinese accounts. I&#8217;m not going to rehash what others have published. Whether the Chinese state tasked it is not established with open source data. But an operation ran. And they got caught.</p><p>The Chinese influence operation reached almost nobody. Fail. The Chinese-attributed posts that OpenAI published drew between three and twelve views each. Not three to twelve thousand. You can count them on your fingers and toes. The operation&#8217;s best recovered post showed 89,000 views with zero reposts, zero replies and zero quotes. Its payload was an accurate story from a Maryland newspaper about a real electricity auction. The Chinese influence or amplification operation failed.</p><p>What actually happened to American opinion is their power bill. PJM&#8217;s (the big east coast power grid operator) independent market monitor re-ran the 2025/26 electricity capacity auction with data-center load removed from the load forecast to see what would happen to consumers&#8217; power bills without data centers. Their revenue fell from $14.69 billion to $5.35 billion (63.5%).</p><p>The data does not say that no foreign power amplified the data-center backlash. The US government agencies with that purview and mission have been dissolved. I&#8217;ll write more about this later. One potential measure is EU-style researcher access to social media data to crowd source detecting and responding to foreign information operations.</p><p>The research data was current as of 4 August 2026. Everything below cites its evidence.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UM57!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2032db75-b7fc-4bfa-965f-3e49980c3da7_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UM57!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2032db75-b7fc-4bfa-965f-3e49980c3da7_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!UM57!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2032db75-b7fc-4bfa-965f-3e49980c3da7_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!UM57!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2032db75-b7fc-4bfa-965f-3e49980c3da7_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!UM57!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2032db75-b7fc-4bfa-965f-3e49980c3da7_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UM57!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2032db75-b7fc-4bfa-965f-3e49980c3da7_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2032db75-b7fc-4bfa-965f-3e49980c3da7_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Two panel composition titled Invisible in the public, visible in Congress. The left panel is a dense crowd captioned 262 million US adults, with a region marked 71 percent oppose a data center near them, and a single pinpoint marked 0.00123 percent, 3,213 people, labelled as what a model says the documented operation persuaded. The right panel is a legislative chamber captioned 535 seats, with 15 seats highlighted and labelled as members who publicly repeated the claim.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Two panel composition titled Invisible in the public, visible in Congress. The left panel is a dense crowd captioned 262 million US adults, with a region marked 71 percent oppose a data center near them, and a single pinpoint marked 0.00123 percent, 3,213 people, labelled as what a model says the documented operation persuaded. The right panel is a legislative chamber captioned 535 seats, with 15 seats highlighted and labelled as members who publicly repeated the claim." title="Two panel composition titled Invisible in the public, visible in Congress. The left panel is a dense crowd captioned 262 million US adults, with a region marked 71 percent oppose a data center near them, and a single pinpoint marked 0.00123 percent, 3,213 people, labelled as what a model says the documented operation persuaded. The right panel is a legislative chamber captioned 535 seats, with 15 seats highlighted and labelled as members who publicly repeated the claim." srcset="https://substackcdn.com/image/fetch/$s_!UM57!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2032db75-b7fc-4bfa-965f-3e49980c3da7_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!UM57!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2032db75-b7fc-4bfa-965f-3e49980c3da7_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!UM57!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2032db75-b7fc-4bfa-965f-3e49980c3da7_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!UM57!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2032db75-b7fc-4bfa-965f-3e49980c3da7_1600x900.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Caption: On the left, the share of Americans who oppose a data center near them, and the share the documented operation is modelled to have persuaded: 3,213 people, or 0.00123 percent of adults. On the right, the 15 members of Congress, 2.8 percent of 535, who publicly repeated the claim that a foreign power is behind the backlash. The two shares measure different things, one modelled persuasion and one public repetition, and the crowd is drawn for illustration rather than to scale.</p><h2>What the influence op was and what it was not</h2><p><strong>It got caught, and OpenAI made it public.</strong> OpenAI&#8217;s 10 June 2026 disclosure named the operation under two names, banned the ChatGPT accounts behind it, and published samples; the X accounts behind it were torn down too. The last dated post is 6 January 2026, so the June action was disclosure, not the interruption of a live operation. The awkward (true) part should be said first: the influence operation was posting during the months that American search interest took off. Every Chinese post falls between October 2025 and January 2026. American search interest climbs in November 2025, one month after the Op started. The timing lines up. Now, was the Chinese influence operation coincidental or causal?</p><p><strong>Math to check causality.</strong> Give the Chinese influence Op the benefit of every doubt: credit every one of their 119 accounts with a thousand views per day for nine months (double the known 123-day window), and assume one view in a hundred changes someone&#8217;s mind. That is about 32 million views and roughly 321,000 new anti-data center crusaders. Depending which public opinion polls you use the measured shift in American sentiment was 50 to 81 million people. If we&#8217;re generous, the known China Op influenced less than 1% of the Americans who changed their minds. There just isn&#8217;t a trail you would expect to see in a successful influence Op. Their best post wasn&#8217;t amplified by anyone, none of the posts appear anywhere in the [public] citations that reached Congress, and the content the Chinese posts pushed was already circulating American journalism.</p><p>Caveat lector: I am checking what has been made public about the Chinese influence operation. The US Government agencies normally chartered with publishing more information have been dismantled. And EU-style researcher access to social media platforms is not available to crowdsource a societal immune system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f86W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb492201d-d080-41ef-94f9-a00ccfd20ea5_1600x840.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f86W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb492201d-d080-41ef-94f9-a00ccfd20ea5_1600x840.png 424w, https://substackcdn.com/image/fetch/$s_!f86W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb492201d-d080-41ef-94f9-a00ccfd20ea5_1600x840.png 848w, https://substackcdn.com/image/fetch/$s_!f86W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb492201d-d080-41ef-94f9-a00ccfd20ea5_1600x840.png 1272w, https://substackcdn.com/image/fetch/$s_!f86W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb492201d-d080-41ef-94f9-a00ccfd20ea5_1600x840.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f86W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb492201d-d080-41ef-94f9-a00ccfd20ea5_1600x840.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b492201d-d080-41ef-94f9-a00ccfd20ea5_1600x840.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Slope chart titled Same pollster, same question, asked twice, showing the share of Americans opposing a nearby data center. Embold Research for Heatmap goes from 42 percent in August 2025 to 71 percent in May 2026; Emerson College from 42 percent in December 2025 to 63 percent in July 2026; POLITICO and E&amp;E News from 28 percent in January 2026 to 41 percent in July 2026. A shaded band covers October 2025 to January 2026, the window of the operation's dated posts. The chart is badged as an assessment describing timing only.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Slope chart titled Same pollster, same question, asked twice, showing the share of Americans opposing a nearby data center. Embold Research for Heatmap goes from 42 percent in August 2025 to 71 percent in May 2026; Emerson College from 42 percent in December 2025 to 63 percent in July 2026; POLITICO and E&amp;E News from 28 percent in January 2026 to 41 percent in July 2026. A shaded band covers October 2025 to January 2026, the window of the operation's dated posts. The chart is badged as an assessment describing timing only." title="Slope chart titled Same pollster, same question, asked twice, showing the share of Americans opposing a nearby data center. Embold Research for Heatmap goes from 42 percent in August 2025 to 71 percent in May 2026; Emerson College from 42 percent in December 2025 to 63 percent in July 2026; POLITICO and E&amp;E News from 28 percent in January 2026 to 41 percent in July 2026. A shaded band covers October 2025 to January 2026, the window of the operation's dated posts. The chart is badged as an assessment describing timing only." srcset="https://substackcdn.com/image/fetch/$s_!f86W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb492201d-d080-41ef-94f9-a00ccfd20ea5_1600x840.png 424w, https://substackcdn.com/image/fetch/$s_!f86W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb492201d-d080-41ef-94f9-a00ccfd20ea5_1600x840.png 848w, https://substackcdn.com/image/fetch/$s_!f86W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb492201d-d080-41ef-94f9-a00ccfd20ea5_1600x840.png 1272w, https://substackcdn.com/image/fetch/$s_!f86W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb492201d-d080-41ef-94f9-a00ccfd20ea5_1600x840.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Caption: Each line is one pollster asking its own question twice; the shaded band is when the operation&#8217;s dated posts ran, and the chart describes timing only. The American popular sentiment really did change.</p><h2>The grievance of the power bill</h2><p><strong>Power is genuinely really expensive now.</strong> PJM operates the grid across thirteen states and the District of Columbia. They&#8217;re the largest American grid. Its capacity auction cleared at $28.92 per megawatt-day for the 2024/25 delivery year and $329.17 for 2026/27. That&#8217;s a roughly 11x increase in two years, and it has held around that price for three consecutive auctions. The average US residential electricity price is up 46 percent since January 2021. At least 176 local siting fights are documented since late 2022, in 35 states. Things have changed.</p><p><strong>An independent measurement of the data-center share.</strong> Monitoring Analytics is PJM&#8217;s independent market monitor (they police the market). It re-ran the 2025/26 auction with data-center load removed from the peak load forecast and they held everything else the same. Auction revenue comes out 63.5 percent lower. Its stated conclusion goes further than mine: data-center load growth is &#8220;the primary reason&#8221; for recent capacity market conditions, including the high prices. So sayeth the market&#8217;s own referee. Capacity is one line item on a bill that averages about $1,806 a year nationally. That line item runs about $211 a year for a PJM household, and in the monitor&#8217;s re-run it comes out about $133 lower.</p><p><strong>Count the official foreign government channels.</strong> The press coverage has leaned on a vendor&#8217;s count of roughly 700 data-center mentions across Chinese, Russian and Iranian official state media in the first half of 2026. If I reproduce the method in the same time window I find 1,391 pieces that mention a data center. Of those, 418 have data centers as their subject, 108 of those mention the United States, and 25 are specifically critical of the American data center buildout. The official Chinese publications have 216 pieces that promote China&#8217;s own buildout vs. 12 against the American buildout. No country&#8217;s official publications reached more people than usual based on the counters their platforms exported: the flagship Russian Telegram channel&#8217;s data-center posts didn&#8217;t have more readers, the two big Chinese news portals drew almost no comments, and the Chinese state YouTube videos on the American buildout draw a median of 643 views. If a foreign influence operation falls in the forest, and no one is around to hear it, does it make a sound?</p><h2>The timeline</h2><p>I&#8217;m not seeing the effects I would expect from a successful foreign influence operation. So let&#8217;s pivot to trying to understand when things happened.</p><p><strong>The first letter came before the evidence.</strong> The first congressional letter alleging foreign involvement is dated June 4, 2026. The first public evidence was published by OpenAI on June 10th. The letter asking the Justice Department to open an investigation is dated that same June 10th. It cites: an article by a Bitcoin policy think tank and a New York Times story from 2023. The reporters who covered these letters printed the caveat that there was no direct evidence. The letters did not.</p><p><strong>The evidence arrived but the claims did not change.</strong> That is the test worth applying to any belief: when the facts finally show up, does what people say change? Forensic evidence of the Chinese influence operation existed on 10 June. Eight of the twelve distinct allegation events came afterwards, and six of those eight do not cite OpenAI&#8217;s analysis. Across all sixteen instances the record holds 43 citations. Ten cite a domestic advocacy report, and another ten do not cite anything. One member pointed to a classified briefing, which nobody outside a secure room can inspect. The chairman of the House&#8217;s China committee wrote on the day the forensics appeared, cited them, quoted their finding of no authentic engagement, and declined to say the movement was manufactured. That is what contact with the evidence looked like: a narrower claim than the one everyone else was making. The rest said the same thing after the evidence that they had said before it. A belief that does not move when the evidence lands is really about something else.</p><p><strong>The parties agree.</strong> A Senate investigations subcommittee inquiry into data-center costs and grid strain that runs about 200 pages of letters containing zero occurrences of &#8220;foreign,&#8221; &#8220;China&#8221; or &#8220;influence campaign.&#8221; The allegation was also contested on the spot, in the same committee markup that carried its strongest assertion: the panel&#8217;s ranking member said of the towns in his own district that had rejected or paused data centers, &#8220;They are not being influenced by China and Russia... This is coming from the people themselves... This is not Beijing.&#8221; And the polling above says the grievance itself belongs to both parties.</p><p><strong>Nothing here is unusual.</strong> A second advocacy push ran the same month from data-center industry trade groups by press accounts at the time. Secondhand sourcing dressed as independent corroboration is ordinary practice in this town. I keep running into a building echo effect between the policy community and the press that I need to figure out how to measure; or a control case so I can measure the contrast. Until then, what I can show is what this particular flow of Chinese influence operations against American data center claims rested on and what happened to it in transit: the confidence rose at every hop and the caveats fell off. That&#8217;s Washington. It&#8217;s effectively a domestic influence operation.</p><p><strong>The most prominent public version was withdrawn on air.</strong> Beginning on May 11th, 2026, a developer asserted that opponents of his Utah project had ties to the Chinese government. He is being sued, and the court complaint counts at least ten media appearances. On June 25th he posted that he had no evidence for it, and he said it on three platforms at once. On June 26th Fox stated on air that it is &#8220;aware of no evidence&#8221; and that &#8220;Fox News Media apologizes for the error.&#8221; That is where the strongest public version of this belief currently stands: retracted by its speaker, apologized for by its broadcaster, and in litigation.</p><h2>The other half of the problem</h2><p>First, between January 2025 and March 2026 the United States shut down or let go dark five of the organizations whose job it was to detect, prove, and mitigate an operation like this one: the FBI&#8217;s Foreign Influence Task Force, CISA&#8217;s disinformation teams, the State Department&#8217;s Global Engagement Center, ODNI&#8217;s Foreign Malign Influence Center, and the China malign-influence section of the Annual Threat Assessment itself. There could be evidence that would fully support the claims that foreign governments are behind the data-center discontent.</p><p>Second, the crowd sourced analysis cannot see this content. I ran my own template-reuse detector against the recovered Chinese operation&#8217;s posts. It matched none of them: zero of 91 pairs cleared my bar. That is a measured power result on ground truth, and it generalizes: coordination detectors built for the copy-paste era cannot see machine-written text. My blind instrument is everyone&#8217;s blind instrument. I need a lot more data and would need to build an LLM-based detector. That&#8217;s something we&#8217;re better off tasking a government agency to do (or outsource) using classified tippers about the influence operations&#8217; content to provide a lot more ground truth training data.</p><p>Third, without being able to issue NSLs I could not measure the surfaces that matter. I could not see X, where 54 of the operation&#8217;s 62 artifacts lived. I could not see TikTok. I could go on. And the public record now holds two statements that cannot be reconciled from outside: on 20 July 2026 a member told a committee markup to &#8220;go to a SCIF, get a classified briefing on this. It is very eye-opening.&#8221; So we have a strong indication that there are things worth measuring, there are no longer government organizations chartered with it, and the platforms do not support crowd-sourced evidence collection. The EU is attempting to fix this at least with X and researcher access; time will tell if it works.</p><h2>Best Arguments Against This</h2><p>An influence operation designed to stay hidden would not be in my evidence if I don&#8217;t have bulk access to the social media platforms. Let&#8217;s be even more uncharitable. I measured the Chinese influence operation that got caught and detection selects for incompetence. I agree. A hidden amplifier of a real grievance is a live possibility. The data shows the grievance was not manufactured by a foreign influence operation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RKJ4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23ad7815-522a-4c67-9b6d-4c2e4c35d94b_1600x978.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RKJ4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23ad7815-522a-4c67-9b6d-4c2e4c35d94b_1600x978.png 424w, https://substackcdn.com/image/fetch/$s_!RKJ4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23ad7815-522a-4c67-9b6d-4c2e4c35d94b_1600x978.png 848w, https://substackcdn.com/image/fetch/$s_!RKJ4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23ad7815-522a-4c67-9b6d-4c2e4c35d94b_1600x978.png 1272w, https://substackcdn.com/image/fetch/$s_!RKJ4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23ad7815-522a-4c67-9b6d-4c2e4c35d94b_1600x978.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RKJ4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23ad7815-522a-4c67-9b6d-4c2e4c35d94b_1600x978.png" width="1456" height="890" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/23ad7815-522a-4c67-9b6d-4c2e4c35d94b_1600x978.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:890,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Line chart on a logarithmic scale titled The reach the shift would have required, against the reach the operation had. A rising blue curve shows the number of Americans any operation would have to persuade to account for an opinion shift of a given size, from a few thousand at the left to about 92 million at a shift of 35 percentage points. A shaded band marks the 19 to 31 point shift Americans actually showed, and three markers sit on the curve where each pollster pair lands: POLITICO and E and E News at 13 points or 34 million people, Emerson College at 21 points or 55 million, Embold Research for Heatmap at 29 points or 76 million. Three flat orange lines far below show what the documented operation could deliver: 3,213 people at its measured reach, 321,300 in a generous scenario, and a dashed line at 32,130,000 labelled BOUNDARY CONDITION NOT A SCENARIO and HYPOTHETICAL. A vertical arrow marks the gap at the midpoint of the range, about 204 times short.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Line chart on a logarithmic scale titled The reach the shift would have required, against the reach the operation had. A rising blue curve shows the number of Americans any operation would have to persuade to account for an opinion shift of a given size, from a few thousand at the left to about 92 million at a shift of 35 percentage points. A shaded band marks the 19 to 31 point shift Americans actually showed, and three markers sit on the curve where each pollster pair lands: POLITICO and E and E News at 13 points or 34 million people, Emerson College at 21 points or 55 million, Embold Research for Heatmap at 29 points or 76 million. Three flat orange lines far below show what the documented operation could deliver: 3,213 people at its measured reach, 321,300 in a generous scenario, and a dashed line at 32,130,000 labelled BOUNDARY CONDITION NOT A SCENARIO and HYPOTHETICAL. A vertical arrow marks the gap at the midpoint of the range, about 204 times short." title="Line chart on a logarithmic scale titled The reach the shift would have required, against the reach the operation had. A rising blue curve shows the number of Americans any operation would have to persuade to account for an opinion shift of a given size, from a few thousand at the left to about 92 million at a shift of 35 percentage points. A shaded band marks the 19 to 31 point shift Americans actually showed, and three markers sit on the curve where each pollster pair lands: POLITICO and E and E News at 13 points or 34 million people, Emerson College at 21 points or 55 million, Embold Research for Heatmap at 29 points or 76 million. Three flat orange lines far below show what the documented operation could deliver: 3,213 people at its measured reach, 321,300 in a generous scenario, and a dashed line at 32,130,000 labelled BOUNDARY CONDITION NOT A SCENARIO and HYPOTHETICAL. A vertical arrow marks the gap at the midpoint of the range, about 204 times short." srcset="https://substackcdn.com/image/fetch/$s_!RKJ4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23ad7815-522a-4c67-9b6d-4c2e4c35d94b_1600x978.png 424w, https://substackcdn.com/image/fetch/$s_!RKJ4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23ad7815-522a-4c67-9b6d-4c2e4c35d94b_1600x978.png 848w, https://substackcdn.com/image/fetch/$s_!RKJ4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23ad7815-522a-4c67-9b6d-4c2e4c35d94b_1600x978.png 1272w, https://substackcdn.com/image/fetch/$s_!RKJ4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23ad7815-522a-4c67-9b6d-4c2e4c35d94b_1600x978.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Caption: The blue curve is what any operation would have to persuade, hidden or documented, for a shift of a given size. The orange lines are what the one that got caught could deliver: 3,213 people at its measured reach, 321,300 crediting every account with a thousand impressions a day for nine months. The dashed line is a boundary condition rather than an estimate, and it holds only if every account reached a major news site&#8217;s daily audience every day for nine months. Note what this figure does not do: the blue curve is indifferent to who is doing the persuading, so a larger undetected operation is not ruled out here. It is ruled out, if at all, by the missing trail.</p><p>What would change my conclusions, dated and checkable:</p><ol><li><p>X Corp&#8217;s records on the suspended accounts. If they show a network orders of magnitude beyond the 119-account estimate published in June 2026, or organic provenance and onward transmission behind the 89,000-view post, the arithmetic recomputation will be large.</p></li><li><p>Meta&#8217;s records on the state-themed page network. If an operator or client bought reach for the on-topic pages at material US volume, the unmeasured band closes in the direction that I could not close.</p></li><li><p>OpenAI&#8217;s account count and selection criteria. If the fifteen published posts are the low tail rather than typical, the reach figures here are going to be way off.</p></li><li><p>A (declassified) intelligence product. If the classified briefing invoked on 20 July 2026 contains an attribution with <strong>measured reach</strong> then this piece is overtaken. Just because China ran a foreign influence operation does not mean they caused the public discontent. The reach I measured was miniscule.</p></li></ol><h2>The shape of the thing</h2><p>Hold three facts at once and the story tells itself:</p><ol><li><p>A real American grievance about electricity costs and polling as a majority in both parties.</p></li><li><p>A real foreign influence operation, caught, published, and measured as completely ineffective.</p></li><li><p>And between them a belief that travelled from a news article, to an advocacy report, to official Government statements in weeks. It gained authority at every hop, and it shed the caveats that every reporter who covered it kept.</p></li></ol><p>A former ODNI official who tracked foreign influence efforts described this in one sentence to the New York Times in July: foreign actors &#8220;aren&#8217;t manufacturing American debates over the future of A.I., they are exploiting them.&#8221; Exploiting and amplifying a debate is the effective influence playbook. The data shows the growth in that sentiment was orders of magnitude larger than the foreign amplification anyone has documented.</p>]]></content:encoded></item><item><title><![CDATA[What If China Is Telling the Truth?]]></title><description><![CDATA[Decades of business decisions and national policy based around the popular acceptance of &#8220;China Lies&#8221;]]></description><link>https://www.mfrantzen.com/p/what-if-china-is-telling-the-truth</link><guid isPermaLink="false">https://www.mfrantzen.com/p/what-if-china-is-telling-the-truth</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Wed, 05 Aug 2026 12:03:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qQHY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa437ab01-f02c-41ae-b7b7-d7ce89e4b664_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hear me out. We all know that China lies about their statistics: they lie that their GDP is growing faster than it is, they lie that their population is larger than it is, they lie that the real estate market (their retirement savings) is doing better than it is. We all know it. We all say it. But what if they&#8217;re telling the truth? Would we have been making bad business decisions and national policy? You should answer that question to yourself before you read further.</p><h2><strong>Bottom Line Up Front</strong></h2><p>I set out to validate what I &#8220;knew&#8221; about Chinese policy. Trust but verify. So I used ancillary data sources to create independent buildups of Chinese statistics. Even if China lies, they&#8217;re not going to be able to cook the books of all of their trading partners, the satellites, and the many minor bureaucracies.</p><p>I&#8217;ll come right out and say it: China does not fabricate its topline national statistics. I was wrong. I apologize for contributing to the echo chamber.</p><p>The cumulative overstatement of reported GDP growth from 2000 to 2019 is 0.07% measured against satellite nighttime lights and electricity consumption. If you want truth in statistics, the band is -0.5% to 0.6%. Over two decades. That&#8217;s not a lie.</p><p>The population count is accurate too. The viral claim that China overcounts its population by 130 million dies against the hardest independent count available: first-grade school enrollment. The school rolls land within about a million of the official birth series, and they run slightly high. Chinese local police register births and they published those numbers from 2019 before the publications were abruptly stopped after 2021. Those babies started in first grade in 2025. I made a testable hypothesis that the 2025 school enrollment numbers would match the 2019 birth numbers. If China is cooking their population statistics then they would have needed a grand conspiracy to cook the birth records of every local police station so they lined up with the school enrollment statistics five years later. China published their 2025 school enrollment numbers on July 6, 2026 and the 2025 first-grade class matches the 2019 births to within a percent. I predict the next two years of school registration records will match past birth reporting as well.</p><p>What Beijing manages is embarrassment. When a published statistical series turns embarrassing the series dies. Urban youth unemployment was suspended the month after it printed 21.3%. The national count of cremated remains stopped printing in the year my analysis puts about 1.35 million uncounted excess deaths against an official toll of 83,000. They lied, and then they just stopped saying anything. But their funeral homes trade association kept printing the number of cremation furnaces in the country so we can interpolate the death rate China stopped reporting.</p><p>The statistics on capital flight through underground banks (&#22320;&#19979;&#38065;&#24196;) published its last full-year national figure for 2016. And the 80+ million-judgment public court archive Beijing itself had built was gutted: the political charges scrubbed to zero in one quarter, at least 11 million records pulled, and the flow of new judgments finally diverted into a courts-only internal database.</p><p>Embarassing numbers are either hidden, or printed once and then hidden, or cooked once and then hidden. That sounds more like the challenge of managing a sprawling bureaucracy cleaning up embarrassments as soon as they notice, not a top-down grand conspiracy to cook the books.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qQHY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa437ab01-f02c-41ae-b7b7-d7ce89e4b664_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qQHY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa437ab01-f02c-41ae-b7b7-d7ce89e4b664_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!qQHY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa437ab01-f02c-41ae-b7b7-d7ce89e4b664_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!qQHY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa437ab01-f02c-41ae-b7b7-d7ce89e4b664_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!qQHY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa437ab01-f02c-41ae-b7b7-d7ce89e4b664_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qQHY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa437ab01-f02c-41ae-b7b7-d7ce89e4b664_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a437ab01-f02c-41ae-b7b7-d7ce89e4b664_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;What If China Is Telling the Truth? Four official Chinese series: GDP and births kept printing and match their independent reconstructions; cremations and youth unemployment stop at the bad number while the reconstruction continues.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="What If China Is Telling the Truth? Four official Chinese series: GDP and births kept printing and match their independent reconstructions; cremations and youth unemployment stop at the bad number while the reconstruction continues." title="What If China Is Telling the Truth? Four official Chinese series: GDP and births kept printing and match their independent reconstructions; cremations and youth unemployment stop at the bad number while the reconstruction continues." srcset="https://substackcdn.com/image/fetch/$s_!qQHY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa437ab01-f02c-41ae-b7b7-d7ce89e4b664_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!qQHY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa437ab01-f02c-41ae-b7b7-d7ce89e4b664_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!qQHY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa437ab01-f02c-41ae-b7b7-d7ce89e4b664_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!qQHY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa437ab01-f02c-41ae-b7b7-d7ce89e4b664_2400x1260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What to see: the last value each vanished series printed, and the date the printing stopped; each series shown here stopped while its number was getting worse.</p><p>The research data was current as of July 2026. One currency note: where yuan convert, I use a round 7 yuan to the dollar.</p><h2><strong>Where the assumption came from</strong></h2><p>I inherited the assumption that &#8220;China lies&#8221;, so let&#8217;s dig into the etymology behind that community consensus. In December 2010 WikiLeaks published a 2007 cable in which Li Keqiang, then a provincial party secretary, told the US ambassador that GDP figures were &#8220;man-made&#8221; and that he watched electricity, rail freight, and loan volume instead. The cable was about Liaoning, one rust-belt Chinese province. The wire coverage dropped that <em>provincial</em> qualifier within days. The Economist coined the &#8220;Li Keqiang index&#8221; the same week, and a remark about one province became a standing indictment of the Chinese economy and their national character. The confessions that followed seemed to settle it: Liaoning admitted padding its numbers in 2017, Inner Mongolia and Tianjin in 2018.</p><p>Now let&#8217;s look at the echo chamber. I coded eight years of Western press coverage of Chinese statistics, 966 titles. About 6% endorse the fraud narrative outright, 93% are neutral, and the number of rebuttals written by Westerners is zero. The only pushback in the entire pile came from Chinese state media and one aggregator relaying it. Even the Federal Reserve&#8217;s staff, who rebutted the fake-data reading inside both the 2015 and 2016 China-panic meetings of the FOMC (the Fed&#8217;s rate-setting committee), could not quiet the echo chamber.</p><p>So I checked, with three research projects and the general approach of never trusting a Chinese number I could not measure a second way: from orbit, from the electricity meter, from school enrollment tables, from foreign customs mirrors, and from almost a terabyte of court records Beijing published and later thought better of.</p><h2><strong>Spherical Sacred cow one: China fakes their GDP</strong></h2><p>Run the Li Keqiang method for real at China-scale and it exonerates the GDP statistics. Electricity consumption grew 7.34x from 2000 to 2023. Reported GDP grew 6.23x. Looking at the satellite imagery (from the birds whose sensors don&#8217;t saturate), from 2013 to 2023 the Chinese light emissions grew 1.99x against reported GDP&#8217;s 1.79x. The laws of physics do not participate in conspiracies.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vc7W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a9104c-0edc-4f2c-93bc-3122f092ff5e_1800x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vc7W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a9104c-0edc-4f2c-93bc-3122f092ff5e_1800x1000.png 424w, https://substackcdn.com/image/fetch/$s_!vc7W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a9104c-0edc-4f2c-93bc-3122f092ff5e_1800x1000.png 848w, https://substackcdn.com/image/fetch/$s_!vc7W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a9104c-0edc-4f2c-93bc-3122f092ff5e_1800x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!vc7W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a9104c-0edc-4f2c-93bc-3122f092ff5e_1800x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vc7W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a9104c-0edc-4f2c-93bc-3122f092ff5e_1800x1000.png" width="1456" height="809" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/44a9104c-0edc-4f2c-93bc-3122f092ff5e_1800x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:809,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Independent physical proxies vs reported GDP: electricity grew 7.34x against reported GDP 6.23x (2000-2023) and night-lights 1.99x against 1.79x (2013-2023); the proxy bar is taller in both pairs.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Independent physical proxies vs reported GDP: electricity grew 7.34x against reported GDP 6.23x (2000-2023) and night-lights 1.99x against 1.79x (2013-2023); the proxy bar is taller in both pairs." title="Independent physical proxies vs reported GDP: electricity grew 7.34x against reported GDP 6.23x (2000-2023) and night-lights 1.99x against 1.79x (2013-2023); the proxy bar is taller in both pairs." srcset="https://substackcdn.com/image/fetch/$s_!vc7W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a9104c-0edc-4f2c-93bc-3122f092ff5e_1800x1000.png 424w, https://substackcdn.com/image/fetch/$s_!vc7W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a9104c-0edc-4f2c-93bc-3122f092ff5e_1800x1000.png 848w, https://substackcdn.com/image/fetch/$s_!vc7W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a9104c-0edc-4f2c-93bc-3122f092ff5e_1800x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!vc7W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a9104c-0edc-4f2c-93bc-3122f092ff5e_1800x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What to see: each pair is an independent physical proxy next to reported GDP over the same window; the proxy bar is taller in every pair, meaning the physical economy outran the books.</p><p>The satellite work uses a harmonized nighttime-lights record, about 2.5 billion pixels a year across 237 countries and territories, so China is judged on the same calibration curve as everyone else. Autocracies as a class really do pad their growth statistics. But compare China&#8217;s light growth against the economic growth it reports and the padding estimate is about zero. And the most influential academic finding of large Chinese overstatement turns out to be substantially a sensor artifact: the older satellite fleet sensors saturate over bright cities, which hid 40% of China&#8217;s light growth. You can think of a physical sensor as an analog to digital converter. If it is an 8-bit sensor then the largest light reading is 255. If there are 256, 300, or 3000 <em>units</em> of light then the sensor still reads 255. That&#8217;s sensor saturation (and this might be the first time I used my electrical and computer engineering bachelor&#8217;s degree this year). Run the analysis on the saturating sensor and it reads like they overstate their GDP by 86%. Correct the saturation and it falls to 12%. The sensor lied, not the Chinese government.</p><p>If a satellite doesn&#8217;t convince you then German and Japanese customs officers might. Run the mirror-image test: take what China claims it exported and check it against what its trading partners&#8217; own customs bureaus counted coming off the ships. I pulled the IMF&#8217;s bilateral trade mirrors, both directions, 2000 through 2025. Two boring and one interesting accounting artifacts need to be stated first: imports are counted at the arrival price and exports at the dock price; freight and insurance add about 6%; and shipments routed through Hong Kong get attributed to China by the final importer. Math those out and for the two decades through 2019, China&#8217;s reported exports to the US, Japan, and Germany reconcile with what those three countries recorded receiving. If anything the Chinese figures run a bit low. China is not lying about its export economics. Caveat lector: The US/China mirror does crack in 2020 with China reporting more than Washington counts. I assume, but have not verified, that the split was evading tariffs by cross-shipping through other countries.</p><p>The trade mirror did catch one big Chinese lie but it wasn&#8217;t the government&#8217;s lie. In 2013 China reported $148 billion more in exports to Hong Kong than Hong Kong reported receiving. That&#8217;s a 62% overstatement. Those were phantom invoices smuggling hot money into the country disguised as export earnings, evading the capital controls worth about 1% of GDP at its peak. China&#8217;s foreign-exchange regulator issued a circular in May 2013 aimed squarely at over-invoiced exports to Hong Kong, and by 2016 the overstatement had collapsed to 24%. This lie is about capital flight, not inflating GDP or export numbers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5vcv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0530a4d0-1b8c-4a58-9d1c-230c8ae09843_1800x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5vcv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0530a4d0-1b8c-4a58-9d1c-230c8ae09843_1800x1000.png 424w, https://substackcdn.com/image/fetch/$s_!5vcv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0530a4d0-1b8c-4a58-9d1c-230c8ae09843_1800x1000.png 848w, https://substackcdn.com/image/fetch/$s_!5vcv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0530a4d0-1b8c-4a58-9d1c-230c8ae09843_1800x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!5vcv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0530a4d0-1b8c-4a58-9d1c-230c8ae09843_1800x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5vcv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0530a4d0-1b8c-4a58-9d1c-230c8ae09843_1800x1000.png" width="1456" height="809" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0530a4d0-1b8c-4a58-9d1c-230c8ae09843_1800x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:809,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;China's exports reconcile with its partners' reported imports after the standard freight adjustment; Hong Kong is the lone outlier, a 2013 capital-flight over-invoicing episode that collapsed by 2016.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="China's exports reconcile with its partners' reported imports after the standard freight adjustment; Hong Kong is the lone outlier, a 2013 capital-flight over-invoicing episode that collapsed by 2016." title="China's exports reconcile with its partners' reported imports after the standard freight adjustment; Hong Kong is the lone outlier, a 2013 capital-flight over-invoicing episode that collapsed by 2016." srcset="https://substackcdn.com/image/fetch/$s_!5vcv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0530a4d0-1b8c-4a58-9d1c-230c8ae09843_1800x1000.png 424w, https://substackcdn.com/image/fetch/$s_!5vcv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0530a4d0-1b8c-4a58-9d1c-230c8ae09843_1800x1000.png 848w, https://substackcdn.com/image/fetch/$s_!5vcv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0530a4d0-1b8c-4a58-9d1c-230c8ae09843_1800x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!5vcv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0530a4d0-1b8c-4a58-9d1c-230c8ae09843_1800x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What to see: Hong Kong&#8217;s export gap (red) jumps to an impossible +63% in 2013, then collapses after Beijing&#8217;s crackdown; the US, Japan, and Germany band never breaks positive, which is what ordinary accounting looks like, not fabrication.</p><p>How Beijing actually manages its GDP data is shaving the peaks of good years to fill the holes of embarrassing bad years. The official growth series is about twice as smooth as the electricity underneath it: the year-to-year volatility of reported growth is about half that of the electricity, a volatility ratio of 1.98x (truth in statistics: the band 1.5x to 3.3x). In 2015, reported growth was 7.0% while electricity consumption grew 0.9%; there was a real downturn that year and the GDP data smoothed it away. The books also pass the boring forensic accounting: 1,023 province-year GDP figures conform to Benford&#8217;s digit distribution, and when I audited 596 figures across 98 statistical filings for unit errors, I found exactly one, a mistyped multiplier. I probably made more typos in this writeup than China did in their published data.</p><p>So the honest assessment is narrower than either the China hawks or Sinophiles might want: China&#8217;s published long-run growth trend is real to within a rounding error. The current growth rate might be smoothed today and sit a few percent high (my estimate is around 4% with the truth-in-statistics range 0% to 10%, but I would not bet on it), and the year-to-year path is smoothed to fill the embarrassing years by clipping the good years.</p><h2><strong>Spherical Sacred cow two: the population is padded</strong></h2><p>The popular western claim says China&#8217;s real population is 1.28 billion, not 1.41 billion, an overcount of 130 million. It went viral because it is checkable in principle. I repeated it without checking it. Let&#8217;s check it.</p><p>Children are the population cohort you can validate, because a baby who exists shows up at school a few years later. The state allocates real budget, and builds or shutters schools based on those numbers. I took first-grade entrants from the Ministry of Education, adjusted for mortality, and compared them with the official birth counts for the 1994 to 2010 birth cohorts. The schools enrolled 3.1% more children than the birth statistics said existed. Not fewer. More, which is what you would expect if <em>unplanned</em> births were hidden from the registrar and surfaced at school enrollment age. The 2020 census age structure agrees with both series within 1% to 7% for ages 5 through 14. And the UN&#8217;s own demographers put China&#8217;s population 15 million above the official census. The independent checks disagree with Beijing in both directions by a million-scale margin, which is what honest measurement error looks like. A 130-million-person hole is not there to find.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jS1f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b37cf8-f290-4248-b4d8-b72d304325ef_1800x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jS1f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b37cf8-f290-4248-b4d8-b72d304325ef_1800x1000.png 424w, https://substackcdn.com/image/fetch/$s_!jS1f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b37cf8-f290-4248-b4d8-b72d304325ef_1800x1000.png 848w, https://substackcdn.com/image/fetch/$s_!jS1f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b37cf8-f290-4248-b4d8-b72d304325ef_1800x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!jS1f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b37cf8-f290-4248-b4d8-b72d304325ef_1800x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jS1f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b37cf8-f290-4248-b4d8-b72d304325ef_1800x1000.png" width="1456" height="809" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52b37cf8-f290-4248-b4d8-b72d304325ef_1800x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:809,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Reported annual births vs the school-roll reconstruction: the reconstruction tracks births cohort by cohort and sits slightly above them, the wrong direction for an overcount. Births fell from 17.86M in 2016 to 9.02M in 2023.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Reported annual births vs the school-roll reconstruction: the reconstruction tracks births cohort by cohort and sits slightly above them, the wrong direction for an overcount. Births fell from 17.86M in 2016 to 9.02M in 2023." title="Reported annual births vs the school-roll reconstruction: the reconstruction tracks births cohort by cohort and sits slightly above them, the wrong direction for an overcount. Births fell from 17.86M in 2016 to 9.02M in 2023." srcset="https://substackcdn.com/image/fetch/$s_!jS1f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b37cf8-f290-4248-b4d8-b72d304325ef_1800x1000.png 424w, https://substackcdn.com/image/fetch/$s_!jS1f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b37cf8-f290-4248-b4d8-b72d304325ef_1800x1000.png 848w, https://substackcdn.com/image/fetch/$s_!jS1f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b37cf8-f290-4248-b4d8-b72d304325ef_1800x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!jS1f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52b37cf8-f290-4248-b4d8-b72d304325ef_1800x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What to see: survival-adjusted first-grade enrollment tracks the official birth series cohort by cohort, sitting slightly above it; an overcount would put enrollment far below the line.</p><p>That check was a prediction when I started this research, and it resolved while I procrastinated writing this up. Here is the setup. Local police stations register every newborn into the household system, and the Ministry of Public Security used to publish the annual counts: 11.79 million newborn registrations in 2019, 10.04 million in 2020, 8.87 million in 2021, then nothing, which by now you will recognize as the pattern. Police registration is a lower limit that runs about 80% to 84% of the official birth figure, because out-of-plan babies register late or never. So for the children born around 2019, three bureaucracies that cannot coordinate a lie (and the national bureaucracies distrust every number the locals produce anyway) each produced a number: a police number of 11.79 million birth registrations, the statistics bureau&#8217;s count of 14.65 million births where they correct for their distrust of the provincial numbers, and the Ministry of Education&#8217;s tally of the same cohort walking into first grade in the autumn of 2025. The first two were locked into the public record years before the third existed.</p><p>In July 2026 the education ministry published its number of 14.62 million first graders, against the 14.65 million births published in 2019. It sits well above the police&#8217;s birth count, which is exactly where the late registrations should surface. And the intake fell about 9.6% from 2024&#8217;s, tracking the real birth decline from 2018 into 2019. For China to be faking its population statistics today, its local police stations and national statistics bureau would have had to fake their birth registrations years ago, in a way that happened to line up with a school enrollment count the education ministry only published in 2026. And we can compare the police undercount rate of out-of-plan babies for the next two years. That is not cooking the books. That is time travel.</p><p>The real demographic story needed no fabrication to be terrifying, and Beijing published it on schedule, every year: births fell from 17.86 million in 2016 to 9.02 million in 2023. Cut in half in seven years. Fertility is at about one child per woman. They&#8217;ve already gone off the demographic decline cliff. And they&#8217;re publicly narrating the fall on their way down.</p><h2><strong>The tell: the errors only run one way</strong></h2><p>Here is the pattern that helped me reframe how I think of China. I took the impressive claims that a lying autocratic regime would inflate, and tested six of them against independent data: all six were confirmed or exceeded. The cleanest case is solar power, where independent measurement finds about 1.2 times the officially claimed capacity. China under-reports one of its flagship green and energy-security achievements.</p><p>A country that fabricated numbers would fabricate in both directions, burying failures and pumping triumphs. China&#8217;s misreporting is one-directional. The good news is real, even understated. The bad news is real too, right up until they stop reporting it.</p><h2><strong>What actually gets deleted</strong></h2><p>Because the toplines are honest, the deletions are legible. You can see exactly what goes missing, and it is not what a crude propaganda model predicts. Beijing kept publishing its foreign-exchange reserves through a trillion-dollar drawdown. It publishes the errors-and-omissions residual that betrays capital flight. It published the 2023 population decline and the worst GDP miss in decades. What dies is different: a series dies when it is embarrassing and outside analysts could decompose it into who and how bad.</p><p>I have been aggregating, translating, extracting and analyzing public data from <strong>a lot</strong> of Chinese bureaus for the last few weeks. Part of that was analyzing every official statistic, linking them across natural bureaucratic changes and reorganizations, and identifying when a statistical series stopped being reported. There were 28 of them. Twenty-three of them died between 2021 and 2025. Eighteen were deteriorating at the moment of the cut and only four improving. Of those, there were six natural experiments where a bureaucracy published two related series where one was flattering and one was embarrassing. In all six cases, the bureaucracy killed the embarrassing series while continuing to print the flattering one. For example, the Ministry of Finance killed the communiqu&#233; itemizing how land-sale money was spent after the 2015 edition; but they kept printing the land-revenue side. The count of cremated remains vanished during Covid; but the (increasing) count of cremation furnaces did not, presumably because it showed a growing industry. Second, the timing: the embarrassing statistics die in a cluster after 2021. I can&#8217;t tell if that&#8217;s related to the Covid unrest, Xi&#8217;s election to a third term, or something else.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0YSt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca17bd-7b97-488d-ab33-18b2bb3db3a6_1800x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0YSt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca17bd-7b97-488d-ab33-18b2bb3db3a6_1800x1000.png 424w, https://substackcdn.com/image/fetch/$s_!0YSt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca17bd-7b97-488d-ab33-18b2bb3db3a6_1800x1000.png 848w, https://substackcdn.com/image/fetch/$s_!0YSt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca17bd-7b97-488d-ab33-18b2bb3db3a6_1800x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!0YSt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca17bd-7b97-488d-ab33-18b2bb3db3a6_1800x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0YSt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca17bd-7b97-488d-ab33-18b2bb3db3a6_1800x1000.png" width="1456" height="809" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5ca17bd-7b97-488d-ab33-18b2bb3db3a6_1800x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:809,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The register of 28 terminated official statistical series, plotted by the year publication stopped: 23 of the 28 die in 2021-2025, the post-2021 pile-up.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The register of 28 terminated official statistical series, plotted by the year publication stopped: 23 of the 28 die in 2021-2025, the post-2021 pile-up." title="The register of 28 terminated official statistical series, plotted by the year publication stopped: 23 of the 28 die in 2021-2025, the post-2021 pile-up." srcset="https://substackcdn.com/image/fetch/$s_!0YSt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca17bd-7b97-488d-ab33-18b2bb3db3a6_1800x1000.png 424w, https://substackcdn.com/image/fetch/$s_!0YSt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca17bd-7b97-488d-ab33-18b2bb3db3a6_1800x1000.png 848w, https://substackcdn.com/image/fetch/$s_!0YSt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca17bd-7b97-488d-ab33-18b2bb3db3a6_1800x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!0YSt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5ca17bd-7b97-488d-ab33-18b2bb3db3a6_1800x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What to see: each marker is an official series at the year its publication stopped; the pile-up after 2021 is the phase change.</p><p>Let&#8217;s draw the shape of four statistics&#8217; corpses on the floor where they died:</p><p><strong>1. The labor number.</strong> Urban youth unemployment was reported at a record 21.3% in June 2023. In August the National Bureau of Statistics suspended the series. It returned months later with a new definition that excludes students, which mechanically lowers it. The old series was never resumed.</p><p><strong>2. The bodies.</strong> The Ministry of Civil Affairs published the national count of cremated remains every year: 5.23 million in 2019, 5.56 million in 2020, 5.97 million in 2021. Then the December 2022 reopening Covid-19 wave hit, and that annual statistic simply stopped being reported. The adjacent mortuary statistics, including furnace counts, kept rising and kept printing. Project the cremations and furnace numbers forward from the three quarters of 2022 that China had already printed, plus one province&#8217;s count that was posted and then scrubbed (oops), and you get roughly 6.96 million cremations in 2022. My excess-death estimate for the Covid-19 wave is about 1.35 million (truth in statistics: 1.0 to 1.7 million). The official toll was 83,000 in-hospital deaths. They did not publish a false death count. They stopped publishing the true one.</p><p><strong>3. The money gauge.</strong> Between 2015 and 2018 about a trillion dollars in gray outflows left China (my best estimate is $1.03 trillion, the truth-in-statistics range is 0.8t to 1.25t). A major channel was underground banks, the brokers who take someone&#8217;s yuan in Shenzhen and hand his cousin dollars in Vancouver. The state published an annual national figure for capital flight through busted underground banks. The last full-year figure covered 2016: more than 900 billion yuan in gross turnover, call it $130 billion USD. A partial figure appeared for 2017. From 2018, nothing, and 2018 is exactly where the activity it measured peaks when I rebuilt by translating and extracting data from all of their court records. The regulator&#8217;s annual reports still itemize enforcement case counts and fines, so the flattering law-enforcement statistics continue. But the embarrassing number has disappeared.</p><p><strong>4. The courtroom record.</strong> China ran the China Judgements Online (CJO) which was the largest open judicial database on earth. I&#8217;m honestly impressed at the sheer quantity and quality of societal transparency. And then they hollowed it out. In the second quarter of 2021 the political charges started vanishing: in January 2021, 16.9 of every 10,000 published judgments were &#8220;picking quarrels and provoking trouble&#8221; cases, the catch-all charge used on protesters. By July, effectively zero. The scrub was national and uniform, and it was selective: corruption verdicts stayed up, repression came down. Outside trackers (the Dui Hua Foundation, Radio Free Asia) and a Supreme People&#8217;s Court admission bracket the same window. In January 2024 new judgments began flowing to a courts-only internal database; the public feed, already throttled since mid-2021, shrank toward a trickle. I can reconstruct all of this because the corpus was copied outside the wall before the purge: 84.5 million full-text judgments, 1985 through 2021, a public archive China built and then gutted. The archive lets you measure, independently of anything Beijing chooses to print, numbers like a criminal acquittal rate of 0.036% across 1.6 million cases. I have some other publications queued about some discoveries pulled out of their court records.</p><h2><strong>The leaning tower of corrections</strong></h2><p>Deleting public data is a loud instrument of national policy. Revising published statistics is much quieter. I built a ledger of 965 restatements of already-published figures across 11 Chinese statistical publishers; 755 of them were made silently without footnote or acknowledgment. Most revisions are innocent data maturation where they actually <em>lean</em> against the state&#8217;s preferred story 59% of the time. But restatements that <em>flip</em> the direction of a published story favor the state in 26 of 32 instances. The odds of that being random are about five in ten thousand.</p><p>My cherry picked amusing example is that if you added up provincial GDP then it was 6.9% higher than the published national GDP through 2015. That is one of the smoking guns people cite for China lying about their GDP. The 2019 accounting reform retroactively revised it out of the back-series; in today&#8217;s data the provinces sum below the national total, and the red flag has been edited out of history. The strongest evidence that China provinces once embarrasingly padded numbers was itself quietly disappeared. And fixed.</p><h2><strong>How I am adjusting my grand strategy</strong></h2><p>I am rebuilding my mental model of China around three operating rules. This is the part I expect to argue about.</p><p><strong>1. They don&#8217;t outright lie, but they may smooth the good and the bad.</strong> For levels and long trends, Chinese official statistics should be taken roughly at face value because they survive every independent physical cross-check I could build. They&#8217;re telling the truth. Analysts who automatically discount Chinese data by 20% or 30% are making a measurable error in the wrong direction; it would be more accurate to assume their numbers are conservative and round them up. Some residual distrust is earned since the number series is twice as smooth as the economy under it so official data will confirm a Chinese recession only after it is too large to smooth with the banked under-reported good years. Use official numbers for magnitude, and use physical proxies to catch the downturns below the smoothing.</p><p><strong>2. Key in on dying series.</strong> Stopping the reporting of a national statistic is a deliberate act of the state, and it carries a date. It points at what the leadership fears with better precision than any think-tank estimate of Chinese anxieties. Youth unemployment dying at 21.3% told you the leadership judged the labor market unfixable on any acceptable schedule. The underground-bank gauge dying after the state declared they had contained capital flight told you it was not contained. The court scrub in Q2 2021 told you repression volume had become a political liability worthy of a nationwide operation that undid their previous unprecedented transparency to combat judicial corruption. A disappearing national statistic immediately tells you where to focus your analytic efforts.</p><p><strong>3. Collect and archive quickly.</strong> I&#8217;m honestly impressed with how transparent the Chinese government can be about some things. They publish a lot of information and you can translate it with an LLM. But their concealment is forward-looking: series stop, uploads end, and definitions change. Every deletion in this research was reconstructed because a copy existed outside the great firewall when the deleting started: a mirrored court corpus, a quarterly body count they killed three quarters too late, a vintage yearbook. The provincial-GDP episode shows they have learned to rewrite back-series. If you care about detecting deleted data, and extracting strategic or tactical insights, then you need to mirror the data before it is revised or deleted. I have been collecting <strong>a lot</strong> of published data these last few weeks.</p><h2><strong>Best Arguments Against This</strong></h2><p>The strongest argument against this piece is the form of survivorship bias that I could only compare China&#8217;s national statistics against other data that I could see. Lights, electricity, and trading partners&#8217; import records can verify the physical economy. I could not independently measure the deflator (kinda an economist&#8217;s fudge factor) or the service sector. I estimate the current GDP numbers are about 4% high today with a truth-in-statistics range of 0% to 10%; the numbers are plausible and unprovable. I mostly agree. They are smoothing these numbers over time. The long term topline numbers are honest. The peaks and valleys are deleted.</p><p>The second argument is that statistical agencies everywhere retire series, and a register of dead ones proves selection, not suppression. My case rests on a small sample size. In the six natural experiments where a bureau published dual series where one was embarrassing, and one was favorable, they deleted the embarrassing one in all six instances. It&#8217;s not a smoking six-shooter. But it is smoking.</p><p>What would change my mind, with dates attached: if reported GDP growth and the electricity-and-lights pair diverge by more than about two percentage points cumulatively over 2024 through 2027, then the honesty baseline is breaking. If the 2030 census counts child cohorts more than 10 million away from the school-roll reconstruction, or the 2026 or 2027 school-roll numbers diverge materially from the two further years of local police station birth registrations then the population debunk fails. If the statistics bureau restores the original-definition youth unemployment series with backfilled data, the way the Gini coefficient came back in 2013, I will downgrade deletion from a terminal signal to a pause. And if vanished series start being scrubbed from internet archives retroactively at scale, the forward-only model is dead and the mirror-everything strategy has an expiration date.</p><p>The numbers were never the lie. The silence is.</p><h2><strong>A note on method and AI use</strong></h2><p>I orchestrated AI agents across three research programs for the analysis behind this piece. The hypotheses and the conclusions are 100% mine. The data included a satellite record of the planet&#8217;s nights at about 2.5 billion pixels a year, the Ministry of Education&#8217;s enrollment tables, foreign-exchange and enforcement records, a hand-adjudicated ledger of 965 statistical restatements, a register of 28 terminated series with a per-row evidence trail, and a mirrored corpus of 84.5 million court judgments from the public archive China built and later gutted. Local models did the translation and bulk extraction. The agents did the reading. I did the thinking.</p>]]></content:encoded></item><item><title><![CDATA[China’s missing five-million-barrels of oil per day hides in two fat fingers]]></title><description><![CDATA[Conservation of mass, some basic accounting, and two bad numbers that built a mystery]]></description><link>https://www.mfrantzen.com/p/chinas-missing-five-million-barrels</link><guid isPermaLink="false">https://www.mfrantzen.com/p/chinas-missing-five-million-barrels</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Sat, 01 Aug 2026 03:03:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!v9z6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb3b54a-236e-44b7-a58c-bba882181975_1456x874.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The <a href="https://www.theatlantic.com/economy/2026/07/china-iran-usa-oil-prices/688086/">Atlantic published </a><strong><a href="https://www.theatlantic.com/economy/2026/07/china-iran-usa-oil-prices/688086/">The Great Chinese Oil Mystery</a></strong><a href="https://www.theatlantic.com/economy/2026/07/china-iran-usa-oil-prices/688086/"> </a><em><a href="https://www.theatlantic.com/economy/2026/07/china-iran-usa-oil-prices/688086/">America&#8217;s greatest rival is single-handedly averting a global energy crisis. No one knows how the country is doing it&#8212;or why</a>.</em> Since then, the policy sphere has been arguing about where five million barrels a day went. Let&#8217;s find it while I suppress flashbacks to almost getting run over in a deep hulled Alaskan fishing boat by a Chinese tanker accelerating before he had exited the Strait of Malacca on the way into the South China Sea.</p><h2>Bottom Line Up Front</h2><p>The five-million-barrel or two-million-barrel difference (depending which blog you read last) at the heart of the mystery is not there. The mystery is dispelled by correcting two mistaken numbers in the math, then calibrating the gains/losses of a production system against past years where we understand China&#8217;s oil flow. Then the crude that had to come out of storage is only about 33 million barrels total between March and June. If you like statistics, the 90% confidence interval is between 15 and 52 million barrels. That&#8217;s 0.27 million barrels a day, or three days of China&#8217;s normal imports. It easily fits inside China&#8217;s admitted underground storage caverns. There is no secret underground oil villain lair required. The mystery is 96% accounting artifacts, 4% mystery.</p><p>What China actually did was not a masterstroke. Its refiners lost money on $100 crude and stopped refining. Oil demand was already down about 10 percent year on year, and two decades of building oil reserves meant a modest release of strategic reserves covered the rest. The interesting question is not how Beijing hid 750 million barrels. It is what China demonstrates when it can go quiet for five months without visible strain and the west can&#8217;t figure out how or why.</p><p>The research data was current as of 30 July 2026.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v9z6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb3b54a-236e-44b7-a58c-bba882181975_1456x874.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v9z6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb3b54a-236e-44b7-a58c-bba882181975_1456x874.png 424w, https://substackcdn.com/image/fetch/$s_!v9z6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb3b54a-236e-44b7-a58c-bba882181975_1456x874.png 848w, https://substackcdn.com/image/fetch/$s_!v9z6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb3b54a-236e-44b7-a58c-bba882181975_1456x874.png 1272w, https://substackcdn.com/image/fetch/$s_!v9z6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb3b54a-236e-44b7-a58c-bba882181975_1456x874.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v9z6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb3b54a-236e-44b7-a58c-bba882181975_1456x874.png" width="1456" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fb3b54a-236e-44b7-a58c-bba882181975_1456x874.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The walk from the 750-million-barrel headline gap to the 33-million-barrel residual&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The walk from the 750-million-barrel headline gap to the 33-million-barrel residual" title="The walk from the 750-million-barrel headline gap to the 33-million-barrel residual" srcset="https://substackcdn.com/image/fetch/$s_!v9z6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb3b54a-236e-44b7-a58c-bba882181975_1456x874.png 424w, https://substackcdn.com/image/fetch/$s_!v9z6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb3b54a-236e-44b7-a58c-bba882181975_1456x874.png 848w, https://substackcdn.com/image/fetch/$s_!v9z6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb3b54a-236e-44b7-a58c-bba882181975_1456x874.png 1272w, https://substackcdn.com/image/fetch/$s_!v9z6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb3b54a-236e-44b7-a58c-bba882181975_1456x874.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Each step is a piece of the headline gap that turns out to be somewhere other than storage; what survives to the right is the crude that needs tanks nobody was watching.</figcaption></figure></div><p>Here is the walk through the oil without <em>too much</em> accounting talk.</p><h2>The two-million-barrel delta doesn&#8217;t math</h2><p>The Atlantic published its version of the puzzle on Wednesday and landed on secret oil reserves as the only explanation left, even as the analyst voicing that conclusion cautioned, &#8220;We have almost no evidence of it.&#8221; The same week, ChinaTalk ran an episode with Arnab Datta and Rory Johnston that got further on the crude ledger than anyone else had, and then stopped at an honest wall. Imports fell about five million barrels a day, refining runs fell about three, and that, in Johnston&#8217;s words, &#8220;leaves a two-million-barrel delta in crude. Where did it go? We don&#8217;t see it coming from visible commercial tanks.&#8221; Johnston drew the line himself: &#8220;That&#8217;s all we know for sure. Everything else is speculation.&#8221;</p><p>The skeptics have had the better math for a while. David Fickling argued in Bloomberg Opinion on June 18 that EVs, shifting petrochemical feedstock, export cuts, and ordinary stockpile management could cover the whole drop. What nobody has published is a number with a range of the hidden barrels.</p><p>Start with an arithmetic that the podcast states but could not resolve. A 2 million barrel a day crude shortfall sustained for roughly ninety days is about 180 million barrels. China&#8217;s official strategic petroleum reserve figure is 131 million barrels across six underground caverns. Closing the gap means draining the entire official SPR and then finding at least 50 million barrels more in facilities nobody has documented. That&#8217;s the tension.</p><p>There is a simpler answer: the numbers used to calculate the 2 million barrels a day shortfall were wrong. The baseline has a transcription error, one widely quoted peak is a year out of date, and the accounting was never calibrated. Each of those is checkable, so let&#8217;s check them.</p><h2>The books must balance</h2><p>If you&#8217;re allergic to accounting then skip these three paragraphs. The summary is that oil is a &#8220;thing&#8221; and you need to calculate how much is moving through the pipelines and refineries, is burned to power the refineries, and how efficient refineries can produce more barrels of processed oil than they took in. If you ever want to be a CEO then stop worrying and learn to love the accounting. </p><p>China&#8217;s crude system must balance simple math: imports + domestic production = refinery runs + the net change in stocks + a bias we&#8217;ll calibrate in a moment. Oil is a real commodity, barrels do not vanish or appear despite what futures contracts may say. Every term but the bias is directly observable somewhere: monthly import tonnages published by the General Administration of Customs (GACC, &#28023;&#20851;&#24635;&#32626;), production and refinery throughput from the National Bureau of Statistics (NBS, &#22269;&#23478;&#32479;&#35745;&#23616;), and residual movements around the system. They&#8217;re all checked against Kpler&#8217;s satellite tank monitoring and the IEA&#8217;s Oil Market Report published at the time. China releases the numbers in tonnes and our math will use 7.3 barrels per tonne. For my fellow Americans, a tonne is the metric unit for 1,000kg.</p><p>We need to calibrate the bias to make this more than a back-of-the-envelope calculation. The bias is everything the simple math loses track of: unprocessed crude burned directly in power and industrial plants, gains and losses from refinery processing, and the oil moving through the pipelines and sitting at the bottom of tanks. Because the math simplifies a real system the imports + production will always exceed reported refinery runs. The excess looks like adding to the strategic petroleum reserves where it is just the cost of industrial production. You calculate it by running the same math on full calendar years where we know what really happened to Chinese oil. In 2024, the math implies China stockpiled 1.16 million barrels a day (mbd), but independent reporting saw only 84,000 barrels a day of buildup. Likewise the 2025 numbers indicate a 1.12 mbd surplus against a reported 0.43 mbd. The balance overstates the actual stockpiling of oil reserves by 0.69 to 1.07 mbd depending on the calibration year. For simple math we&#8217;ll call it 0.88 mbd of system bias but use the full range in our later simulations. Skip the step that approximates the reality of a physical production system and your math invents phantom barrels of oil. The more precisely you can observe the Chinese oil import and production system, the more precisely you can derive the bias. One comfort: independent estimates of the 2025 stockpile build run higher than the reported 0.43 mbd, and a bigger real build means a smaller bias and a smaller pile of hidden barrels at the end. My calibration is the conservative choice.</p><p>There is still uncertainty in all this so every number then goes into a seeded 200,000-draw Monte Carlo as a range: monthly imports, runs, production, the bias, and the reported visible stockpile draws at plus or minus 20 percent. The Monte Carlo simulation will help us understand what the uncertainty does to the numbers. For the record, I trust the customs and NBS tonnages the most and the bias calibration the least, and I will show you exactly how much rides on that.</p><h2>Two numbers the debate is getting wrong</h2><p>Auditing the public record against the primary data turned up two material errors circulating, and both of them are part of the mystery oil.</p><p><strong>The 2025 baseline.</strong> China&#8217;s actual reported 2025 crude imports were 577.73 million tonnes, not the widely printed 557.73. It is a digit transposition, and it went out on the wire and into at least three outlets that I can show you. It&#8217;s off by 20 million tonnes or one fat finger.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!88LU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b17953f-82da-41eb-b4bf-6c1cdbd81444_1456x1525.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!88LU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b17953f-82da-41eb-b4bf-6c1cdbd81444_1456x1525.png 424w, https://substackcdn.com/image/fetch/$s_!88LU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b17953f-82da-41eb-b4bf-6c1cdbd81444_1456x1525.png 848w, https://substackcdn.com/image/fetch/$s_!88LU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b17953f-82da-41eb-b4bf-6c1cdbd81444_1456x1525.png 1272w, https://substackcdn.com/image/fetch/$s_!88LU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b17953f-82da-41eb-b4bf-6c1cdbd81444_1456x1525.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!88LU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b17953f-82da-41eb-b4bf-6c1cdbd81444_1456x1525.png" width="1456" height="1525" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b17953f-82da-41eb-b4bf-6c1cdbd81444_1456x1525.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1525,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Three outlets printing China's 2025 crude imports as 557.73 million tonnes, beside the daily rate and growth rate that only 577.73 satisfies&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three outlets printing China's 2025 crude imports as 557.73 million tonnes, beside the daily rate and growth rate that only 577.73 satisfies" title="Three outlets printing China's 2025 crude imports as 557.73 million tonnes, beside the daily rate and growth rate that only 577.73 satisfies" srcset="https://substackcdn.com/image/fetch/$s_!88LU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b17953f-82da-41eb-b4bf-6c1cdbd81444_1456x1525.png 424w, https://substackcdn.com/image/fetch/$s_!88LU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b17953f-82da-41eb-b4bf-6c1cdbd81444_1456x1525.png 848w, https://substackcdn.com/image/fetch/$s_!88LU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b17953f-82da-41eb-b4bf-6c1cdbd81444_1456x1525.png 1272w, https://substackcdn.com/image/fetch/$s_!88LU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b17953f-82da-41eb-b4bf-6c1cdbd81444_1456x1525.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The daily rate and the growth rate in the same sentence both require 577.73 million tonnes; 557.73 would be 11.15 million barrels a day and 0.8 percent growth, and no record at all.</figcaption></figure></div><p>Twenty million tonnes is 146 million barrels of 2025 imports, and the baseline is what every claim about a wartime cut is measured against. Get the baseline wrong and you mis-size the cut. Worse, the baseline is what calibrates the bias, and the Monte Carlo says the baseline import figure is the third-biggest driver of the final answer.</p><p><strong>The March peak.</strong> The other number is a 12.1 mbd Chinese import peak in March, which implies China surged buying into the war. Go looking for it and you will find it. It was published on April 15, 2025, and it describes March 2025. The details travel with it and are also 2025: imports 1.7 mbd above January and February, Iranian cargoes moving ahead of tighter US sanctions. I missed this one too on my first search through the public records.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xfdE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5f92c3-01e2-4ae5-b304-c95d03cd9aba_1456x1125.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xfdE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5f92c3-01e2-4ae5-b304-c95d03cd9aba_1456x1125.png 424w, https://substackcdn.com/image/fetch/$s_!xfdE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5f92c3-01e2-4ae5-b304-c95d03cd9aba_1456x1125.png 848w, https://substackcdn.com/image/fetch/$s_!xfdE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5f92c3-01e2-4ae5-b304-c95d03cd9aba_1456x1125.png 1272w, https://substackcdn.com/image/fetch/$s_!xfdE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5f92c3-01e2-4ae5-b304-c95d03cd9aba_1456x1125.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xfdE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5f92c3-01e2-4ae5-b304-c95d03cd9aba_1456x1125.png" width="1456" height="1125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc5f92c3-01e2-4ae5-b304-c95d03cd9aba_1456x1125.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1125,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The 12.1 million barrel a day March figure as originally published: an April 2025 dateline and March 2025 data&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The 12.1 million barrel a day March figure as originally published: an April 2025 dateline and March 2025 data" title="The 12.1 million barrel a day March figure as originally published: an April 2025 dateline and March 2025 data" srcset="https://substackcdn.com/image/fetch/$s_!xfdE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5f92c3-01e2-4ae5-b304-c95d03cd9aba_1456x1125.png 424w, https://substackcdn.com/image/fetch/$s_!xfdE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5f92c3-01e2-4ae5-b304-c95d03cd9aba_1456x1125.png 848w, https://substackcdn.com/image/fetch/$s_!xfdE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5f92c3-01e2-4ae5-b304-c95d03cd9aba_1456x1125.png 1272w, https://substackcdn.com/image/fetch/$s_!xfdE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc5f92c3-01e2-4ae5-b304-c95d03cd9aba_1456x1125.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The dateline and the number sit on the same page; the figure is real, the year is not the war year.</figcaption></figure></div><p>The March <strong>2026</strong> Chinese data shows 49.982 million tonnes, 11.77 mbd. The true peak came in the combined January-February window. Before the war. That discrepancy rewrites the entire narrative: the import surge was anticipatory stockpiling ahead of a potential war, and the market had already priced in a war premium of $11 per barrel before the kinetics happened.</p><h2>The cut was later, smaller, and shorter than the headline</h2><p>The five million barrels a day mystery shortfall goes away when you correct for the cascade of reporting errors it was built upon. Imports ran 11.77 mbd in March (remember, oil at-sea bought before the closure will still arrive), 9.36 in April, 7.77 in May, 7.12 in June. Refinery runs went 14.52, 13.30, 12.64, 12.47. Domestic production held between 4.37 and 4.49 the whole time.</p><p>The claimed 5 mbd shortfall compares the single worst month against the pre-war peak. Apply it across the war&#8217;s nearly five months and you get an implied 750 million barrels of missing oil. Compare that against the 2025 average, the March-through-June customs shortfall is 308 million barrels. That is an enormous cut. It is also less than half the implied headline. The difference is the largest single piece of the mystery: barrels that were never bought, from a cut that started six weeks later and ran shallower than advertised. Pick a higher baseline and the cut grows, but so does the pre-war stockpiling that stopped; the storage math lands in the same place.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VO04!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a286fc3-813d-4bf2-923b-c85fa8f99482_1456x1159.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VO04!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a286fc3-813d-4bf2-923b-c85fa8f99482_1456x1159.png 424w, https://substackcdn.com/image/fetch/$s_!VO04!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a286fc3-813d-4bf2-923b-c85fa8f99482_1456x1159.png 848w, https://substackcdn.com/image/fetch/$s_!VO04!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a286fc3-813d-4bf2-923b-c85fa8f99482_1456x1159.png 1272w, https://substackcdn.com/image/fetch/$s_!VO04!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a286fc3-813d-4bf2-923b-c85fa8f99482_1456x1159.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VO04!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a286fc3-813d-4bf2-923b-c85fa8f99482_1456x1159.png" width="1456" height="1159" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a286fc3-813d-4bf2-923b-c85fa8f99482_1456x1159.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1159,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Chinese crude imports and refinery runs against the Brent price path&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Chinese crude imports and refinery runs against the Brent price path" title="Chinese crude imports and refinery runs against the Brent price path" srcset="https://substackcdn.com/image/fetch/$s_!VO04!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a286fc3-813d-4bf2-923b-c85fa8f99482_1456x1159.png 424w, https://substackcdn.com/image/fetch/$s_!VO04!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a286fc3-813d-4bf2-923b-c85fa8f99482_1456x1159.png 848w, https://substackcdn.com/image/fetch/$s_!VO04!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a286fc3-813d-4bf2-923b-c85fa8f99482_1456x1159.png 1272w, https://substackcdn.com/image/fetch/$s_!VO04!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a286fc3-813d-4bf2-923b-c85fa8f99482_1456x1159.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Imports and runs fall together and late; the price path shows the war premium arriving before the cut did.</figcaption></figure></div><h2>Refineries did the work</h2><p>The podcast has this mechanism right, and the official data, published on normal schedule all through the war, says it louder than anyone has been willing to. Chinese refinery runs fell from a January-February average of 15.18 mbd to 12.47 in June, down 17.7 percent year on year in the June NBS release. That is the sharpest drop in the NBS monthly series, which goes back to 2000. Chinese apparent oil demand was down roughly 10 percent year on year by June. Careful: those are the same barrels viewed from two sides, so you never add them. But together they answer the podcast&#8217;s open question about how much of the run cut was economics rather than mystery.</p><p>Nearly all of it. Reuters reported on May 12 that Shandong&#8217;s independent &#8220;teapot&#8221; refiners were losing 500 to 600 yuan ($74 to $88) per tonne of crude processed, with average operating rates down to 50 percent from 55 percent in April. By late June, Bloomberg, citing JLC, had teapot run rates at 50.5 percent, the weakest since 2017. Refining $100 crude into a market that wanted 10 percent less of it destroyed money, so the refiners stopped.</p><p>The strongest evidence that this was economics rather than strategy: Beijing pushed against it. An April 2 directive told independent refiners to keep processing at close to two-year-average rates, and the state issued roughly 55 million tonnes of fresh import quotas to make that possible. The refiners cut anyway. A government running a demand-withdrawal masterstroke does not order its refiners to process more crude in the middle of it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6zSz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57846bf3-896a-4588-ae32-8cd59d9609b3_1456x1340.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6zSz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57846bf3-896a-4588-ae32-8cd59d9609b3_1456x1340.png 424w, https://substackcdn.com/image/fetch/$s_!6zSz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57846bf3-896a-4588-ae32-8cd59d9609b3_1456x1340.png 848w, https://substackcdn.com/image/fetch/$s_!6zSz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57846bf3-896a-4588-ae32-8cd59d9609b3_1456x1340.png 1272w, https://substackcdn.com/image/fetch/$s_!6zSz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57846bf3-896a-4588-ae32-8cd59d9609b3_1456x1340.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6zSz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57846bf3-896a-4588-ae32-8cd59d9609b3_1456x1340.png" width="1456" height="1340" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/57846bf3-896a-4588-ae32-8cd59d9609b3_1456x1340.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1340,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The monthly barrel balance, March through June 2026&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The monthly barrel balance, March through June 2026" title="The monthly barrel balance, March through June 2026" srcset="https://substackcdn.com/image/fetch/$s_!6zSz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57846bf3-896a-4588-ae32-8cd59d9609b3_1456x1340.png 424w, https://substackcdn.com/image/fetch/$s_!6zSz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57846bf3-896a-4588-ae32-8cd59d9609b3_1456x1340.png 848w, https://substackcdn.com/image/fetch/$s_!6zSz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57846bf3-896a-4588-ae32-8cd59d9609b3_1456x1340.png 1272w, https://substackcdn.com/image/fetch/$s_!6zSz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57846bf3-896a-4588-ae32-8cd59d9609b3_1456x1340.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">March is a build, not a draw; the draws only arrive in May and June, and they are modest.</figcaption></figure></div><h2>The tanks did not stay full</h2><p>The monthly leftovers from the balance tell a story nobody in the mystery debate has told. March was not a draw at all: it was a 54-million-barrel stock build, the pre-war purchases landing. April was still a small build, about 8 million barrels. The draws came in May, 18 million barrels, and June, 29 million. Add it up, March through June, and China&#8217;s implied stock change before the bias correction is a net build of about 14 million barrels. On primary data, China&#8217;s crude system did not hemorrhage stored oil during the war. It barely dipped into it.</p><p>Now compare that against what was publicly visible at the time. Kpler&#8217;s satellite monitoring reported a draw of roughly 19 million barrels from Chinese tanks in May. The IEA&#8217;s Oil Market Report put the June crude draw at 41 million barrels. Those reported, visible draws sum to about 60 million barrels, which is more than the roughly 47 million the math implies for May and June combined. The podcast&#8217;s satellite point, that &#8220;until very recently&#8221; the floating-roof tanks were &#8220;still fuller than they were on March 1,&#8221; is a statement about direction with no magnitude attached, and it fits these numbers exactly, because March was a 54-million-barrel build. Tanks fuller than March 1 and 60 million barrels of reported draws are the same picture: stocks rose, then came down modestly.</p><p>Pause on that inversion. The Atlantic&#8217;s claim that the giant tanks &#8220;have remained full since the war began,&#8221; and that draws therefore cannot explain the gap, is quantitatively false in the very data cited for it. If anything the reported draws over-explain the crude balance by about 13 million barrels, and a surplus of explanation points away from hidden barrels, not toward them.</p><h2>The walk from 750 to 33</h2><p>Assemble the pieces and the mystery falls apart step by step. Start from 750 million barrels, the five mbd headline sustained over the war. Take away 442 million barrels the headline overstates: the actual March-June customs shortfall is 308. Take away 175 million barrels of refinery run cuts. Take away 9 million for higher domestic production. Take away 32 million for pre-war stockpiling that simply stopped. What is left, 93 million barrels, is the total that had to come out of storage of any kind, monitored or not. Now subtract the roughly 60 million barrels of draws that Kpler and the IEA publicly reported while it was happening. The remainder, the barrels that need storage nobody was watching, is 33 million barrels +/- some statistics. Thirty-three million barrels is 0.27 mbd.</p><p>The Monte Carlo&#8217;s sensitivity ranking carries one more result I did not expect. The leftover&#8217;s swing is dominated by calibrating the bias of how efficient the Chinese oil refining system is (46 million barrels here), the choice of refinery-run series (31), the 2025 baseline import figure (24), and the visible-draw magnitudes (24). The war-month customs numbers, the figures everyone has been arguing about, move it by 10 or less. The mystery was never really about the wartime data. It was about the baseline and the bookkeeping. Why is it always the accountants?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ecKK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8861512-6b5f-48eb-a5c5-aef0c7a0f3b3_1456x821.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ecKK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8861512-6b5f-48eb-a5c5-aef0c7a0f3b3_1456x821.png 424w, https://substackcdn.com/image/fetch/$s_!ecKK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8861512-6b5f-48eb-a5c5-aef0c7a0f3b3_1456x821.png 848w, https://substackcdn.com/image/fetch/$s_!ecKK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8861512-6b5f-48eb-a5c5-aef0c7a0f3b3_1456x821.png 1272w, https://substackcdn.com/image/fetch/$s_!ecKK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8861512-6b5f-48eb-a5c5-aef0c7a0f3b3_1456x821.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ecKK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8861512-6b5f-48eb-a5c5-aef0c7a0f3b3_1456x821.png" width="1456" height="821" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8861512-6b5f-48eb-a5c5-aef0c7a0f3b3_1456x821.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:821,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sensitivity ranking: the residual turns on the calibration bias and the baseline, not the war-month data&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sensitivity ranking: the residual turns on the calibration bias and the baseline, not the war-month data" title="Sensitivity ranking: the residual turns on the calibration bias and the baseline, not the war-month data" srcset="https://substackcdn.com/image/fetch/$s_!ecKK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8861512-6b5f-48eb-a5c5-aef0c7a0f3b3_1456x821.png 424w, https://substackcdn.com/image/fetch/$s_!ecKK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8861512-6b5f-48eb-a5c5-aef0c7a0f3b3_1456x821.png 848w, https://substackcdn.com/image/fetch/$s_!ecKK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8861512-6b5f-48eb-a5c5-aef0c7a0f3b3_1456x821.png 1272w, https://substackcdn.com/image/fetch/$s_!ecKK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8861512-6b5f-48eb-a5c5-aef0c7a0f3b3_1456x821.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Each bar is how far the leftover moves when one input is swept across its range; the war-month import figures sit at the bottom.</figcaption></figure></div><h2>Best Arguments Against This</h2><p>Johnston was careful on the podcast about what he knew versus what he inferred. Same rules here. My confidence ranking, weakest link first.</p><p>The bias calibration of the efficiency of the Chinese refining system rests on two years, because 2024 and 2025 are the only recent years with both complete customs data and independently reported stock builds. Everything swings around these numbers. I am certainly not an oil man, and the key to really good estimates here is higher fidelity modeling of China&#8217;s oil importation, pipeline, storage, and refinery system.</p><p>The product side is not fully closed. June&#8217;s balance needs either the wide demand range I carried or a product-stock draw of about 24 million barrels, and China publishes no verified gasoline and diesel stock series. The podcast&#8217;s &#8220;Occam&#8217;s razor solve,&#8221; ample strategic stocks of refined products, lives exactly here, and my numbers cannot kill it. They can only cap it: on the June books it is a 24-million-barrel hypothesis, not a 180-million-barrel one.</p><p>The customs-versus-tracker gap is genuinely contested. My reconciliation of GACC against Kpler&#8217;s seaborne series says the spring gap is mostly pipeline crude, customs timing lag, and bonded-storage moves, leaving 0.1 to 0.5 mbd of ship-to-ship undercount in April and May. That is my own derived estimate, not an outside figure. The Signal Group, working from AXSMarine flow data, reads the same gap differently: they print a 2.5 mbd customs-minus-waterborne gap with about 1.0 of it pipeline crude, leaving roughly 1.5 mbd they assign to shadow trade through the spring. I think their reading over-assigns. It nets out only pipeline crude, UANI&#8217;s tanker tracking has Iranian exports falling to less than half of February&#8217;s level by April, and Kpler&#8217;s all-route Iran-to-China series is down 14 percent year to date. But notice what the disagreement is about. Re-papered shadow barrels arrive through customs and are already inside the totals this balance is built on, so the dispute is about the composition of China&#8217;s imports, not their size. It changes the geopolitics of sanctions enforcement while leaving the storage math where it was. And any barrels that bypassed customs entirely would mean true imports were bigger than the recorded ones, which shrinks the leftover further: this disagreement can make 33 million barrels an overestimate, and it&#8217;s never an underestimate.</p><p>July is excluded entirely. Official July data publishes in mid-August, tracker estimates for July conflict badly, and it was a partial-reopening month. That math is gonna be tricky.</p><p>Here is what would change my mind, on a schedule.</p><ol><li><p>Mid-August, when GACC publishes July. If July imports print far above the 7 to 8 mbd tracker range, the cut ended earlier and shallower than this balance assumes, and the leftover shrinks again.</p></li><li><p>Mid-September, when NBS July and August refinery throughput is complete. Runs recovering faster than imports would mean a bigger stock draw than I have booked.</p></li><li><p>The first 60 to 90 days after a durable ceasefire (I&#8217;m laughing typing that as hard as you&#8217;re laughing reading it). If China runs a months-long surge of two-plus mbd above baseline, the leftover was never 33 million barrels, and the hidden-storage story comes back from the dead with my name on the error.</p></li><li><p>Any Chinese publication of a product-stock series, or a credible outside estimate of June diesel and gasoline stocks. A verified product draw materially above 24 million barrels breaks the June books as I have closed them.</p></li><li><p>An official stockpile figure of any kind. Beijing has not published one since 2017; if it does, the cavern capacity this conclusion fits inside is checkable directly rather than inferred.</p></li></ol><h2>Harvested, not executed</h2><p>If the barrels were never missing, the motive question changes shape. The Atlantic asked why China chose to absorb a five-million-barrel sacrifice in silence. There was no five-million-barrel sacrifice. The real question is why China was positioned to ride out a Hormuz closure on refinery economics and a modest, mostly visible stock draw.</p><p>That answer is two decades old and fully public. Strategic petroleum reserve phases since 2004. Underground caverns commissioned through the 2010s and 2020s. Eleven new reserve bases added in 2025 and 2026. A national energy law in force since January 2025 that put government and commercial stocks under one reserves framework. Record 2025 imports building stock all year: tracking analysis reported by Reuters put that build at roughly 157 million barrels, and other public estimates run far higher, which would only deepen the cushion. Then a final anticipatory buying surge in January and February as the war premium built. Chinese planners have written openly about the Malacca dilemma for twenty years. This was the insurance policy, and the war was the claim event.</p><p>What Beijing actually did during the war was narrower than the mystery framing implies: it steered the shape of an economically driven contraction with export throttles and price caps, and it said nothing. The silence needs no conspiracy. There is nothing heroic in &#8220;our refiners lost money so they refined less,&#8221; reserve opacity has been deliberate policy since the last official stockpile figure in 2017, and claiming credit for saving the world&#8217;s consumers would invite pressure to do it again. China did not execute a wartime masterstroke. It harvested one, and the leverage it gained, the demonstrated ability to go quiet for months without visible strain, is real whether or not anyone in Beijing planned it.</p><h2>The tell to watch</h2><p>One behavioral anomaly survives this audit intact: China did not resume buying when Brent touched $72.68 in late June, and less than two weeks later the July 8 re-escalation closed the window. The boring explanations are strong, from elevated war-risk insurance to quota mechanics that cannot swing in ten days. Deliberate restraint, holding the market down or keeping powder dry, cannot be excluded. The test arrives with the peace. In the first 60 to 90 days after a durable ceasefire, fast and price-sensitive restocking says the boring reading was right. Sustained under-buying at attractive prices says China is managing the price of oil on purpose, and the leverage story deserves a second look.</p><p>Watch the refill. It will tell us, within about a quarter, whether the two-million-barrel delta was ever anything more than an accounting shadow, and it will tell Washington something more useful: whether the world&#8217;s largest oil importer now treats its buffer as insurance, or as an instrument.</p>]]></content:encoded></item><item><title><![CDATA[Humans vs AI at Imagery Analysis of a Chinese Submarine Base]]></title><description><![CDATA[PLA-watcher analysts vs GPT-5.6 Sol vs Fable]]></description><link>https://www.mfrantzen.com/p/humans-vs-ai-at-imagery-analysis</link><guid isPermaLink="false">https://www.mfrantzen.com/p/humans-vs-ai-at-imagery-analysis</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Thu, 30 Jul 2026 12:04:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pgqb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cbc5d0-4fec-4be0-b1a1-0be8ad7c64f0_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I am <strong>really</strong> bad at analyzing satellite imagery so I have been using AI to do it and explain the results. It&#8217;s clearly better than I am. It&#8217;s time to take a step back and see if a frontier AI model as good at reading a satellite photo as a trained human analyst. I bought one 30-centimeter image of the most sensitive naval base in southern China, I found the human answer key that the Washington Post had already published, and I handed the picture to two of the best models on the market. Below, you get to grade all three. The pictures are here. See if you can beat the machine.</p><h2>Bottom Line Up Front</h2><p>The hypothesis was simple: a frontier model is as good at satellite imagery analysis as professional human analysts. To test it I needed an unclassified answer key, and one existed. In October 2024 the Washington Post published an investigation into China&#8217;s military build-out on Hainan island, built on an analysis of roughly 200 military sites by the Long Term Strategy Group (LTSG), a defense consultancy commissioned by the Department of War and cleared to share its open-source work. LTSG is the human benchmark in this test. Its published read of one base is the answer key.</p><p>The image is a single WorldView Legion frame, 30 centimeters per pixel, shot 27 September 2024 over Longpo on the south coast of Hainan, thirty-four days before the Post published. Longpo is East Yulin, home to China&#8217;s ballistic-missile submarines, and its whole reason for existing is a tunnel network dug into the granite where nuclear boats can hide from satellites like the one that took this picture. I bought the image commercially, turned it into a clean packet with a scale bar and no place name, and gave it to GPT-5.6 Sol and Claude Fable. Each read it blind, then again after I told it what it was looking at, a naval site on Hainan, and explicitly cleared it to draw on open-source knowledge, while warning it in the same breath not to report features it could not actually see. Three runs each. Then I graded every run against the Post and LTSG, feature by feature.</p><p>A word on how these images look, because they are not natural-color photographs. The satellite records a sharp black-and-white frame at 30 centimeters and a coarser color frame at about 1.4 meters; I fused the two and stretched the contrast to pull structure out of the shadows, which is standard practice and which pushes the water toward cyan and the vegetation toward teal. Every shape, size, and shadow you see is real. The palette is a processing choice, not the true color of Yalong Bay.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pgqb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cbc5d0-4fec-4be0-b1a1-0be8ad7c64f0_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pgqb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cbc5d0-4fec-4be0-b1a1-0be8ad7c64f0_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!pgqb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cbc5d0-4fec-4be0-b1a1-0be8ad7c64f0_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!pgqb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cbc5d0-4fec-4be0-b1a1-0be8ad7c64f0_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!pgqb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cbc5d0-4fec-4be0-b1a1-0be8ad7c64f0_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pgqb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cbc5d0-4fec-4be0-b1a1-0be8ad7c64f0_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26cbc5d0-4fec-4be0-b1a1-0be8ad7c64f0_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The Longpo submarine base and its tunnel entrance, with the four scored features&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Longpo submarine base and its tunnel entrance, with the four scored features" title="The Longpo submarine base and its tunnel entrance, with the four scored features" srcset="https://substackcdn.com/image/fetch/$s_!pgqb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cbc5d0-4fec-4be0-b1a1-0be8ad7c64f0_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!pgqb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cbc5d0-4fec-4be0-b1a1-0be8ad7c64f0_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!pgqb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cbc5d0-4fec-4be0-b1a1-0be8ad7c64f0_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!pgqb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26cbc5d0-4fec-4be0-b1a1-0be8ad7c64f0_2400x1260.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: left, the whole base at 30 cm (2024) with the four features each analyst was graded on; right, the tunnel entrance in a 43 degree oblique frame shot in 2020. What to see: the base reads at a glance, but the tunnel only gives itself up from the side.</em></p><p>The answer is no, with an asterisk that turns out to be the interesting part. Blind, neither model gets you much past a naval base and its piers. Claude Fable recovered 52% of seven features, the three runs landing between 50% and 57%. GPT-5.6 Sol recovered 43%, between 36% and 50%. Those ranges are the right way to read the result. Tell the models what they are looking at and the numbers jump, unevenly: GPT-5.6 Sol to 88%, Claude Fable to 64%. The human product, by construction, is the 100% they are chasing.</p><p>The asterisk is that most of GPT-5.6 Sol&#8217;s jump is memory, not sight. The same model that missed the submarine cave blind reported it at up to 99 percent confidence once told the base&#8217;s name. Nothing in the picture had changed between those two reads; it was recalling Longpo from its training, not reading the pixels. And the one thing a human fixates on first, an actual submarine at the pier, was caught blind by Claude Fable and missed by GPT-5.6 Sol, which called the berths vacant.</p><p>So the honest finding is not a scoreboard. It is a map of where and why the machine reads diverge from the human one. Here is the tour, with the pictures, so you can grade it yourself.</p><h2>The easy call both machines made</h2><p>Six long finger piers run down the west shore of the base. Every run of both models called out a naval berthing complex of roughly six piers, correctly, blind. This is the honest floor of the test. A pier is a shape, high-contrast concrete against dark water, and a 30 centimeter sensor renders it cleanly. If the whole job were counting piers, the machines are done and so are you.</p><p>The trouble starts the moment the job asks for something that is a shape plus knowledge.</p><h2>The submarine you can see, and one model could not</h2><p>LTSG says nuclear-armed submarines are based here. On my image, on this day, they are sitting at the piers in the open. Here is the zoom. Look at the south face of these two piers before you read on.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HNqa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e0c82ee-5015-4544-ba93-54f2ef813616_1300x1150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HNqa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e0c82ee-5015-4544-ba93-54f2ef813616_1300x1150.png 424w, https://substackcdn.com/image/fetch/$s_!HNqa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e0c82ee-5015-4544-ba93-54f2ef813616_1300x1150.png 848w, https://substackcdn.com/image/fetch/$s_!HNqa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e0c82ee-5015-4544-ba93-54f2ef813616_1300x1150.png 1272w, https://substackcdn.com/image/fetch/$s_!HNqa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e0c82ee-5015-4544-ba93-54f2ef813616_1300x1150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HNqa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e0c82ee-5015-4544-ba93-54f2ef813616_1300x1150.png" width="1300" height="1150" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3e0c82ee-5015-4544-ba93-54f2ef813616_1300x1150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1150,&quot;width&quot;:1300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Zoom of submarines at the finger piers&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Zoom of submarines at the finger piers" title="Zoom of submarines at the finger piers" srcset="https://substackcdn.com/image/fetch/$s_!HNqa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e0c82ee-5015-4544-ba93-54f2ef813616_1300x1150.png 424w, https://substackcdn.com/image/fetch/$s_!HNqa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e0c82ee-5015-4544-ba93-54f2ef813616_1300x1150.png 848w, https://substackcdn.com/image/fetch/$s_!HNqa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e0c82ee-5015-4544-ba93-54f2ef813616_1300x1150.png 1272w, https://substackcdn.com/image/fetch/$s_!HNqa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e0c82ee-5015-4544-ba93-54f2ef813616_1300x1150.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: a 30 cm crop of two finger piers, north at top, with a 100 meter scale bar. What to see: two long, low, dark hulls moored on the pier faces, one ringed by what looks like a containment boom.</em></p><p>Those are submarines. Long, low, rounded hulls, one wrapped in what looks like a floating boom, each roughly a hundred meters. You found them in about two seconds. So did Claude Fable, blind, in all three runs, flagging a possible submarine hull at about even odds. GPT-5.6 Sol, blind, described the same berths as vacant and moved on. One model looked at the water and saw a boat. The other looked at the water and saw nothing. If you are staffing a watch floor and you need to know what sailed and what is still in port tonight, that difference is the whole job.</p><h2>The cave nobody could see</h2><p>Now the feature that matters most, and the one that breaks the test open. The reason Longpo exists is an underground submarine cave, a water-filled tunnel bored into the mountain at the southern end of the base, past the piers. Here is the foot of that mountain, where the tunnel meets the water. Try to find the entrance. There&#8217;s an arrow, I made it easy for you.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!O854!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c71fe-fa6b-4988-8405-8b77be0f56b3_1000x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O854!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c71fe-fa6b-4988-8405-8b77be0f56b3_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!O854!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c71fe-fa6b-4988-8405-8b77be0f56b3_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!O854!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c71fe-fa6b-4988-8405-8b77be0f56b3_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!O854!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c71fe-fa6b-4988-8405-8b77be0f56b3_1000x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O854!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c71fe-fa6b-4988-8405-8b77be0f56b3_1000x1000.png" width="1000" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd2c71fe-fa6b-4988-8405-8b77be0f56b3_1000x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Zoom of the mountain foot where the tunnel is reported&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Zoom of the mountain foot where the tunnel is reported" title="Zoom of the mountain foot where the tunnel is reported" srcset="https://substackcdn.com/image/fetch/$s_!O854!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c71fe-fa6b-4988-8405-8b77be0f56b3_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!O854!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c71fe-fa6b-4988-8405-8b77be0f56b3_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!O854!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c71fe-fa6b-4988-8405-8b77be0f56b3_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!O854!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c71fe-fa6b-4988-8405-8b77be0f56b3_1000x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: the quay at the southern foot of the mountain, where the analysis places the tunnel entrance, 100 meter scale bar. What to see: a dark notch at the waterline is the best candidate, and even that does not positively resolve from straight above.</em></p><p>You can pick out a shadowed notch at the waterline, and you cannot be sure it is a tunnel rather than a boat slip or a patch of shade. Neither could the machines, and they did not even try: cave recovery was zero, blind, across all six runs, both models. And here is the part that should make you trust the result rather than doubt it: the humans did not read that cave from an overhead frame either. The Post illustrated it with a 2020 image that happened to catch a submarine nosing into the entrance, a Planet Labs frame you can see in [their investigation](<a href="https://www.washingtonpost.com/world/interactive/2024/china-built-50-billion-military-stronghold-south-china-sea/">https://www.washingtonpost.com/world/interactive/2024/china-built-50-billion-military-stronghold-south-china-sea/</a>). The cave is a lucky moment and an oblique angle, not a structure you measure from directly above. This is not an AI failure. It is a physics failure, and it binds humans and machines alike. If your collection plan for a hardened underground facility is one nadir pass, you will photograph a hillside and go home.</p><h2>The pier that gave the trick away</h2><p>South of the base, out a long causeway, sits a specialized pier. Here it is.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_dDs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ad2b8b4-ebc5-41b1-a960-3ba4f976387d_1600x1450.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_dDs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ad2b8b4-ebc5-41b1-a960-3ba4f976387d_1600x1450.png 424w, https://substackcdn.com/image/fetch/$s_!_dDs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ad2b8b4-ebc5-41b1-a960-3ba4f976387d_1600x1450.png 848w, https://substackcdn.com/image/fetch/$s_!_dDs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ad2b8b4-ebc5-41b1-a960-3ba4f976387d_1600x1450.png 1272w, https://substackcdn.com/image/fetch/$s_!_dDs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ad2b8b4-ebc5-41b1-a960-3ba4f976387d_1600x1450.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_dDs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ad2b8b4-ebc5-41b1-a960-3ba4f976387d_1600x1450.png" width="1456" height="1320" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ad2b8b4-ebc5-41b1-a960-3ba4f976387d_1600x1450.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1320,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Zoom of the degaussing pier and dolphin line&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Zoom of the degaussing pier and dolphin line" title="Zoom of the degaussing pier and dolphin line" srcset="https://substackcdn.com/image/fetch/$s_!_dDs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ad2b8b4-ebc5-41b1-a960-3ba4f976387d_1600x1450.png 424w, https://substackcdn.com/image/fetch/$s_!_dDs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ad2b8b4-ebc5-41b1-a960-3ba4f976387d_1600x1450.png 848w, https://substackcdn.com/image/fetch/$s_!_dDs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ad2b8b4-ebc5-41b1-a960-3ba4f976387d_1600x1450.png 1272w, https://substackcdn.com/image/fetch/$s_!_dDs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ad2b8b4-ebc5-41b1-a960-3ba4f976387d_1600x1450.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: a naval surface combatant at a rectangular berth, and a straight line of evenly spaced platforms running into open water, 100 meter scale bar. What to see: the platform line is a degaussing range, where a ship is drawn through to measure and cancel its magnetic signature.</em></p><p>A gray warship sits at the berth. The line of little platforms marching out into the water is a degaussing range, the fixed dolphins a hull is pulled past to strip its magnetic signature so mines and sensors have less to grab. LTSG labels this a degaussing pier. Blind, Claude Fable read the structure as a probable deperming range at low confidence. GPT-5.6 Sol, blind, saw the shapes but not the function. Told the site was naval, GPT-5.6 Sol named the degaussing pier outright and with confidence. Useful, and also the tell.</p><h2>The tell, in one chart</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KxnC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d5694c-f2b9-439a-a123-793710d538a7_1740x834.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KxnC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d5694c-f2b9-439a-a123-793710d538a7_1740x834.png 424w, https://substackcdn.com/image/fetch/$s_!KxnC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d5694c-f2b9-439a-a123-793710d538a7_1740x834.png 848w, https://substackcdn.com/image/fetch/$s_!KxnC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d5694c-f2b9-439a-a123-793710d538a7_1740x834.png 1272w, https://substackcdn.com/image/fetch/$s_!KxnC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d5694c-f2b9-439a-a123-793710d538a7_1740x834.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KxnC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d5694c-f2b9-439a-a123-793710d538a7_1740x834.png" width="1456" height="698" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9d5694c-f2b9-439a-a123-793710d538a7_1740x834.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:698,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Recovery by analyst and information arm&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Recovery by analyst and information arm" title="Recovery by analyst and information arm" srcset="https://substackcdn.com/image/fetch/$s_!KxnC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d5694c-f2b9-439a-a123-793710d538a7_1740x834.png 424w, https://substackcdn.com/image/fetch/$s_!KxnC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d5694c-f2b9-439a-a123-793710d538a7_1740x834.png 848w, https://substackcdn.com/image/fetch/$s_!KxnC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d5694c-f2b9-439a-a123-793710d538a7_1740x834.png 1272w, https://substackcdn.com/image/fetch/$s_!KxnC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d5694c-f2b9-439a-a123-793710d538a7_1740x834.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: rows are analyst and arm, columns are the seven scored features, darker means more recovery. What to see: the cave column is empty for both machines until they are told the site.</em></p><p>Watch the cave column. Empty for both models, blind. Then the models are told what the site is and cleared to use their training, and GPT-5.6 Sol fills the cave column to near certainty while Claude Fable barely moves. Nothing in the pixels changed between those two rows. What changed is that one model reported what it knew about Longpo and the other reported only what the image showed. The prompt cut both ways: it authorized open-source recall, and it also told both models not to import features they could not see. GPT-5.6 Sol took the first permission and ignored the warning. In one informed run it conceded, fully and in writing, that the portal is not independently confirmed by this image set. In another it dropped the caveat and asserted the sea entrance at 99%. Same model, same context, opposite honesty. It also described the moored submarines as Type 094 by class and named the degaussing function, all from a paragraph of context. Claude Fable, having recognized the base in every run including the blind ones, still would not assert the cave: it raised a possible tunnel entrance in only one of three informed runs, at 20% confidence and marked inferred, and did not mention it at all in the other two. Its cave credit came to 17% of the feature against GPT-5.6 Sol&#8217;s 83%, because the portal is not resolvable and it would not pretend otherwise. It paid for that discipline with the lower score.</p><p>That is the asterisk on the whole hypothesis. If you score raw recovery, context makes GPT-5.6 Sol look nearly human. If you ask whether the recovery is earned by the image in front of it, the informed jump is mostly retrieval, and retrieval that is confidently wrong looks exactly like analysis until someone dies of it.</p><p><strong>The behavior underneath the scores runs the same way.</strong> GPT-5.6 Sol wrote about twice as much per run, roughly 42 observations against Claude Fable&#8217;s 21, and carried higher average confidence, 75% against 65%. More words, more certainty, more reach past the evidence. Claude Fable was terser and, informed, almost eerily repeatable, returning the same 64% three times running.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KLSa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84c58ef3-e774-4d8e-8227-9879a31c36c3_1737x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KLSa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84c58ef3-e774-4d8e-8227-9879a31c36c3_1737x630.png 424w, https://substackcdn.com/image/fetch/$s_!KLSa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84c58ef3-e774-4d8e-8227-9879a31c36c3_1737x630.png 848w, https://substackcdn.com/image/fetch/$s_!KLSa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84c58ef3-e774-4d8e-8227-9879a31c36c3_1737x630.png 1272w, https://substackcdn.com/image/fetch/$s_!KLSa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84c58ef3-e774-4d8e-8227-9879a31c36c3_1737x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KLSa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84c58ef3-e774-4d8e-8227-9879a31c36c3_1737x630.png" width="1456" height="528" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84c58ef3-e774-4d8e-8227-9879a31c36c3_1737x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:528,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Analyst behavior profile&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Analyst behavior profile" title="Analyst behavior profile" srcset="https://substackcdn.com/image/fetch/$s_!KLSa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84c58ef3-e774-4d8e-8227-9879a31c36c3_1737x630.png 424w, https://substackcdn.com/image/fetch/$s_!KLSa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84c58ef3-e774-4d8e-8227-9879a31c36c3_1737x630.png 848w, https://substackcdn.com/image/fetch/$s_!KLSa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84c58ef3-e774-4d8e-8227-9879a31c36c3_1737x630.png 1272w, https://substackcdn.com/image/fetch/$s_!KLSa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84c58ef3-e774-4d8e-8227-9879a31c36c3_1737x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: observations per run, mean stated confidence, and share of runs that named the real place. What to see: GPT-5.6 Sol is more granular and more confident; both models recognize the site.</em></p><h2>So I changed the angle</h2><p>The cave result rested on a claim about physics: a tunnel bored sideways into a hillside cannot be read by a camera looking straight down, however sharp the camera. That is cheap to assert and worth testing, so I bought a second $10 image of the same portal, collected at 43 degrees off the vertical and looking in from the seaward side. This is not a matched pair. The oblique frame is from August 2020, four years before the nadir shot, and it is a different acquisition from the 2020 Planet image the Post used. It is also coarser, 0.49 meters against the nadir frame&#8217;s 0.30 meters. A steep sidelong look in place of a near-vertical one, at lower resolution and an earlier date.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KbUf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc381e75-90fa-4078-a193-6247389b9ecc_2400x1320.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KbUf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc381e75-90fa-4078-a193-6247389b9ecc_2400x1320.png 424w, https://substackcdn.com/image/fetch/$s_!KbUf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc381e75-90fa-4078-a193-6247389b9ecc_2400x1320.png 848w, https://substackcdn.com/image/fetch/$s_!KbUf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc381e75-90fa-4078-a193-6247389b9ecc_2400x1320.png 1272w, https://substackcdn.com/image/fetch/$s_!KbUf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc381e75-90fa-4078-a193-6247389b9ecc_2400x1320.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KbUf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc381e75-90fa-4078-a193-6247389b9ecc_2400x1320.png" width="1456" height="801" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc381e75-90fa-4078-a193-6247389b9ecc_2400x1320.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:801,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Near-nadir versus oblique over the tunnel entrance&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Near-nadir versus oblique over the tunnel entrance" title="Near-nadir versus oblique over the tunnel entrance" srcset="https://substackcdn.com/image/fetch/$s_!KbUf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc381e75-90fa-4078-a193-6247389b9ecc_2400x1320.png 424w, https://substackcdn.com/image/fetch/$s_!KbUf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc381e75-90fa-4078-a193-6247389b9ecc_2400x1320.png 848w, https://substackcdn.com/image/fetch/$s_!KbUf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc381e75-90fa-4078-a193-6247389b9ecc_2400x1320.png 1272w, https://substackcdn.com/image/fetch/$s_!KbUf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc381e75-90fa-4078-a193-6247389b9ecc_2400x1320.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: the same 180 meters of shoreline at the mountain foot, near-vertical (2024, 30 cm) on the left and 43 degrees oblique (2020, 49 cm) on the right. What to see: the flat dark notch on the left opens into a deep cavity on the right.</em></p><p>The difference is not subtle. Straight down, the portal is a flat smudge at the waterline, the sort of thing the eye slides past. From the side it opens into a dark recess set into the base of the slope, and lifting the shadow inside it turns up a darker, deeper recess than the flat notch the nadir frame showed, enough to call an opening, not enough to measure. The angle did what resolution could not. My best fix for the portal is 18.20278 N, 109.69472 E, at the southern foot of the mountain. The two commercial sensor models put their own geolocation error at 2.15 and 3.63 meters, so call the fix good to about two meters, not a surveyed point and not the sub-meter the decimals might imply. The tunnel&#8217;s existence I take from LTSG; my frames only pin where it meets the water. Drop a pin there and you are at the entrance.</p><p>Then I ran the blind test again on the oblique frame, six fresh runs, three of each model, no location, the same rules as before. On the straight-down picture not one of six runs had flagged the tunnel. On the oblique picture all six flagged the opening as a real engineered feature, and three of the six named it, unprompted, as a possible tunnel or cave entrance driven into the hillside from the water. GPT-5.6 Sol built its whole read of the site around what it called a rock-cut or tunnel-like protected-water access facility. Claude called it a tunnel, adit, or cave entrance. Five of the six recognized nothing; the sixth floated Yulin and Longpo as a low-confidence guess, about 35%, and said so. This was overwhelmingly sight and not memory, though not perfectly clean.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZjIy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F060c9463-bad5-488b-9bec-dea7a7d0ad97_1437x810.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZjIy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F060c9463-bad5-488b-9bec-dea7a7d0ad97_1437x810.png 424w, https://substackcdn.com/image/fetch/$s_!ZjIy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F060c9463-bad5-488b-9bec-dea7a7d0ad97_1437x810.png 848w, https://substackcdn.com/image/fetch/$s_!ZjIy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F060c9463-bad5-488b-9bec-dea7a7d0ad97_1437x810.png 1272w, https://substackcdn.com/image/fetch/$s_!ZjIy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F060c9463-bad5-488b-9bec-dea7a7d0ad97_1437x810.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZjIy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F060c9463-bad5-488b-9bec-dea7a7d0ad97_1437x810.png" width="1437" height="810" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/060c9463-bad5-488b-9bec-dea7a7d0ad97_1437x810.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:810,&quot;width&quot;:1437,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Blind tunnel recovery by look angle&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Blind tunnel recovery by look angle" title="Blind tunnel recovery by look angle" srcset="https://substackcdn.com/image/fetch/$s_!ZjIy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F060c9463-bad5-488b-9bec-dea7a7d0ad97_1437x810.png 424w, https://substackcdn.com/image/fetch/$s_!ZjIy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F060c9463-bad5-488b-9bec-dea7a7d0ad97_1437x810.png 848w, https://substackcdn.com/image/fetch/$s_!ZjIy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F060c9463-bad5-488b-9bec-dea7a7d0ad97_1437x810.png 1272w, https://substackcdn.com/image/fetch/$s_!ZjIy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F060c9463-bad5-488b-9bec-dea7a7d0ad97_1437x810.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: six blind runs per geometry; the light bars are runs that flagged the opening, the red bars are runs that called it a tunnel. What to see: zero from straight down, six and three from the side.</em></p><p>The confidence numbers stayed low, between 30% and 70%, and the models hedged honestly against shadow and rock. That is the right answer, not a weakness, because the machines are not suddenly certain and they should not be. What moved is everything else. The same models, the same prompt, and the same submarine base went from blind to seeing. I changed the look angle from 13 degrees to 43, and two other things moved with it, which I flagged above: the oblique frame is four years older and coarser. The coarser frame winning is the point, not a flaw, because it means this was never a resolution problem, and a sharper straight-down pixel would not have helped. The date gap is the honest caveat, and a run of obliques on a single date would close it. Nothing about the cave was ever too small to detect. What had defeated the straight-down look was the geometry, and for a hardened, water-facing target the tasking that pays is a look from the side, not a sharper pixel from above.</p><h2>Best arguments against this</h2><p>The strongest objection is that this is one image of one base on one day. It is. An n of one site is not a controlled experiment. A near-nadir frame is also the hardest case for a cave that faces sideways into a cove. A high-oblique shot or a run of images across weeks might pull the portal out, for both models, and would move the finding from invisible to invisible-from-nadir, which is a claim about geometry more than about intelligence.</p><p>A second objection: I scored the machines against a human product I keep calling a comparator, then noted the humans scored a perfect seven. That perfect score is bookkeeping. LTSG published all seven features, so by construction it recovered all seven. The comparison that carries weight is the divergence, not the totals: the cave that physics hid from everyone, the degaussing function that only context unlocked, and the submarine that one model saw and the other did not.</p><p>A third: maybe GPT-5.6 Sol&#8217;s recall is the job, not a bug. An analyst who knows the base or the country&#8217;s doctrine, and brings that knowledge is doing the work. True, up to the line where knowledge stops informing the read and starts substituting for it. When a model cannot find the cave blind and then reports it at 99 percent once prompted, the confidence is bolted to memory and sold as observation. A human analyst who did that, and got the timing wrong on a boat that had already sailed, would lose the account.</p><h2>What would change my mind</h2><p>One of these triggers has already fired, and I left the result in the piece above: a high-oblique tasking of this headland did let blind models resolve the portal as a structure, which moves the cave finding from invisible-from-overhead to invisible-from-nadir, a claim about geometry. I would revise further if a look straight down the tunnel axis, or a frame that catches a submarine mid-transit, let a blind model confirm the entrance at high confidence rather than the low, hedged confidence it gave from the side. I would revise if, across five more bases bought the same way, the blind rank order flipped and GPT-5.6 Sol consistently out-read Claude Fable on features that are actually in the pixels. I would revise the recall critique if a test over a genuinely novel or synthetic facility, one no model could have memorized, preserved GPT-5.6 Sol&#8217;s informed lift, because that would mean the lift was reasoning from context rather than retrieval. And I would revise the calibration finding if Claude Fable&#8217;s refusal to call the cave turned out to be general timidity rather than local discipline, which a battery of cases where the decisive feature is actually resolvable would expose fast.</p><p>One more well-chosen frame would settle most of what remains. That is the collection tasking this experiment wrote for itself, and I have started buying it.</p><p>A satellite gives you a shape and a moment. It does not give you what is under the hill, and it does not tell you which of your analysts is reading the rock and which is reading the reputation. You just graded three of them. The machine that scored highest is the one you should trust least, and now you know why.</p><div><hr></div><p>How I make this: I orchestrate AI agents for everything from acquiring data, building the test frame, running the tests, building the graphs, and turning my conclusions into coherent English. I wrote about my process in April &#8216;26</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;1b41d654-ade8-438b-9f0a-e8882397f775&quot;,&quot;caption&quot;:&quot;One of the conversations I keep having this year is how we all use AI. I used to run/lead/manage/cat-herd a ~200 person R&amp;D organization, so I use AI like it&#8217;s an entire organization. I give it high-level strategic objectives, have it follow organizational procedures, and manage it through frequent check-ins on my phone. Those are fancy words. Let me wa&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Running AI Like a 200-Hacker Org&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:434564688,&quot;name&quot;:&quot;Mike Frantzen&quot;,&quot;bio&quot;:&quot;Mike&#8217;s career spans the cyber spectrum: defense, offense, founding companies, to exploiting geo-asymmetries. In the 2000s he bet on automation, in 2013 that thesis became a company, in 2025 it was acquired to converge cyber with traditional warfare.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/619d818f-9005-4547-ae96-60566533c172_2190x2190.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-04-23T20:55:40.410Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!iBfr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9483a06d-5552-403c-944e-ac9c84101e06_1024x541.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.mfrantzen.com/p/running-ai-like-a-200-hacker-org&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:195280583,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:7599600,&quot;publication_name&quot;:&quot;Mike Frantzen&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Nwp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F619d818f-9005-4547-ae96-60566533c172_2190x2190.jpeg&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[Mapping The Entire AI Supply Chain]]></title><description><![CDATA[A walk through the AI supply chain, from gallium to the grid to the frontier labs, by aggregating all 296 companies financial filings .]]></description><link>https://www.mfrantzen.com/p/mapping-the-entire-ai-supply-chain</link><guid isPermaLink="false">https://www.mfrantzen.com/p/mapping-the-entire-ai-supply-chain</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Wed, 29 Jul 2026 02:41:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dOvj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7914ec46-fa45-4654-a03a-b598d5fc2af3_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As a CEO I hated when we grew to the point we needed audited financials. The auditor records you on video answering <em>yes</em> or <em>no</em> as they validate the workings of the business model as it links in to the numbers. It forces the business to operate with a rigor which is the whole point of audited financials; backed by the criminal penalties of Sarbanes&#8211;Oxley.</p><p>On the flip side, I love being able to read public companies&#8217; financial filings because they really do lay out their business fundamentals, the risks to their business, and what happened when those risks came true. We&#8217;re going to use that to paint a common operating picture of the American and Chinese AI supply chain.</p><h2>Bottom Lines Up Front</h2><p>Public and IPO&#8217;ing companies have to tell their investors about what threatens their business, and what actually hurt them. I mined the financial records of 296 filers across both the US and Chinese stock exchanges from gallium refiners to grid operators to frontier labs. They disclosed 5,885 risks and 578 realized &#8220;events&#8221; (meaning a risk actually happened to them). Many of these risks were the company disclosing the other companies that they depend on; which shows how the company is linked into the greater AI supply chain.</p><p>They say two things:</p><ol><li><p>Damage was mostly self-administered. 94.5% of harm was caused by the company&#8217;s&#8217; own conduct or their own governments&#8217; policy. There was only $15 million in damage attributed to hostile actors.</p></li><li><p>The number of state-attribute attacks that degraded US AI supply chain is <strong>zero</strong>.</p></li></ol><p>If we define arbitrary groupings, and write code that draws a map based on how companies document their dependencies, then it draws this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dOvj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7914ec46-fa45-4654-a03a-b598d5fc2af3_2400x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dOvj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7914ec46-fa45-4654-a03a-b598d5fc2af3_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!dOvj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7914ec46-fa45-4654-a03a-b598d5fc2af3_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!dOvj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7914ec46-fa45-4654-a03a-b598d5fc2af3_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!dOvj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7914ec46-fa45-4654-a03a-b598d5fc2af3_2400x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dOvj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7914ec46-fa45-4654-a03a-b598d5fc2af3_2400x1260.png" width="1456" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7914ec46-fa45-4654-a03a-b598d5fc2af3_2400x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The common operating picture of the AI supply chain&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The common operating picture of the AI supply chain" title="The common operating picture of the AI supply chain" srcset="https://substackcdn.com/image/fetch/$s_!dOvj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7914ec46-fa45-4654-a03a-b598d5fc2af3_2400x1260.png 424w, https://substackcdn.com/image/fetch/$s_!dOvj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7914ec46-fa45-4654-a03a-b598d5fc2af3_2400x1260.png 848w, https://substackcdn.com/image/fetch/$s_!dOvj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7914ec46-fa45-4654-a03a-b598d5fc2af3_2400x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!dOvj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7914ec46-fa45-4654-a03a-b598d5fc2af3_2400x1260.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What to see: the red sits upstream on physical things. The blue sits on tools, design and memory. Every path runs through one gold node in Taiwan. And the color of who controls those categories runs out downstream, where nobody has measured the concentration and where exactly one or 5,885 disclosed risks is about training-run integrity.</p><p>Caveat lector: this entire study counts what somebody was required, or chose, to write down. This is how the AI industry sees itself, not how others see it. The research data was current as of July 27, 2026.</p><h2>Companies write their risks down, under pain of SOX criminal penalties</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lK96!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c8a399-2d2d-4520-82c0-c9a4a00058f2_3600x2600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lK96!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c8a399-2d2d-4520-82c0-c9a4a00058f2_3600x2600.png 424w, https://substackcdn.com/image/fetch/$s_!lK96!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c8a399-2d2d-4520-82c0-c9a4a00058f2_3600x2600.png 848w, https://substackcdn.com/image/fetch/$s_!lK96!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c8a399-2d2d-4520-82c0-c9a4a00058f2_3600x2600.png 1272w, https://substackcdn.com/image/fetch/$s_!lK96!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c8a399-2d2d-4520-82c0-c9a4a00058f2_3600x2600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lK96!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c8a399-2d2d-4520-82c0-c9a4a00058f2_3600x2600.png" width="1456" height="1052" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3c8a399-2d2d-4520-82c0-c9a4a00058f2_3600x2600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1052,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:975507,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.mfrantzen.com/i/208869679?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c8a399-2d2d-4520-82c0-c9a4a00058f2_3600x2600.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lK96!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c8a399-2d2d-4520-82c0-c9a4a00058f2_3600x2600.png 424w, https://substackcdn.com/image/fetch/$s_!lK96!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c8a399-2d2d-4520-82c0-c9a4a00058f2_3600x2600.png 848w, https://substackcdn.com/image/fetch/$s_!lK96!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c8a399-2d2d-4520-82c0-c9a4a00058f2_3600x2600.png 1272w, https://substackcdn.com/image/fetch/$s_!lK96!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3c8a399-2d2d-4520-82c0-c9a4a00058f2_3600x2600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I downloaded the company&#8217;s annual financial reports and IPO prospectuses: American 10-Ks, foreign 20-Fs, Shanghai STAR Market and Hong Kong listing documents. And I ran it recursively so if a company referenced its supplier then I pulled its supplier filings too until I closed the loop. From each company I took two things, what it says threatened it, and what already hurt it. Only 103 damaging events described a dollar value of what the damage cost; but we&#8217;ll take it.</p><p>These corporate filings have a property that expert judgment does not: you get sued and might go to jail for being wrong. A company that poorly documents its own dependencies risks securities litigation, which makes each of these documents a careful statement by a motivated domain expert. The catch is the documents are narrowly scoped only to the one business. So the whole picture only exists if you assemble a few hundred of them.</p><p>Unfortunately three things are simply invisible to the method: private companies, classified programs, and the company&#8217;s unknown-unknown harms. We&#8217;ll talk more about this blindness in its own section near the end; the blindness is less than I thought.</p><p>The first surprise was when I saw the shape of the pile before even starting any analysis:</p><ul><li><p>62% of the risks are about legal and economic exposure</p></li><li><p>8.6% about the equipment that goes into fabs</p></li><li><p>5.5% about raw materials</p></li><li><p>3.8% about facility, cooling, and the physical plant</p></li><li><p>1. Not 1%. One company had one risk about the integrity of model training runs.</p></li></ul><p>I can think of three explanations and I can&#8217;t disprove any of them.</p><ul><li><p>No AI company reports its model training is being attacked</p></li><li><p>None of them are obliged to say so (classified by the government??)</p></li><li><p>No securities lawyer reminded the company&#8217;s executives that they need to disclose those risks.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!df0L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e957b47-af0b-44aa-82c1-4d5be4f75174_1960x1520.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!df0L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e957b47-af0b-44aa-82c1-4d5be4f75174_1960x1520.png 424w, https://substackcdn.com/image/fetch/$s_!df0L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e957b47-af0b-44aa-82c1-4d5be4f75174_1960x1520.png 848w, https://substackcdn.com/image/fetch/$s_!df0L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e957b47-af0b-44aa-82c1-4d5be4f75174_1960x1520.png 1272w, https://substackcdn.com/image/fetch/$s_!df0L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e957b47-af0b-44aa-82c1-4d5be4f75174_1960x1520.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!df0L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e957b47-af0b-44aa-82c1-4d5be4f75174_1960x1520.png" width="1456" height="1129" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e957b47-af0b-44aa-82c1-4d5be4f75174_1960x1520.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1129,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Where the disclosed fear actually sits&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Where the disclosed fear actually sits" title="Where the disclosed fear actually sits" srcset="https://substackcdn.com/image/fetch/$s_!df0L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e957b47-af0b-44aa-82c1-4d5be4f75174_1960x1520.png 424w, https://substackcdn.com/image/fetch/$s_!df0L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e957b47-af0b-44aa-82c1-4d5be4f75174_1960x1520.png 848w, https://substackcdn.com/image/fetch/$s_!df0L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e957b47-af0b-44aa-82c1-4d5be4f75174_1960x1520.png 1272w, https://substackcdn.com/image/fetch/$s_!df0L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e957b47-af0b-44aa-82c1-4d5be4f75174_1960x1520.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How to read it: each layer of the AI supply chain gets two bars, every disclosed risk item and the subset that touches the AI supply chain. Note that it&#8217;s graphed on a log scale so the legal risks didn&#8217;t dominate our ability to read the others.</p><p>What to see: legal and economic exposure is bigger than the other eighteen layers combined. </p><h2>Upstream (where China already tried to squeeze the rest of the world)</h2><p>I started at the top of the supply chain because that is where China has exerted export controls and I expected to see companies quantify the damage. According to the US Geological Survey, China accounted for 99% of world primary low-purity gallium production in 2024 and holds comparable market share across rare-earth minerals processing and permanent magnets.</p><p>When China put gallium and germanium under export licensing in August 2023, its gallium exports fell from 6,876 kilograms that July to 227 kilograms in October. Others followed and you can read about it elsewhere. The cost to the AI supply chain for gallium and germanium in 2025 was $71.8 million (or half of that if you allocate conservatively because the companies serve more industries than just AI).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RZMS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5212aa9-901d-4dc3-9e0d-6ba34a95c681_1960x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RZMS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5212aa9-901d-4dc3-9e0d-6ba34a95c681_1960x1080.png 424w, https://substackcdn.com/image/fetch/$s_!RZMS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5212aa9-901d-4dc3-9e0d-6ba34a95c681_1960x1080.png 848w, https://substackcdn.com/image/fetch/$s_!RZMS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5212aa9-901d-4dc3-9e0d-6ba34a95c681_1960x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!RZMS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5212aa9-901d-4dc3-9e0d-6ba34a95c681_1960x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RZMS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5212aa9-901d-4dc3-9e0d-6ba34a95c681_1960x1080.png" width="1456" height="802" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5212aa9-901d-4dc3-9e0d-6ba34a95c681_1960x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:802,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The mineral channel, measured&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The mineral channel, measured" title="The mineral channel, measured" srcset="https://substackcdn.com/image/fetch/$s_!RZMS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5212aa9-901d-4dc3-9e0d-6ba34a95c681_1960x1080.png 424w, https://substackcdn.com/image/fetch/$s_!RZMS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5212aa9-901d-4dc3-9e0d-6ba34a95c681_1960x1080.png 848w, https://substackcdn.com/image/fetch/$s_!RZMS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5212aa9-901d-4dc3-9e0d-6ba34a95c681_1960x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!RZMS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5212aa9-901d-4dc3-9e0d-6ba34a95c681_1960x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The middle hardware layer (where everybody is already right)</h2><p>The next stretch down the chain is the part the field already has right, so I will move through it quickly. Design tools are three firms, Synopsys, Cadence and Siemens EDA, at about 74% of the world market and about 78% of the China market on TrendForce&#8217;s 2024 numbers. Lithography is one firm, ASML, at roughly 90% of the market and all of extreme ultraviolet. ASML says it has never shipped an EUV system to China which the US Secretary of Commerce has publicly questioned. High-bandwidth memory (HBM) is effectively 100% from three allied suppliers. Advanced packaging is TSMC&#8217;s own platform sitting physically in Taiwan.</p><p>Then there is the fulcrum that is better demonstrated than quoting numbers for. NVIDIA&#8217;s and AMD&#8217;s GPUs are fabricated by TSMC in Taiwan. So are the custom TPUs and NPUs of Google, Amazon, Microsoft and Meta, with every major custom part now on the 3-nanometer node. In Taiwan. That&#8217;s the Silicon Shield.</p><p>Now the numbers. Across the industry, there were 76 items listed where the company stated it depends on a single supplier where there is no qualified alternative. There were 52 of those for raw materials. This is where company&#8217;s have no backup plan if the threat manifests.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jnOT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4827618-889e-4b77-8122-07cd6f4a6067_1960x1220.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jnOT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4827618-889e-4b77-8122-07cd6f4a6067_1960x1220.png 424w, https://substackcdn.com/image/fetch/$s_!jnOT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4827618-889e-4b77-8122-07cd6f4a6067_1960x1220.png 848w, https://substackcdn.com/image/fetch/$s_!jnOT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4827618-889e-4b77-8122-07cd6f4a6067_1960x1220.png 1272w, https://substackcdn.com/image/fetch/$s_!jnOT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4827618-889e-4b77-8122-07cd6f4a6067_1960x1220.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jnOT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4827618-889e-4b77-8122-07cd6f4a6067_1960x1220.png" width="1456" height="906" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4827618-889e-4b77-8122-07cd6f4a6067_1960x1220.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:906,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Where firms say they have nowhere else to go&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Where firms say they have nowhere else to go" title="Where firms say they have nowhere else to go" srcset="https://substackcdn.com/image/fetch/$s_!jnOT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4827618-889e-4b77-8122-07cd6f4a6067_1960x1220.png 424w, https://substackcdn.com/image/fetch/$s_!jnOT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4827618-889e-4b77-8122-07cd6f4a6067_1960x1220.png 848w, https://substackcdn.com/image/fetch/$s_!jnOT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4827618-889e-4b77-8122-07cd6f4a6067_1960x1220.png 1272w, https://substackcdn.com/image/fetch/$s_!jnOT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4827618-889e-4b77-8122-07cd6f4a6067_1960x1220.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How to read it: each bar counts the risk items where a company states it depends on a single supplier and they have no qualified alternative.</p><h2>How many AIs does it take to change a light bulb?</h2><p>I didn&#8217;t see this one coming. The grid and power firms filings documented 577 risks On 2019 data, the most recent published by the Department of Energy, roughly four in five new large power transformers (LPTs) were imported. Lead times grew from 50 weeks in 2021 to 128 weeks in Wood Mackenzie&#8217;s mid-2025 numbers. </p><p>Fortunately, this part of the AI supply chain can only be squished by our friends: Mexico, Canada, South Korea, Austria, and the European Union where we import LPTs from. The executive order restricting Chinese bulk-power equipment was suspended in January 2021, its implementing prohibition revoked that April, and the emergency behind it allowed to lapse.</p><p>To be exact about the risk here, a blocked transformer order does not affect a model training run already under way. It decides how much compute exists to run AI 2-3 years from now.</p><h2>The open-weight model surprise</h2><p>There are seven companies which list open-weight models as a risk to their business. One with regulatory risks, four where the efficiency of open-weight models threatens the services they provide to AI companies, one threatened by the cyber security implications, and one Chinese model provider who lists their own open-weight model as a threat to themselves. It&#8217;s ok to laugh.</p><p>This is despite Hugging Face&#8217;s Spring 2026 report putting Chinese models at the plurality of downloads over the past year. I&#8217;m watching to see if the open-weight risk paradigm inverts as more western companies integrate open-weight Chinese models into their businesses.</p><h2>But what risks have actually impacted these companies?</h2><p>We&#8217;ve done a cursory walk through the entire AI supply chain based on the risks the companies themselves identify. They have also identified where those things have gone wrong.</p><p>One of the most common threats companies (and governments) identify is having a single source of a critical supply. 11.7% of all of the AI industry&#8217;s documented risks are single-source risks. It has struck 29 times across the industry. And it has resulted in $0 in realized losses. Zero.</p><p>Cyber intrusion and intellectual-property theft is 10.4% of the industry&#8217;s fear map. And it has resulted in $15m in realized losses. And that&#8217;s dominated by two events. To help quantify how insignificant this is, Gartner reports worldwide AI spending $2.59T in 2026.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PCKU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a906a0-66ed-4633-8d87-47a12fd7d35c_1960x1280.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PCKU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a906a0-66ed-4633-8d87-47a12fd7d35c_1960x1280.png 424w, https://substackcdn.com/image/fetch/$s_!PCKU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a906a0-66ed-4633-8d87-47a12fd7d35c_1960x1280.png 848w, https://substackcdn.com/image/fetch/$s_!PCKU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a906a0-66ed-4633-8d87-47a12fd7d35c_1960x1280.png 1272w, https://substackcdn.com/image/fetch/$s_!PCKU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a906a0-66ed-4633-8d87-47a12fd7d35c_1960x1280.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PCKU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a906a0-66ed-4633-8d87-47a12fd7d35c_1960x1280.png" width="1456" height="951" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/78a906a0-66ed-4633-8d87-47a12fd7d35c_1960x1280.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:951,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Fear share against realized share&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Fear share against realized share" title="Fear share against realized share" srcset="https://substackcdn.com/image/fetch/$s_!PCKU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a906a0-66ed-4633-8d87-47a12fd7d35c_1960x1280.png 424w, https://substackcdn.com/image/fetch/$s_!PCKU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a906a0-66ed-4633-8d87-47a12fd7d35c_1960x1280.png 848w, https://substackcdn.com/image/fetch/$s_!PCKU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a906a0-66ed-4633-8d87-47a12fd7d35c_1960x1280.png 1272w, https://substackcdn.com/image/fetch/$s_!PCKU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78a906a0-66ed-4633-8d87-47a12fd7d35c_1960x1280.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How to read it: one row per risk category. The dot is that category&#8217;s share of all disclosed fear, the bar is its share of all realized quantified loss. The yellow is a single Microsoft tax bill and I recolored to make it visible.</p><p>Then I coded every realized risk event twice, did the company&#8217;s own conduct cause the event or did another country cause the event. Inside the subset of events that somebody did deliberately, US policy accounts for $9.01 billion in losses across 93 events. The export controls runs about ten to one, $6.47 billion in losses by American and allied AI-industry companies against $0.64 billion in losses by Chinese companies.</p><p>And the hostile actors? AI industry companies disclosed 71 events but only two cost them money ($15m total).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sB3E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c13d740-bb7b-416f-92ea-7dc4f80fa51b_1960x1300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sB3E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c13d740-bb7b-416f-92ea-7dc4f80fa51b_1960x1300.png 424w, https://substackcdn.com/image/fetch/$s_!sB3E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c13d740-bb7b-416f-92ea-7dc4f80fa51b_1960x1300.png 848w, https://substackcdn.com/image/fetch/$s_!sB3E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c13d740-bb7b-416f-92ea-7dc4f80fa51b_1960x1300.png 1272w, https://substackcdn.com/image/fetch/$s_!sB3E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c13d740-bb7b-416f-92ea-7dc4f80fa51b_1960x1300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sB3E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c13d740-bb7b-416f-92ea-7dc4f80fa51b_1960x1300.png" width="1456" height="966" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c13d740-bb7b-416f-92ea-7dc4f80fa51b_1960x1300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:966,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Who actually caused the measured degradation&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Who actually caused the measured degradation" title="Who actually caused the measured degradation" srcset="https://substackcdn.com/image/fetch/$s_!sB3E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c13d740-bb7b-416f-92ea-7dc4f80fa51b_1960x1300.png 424w, https://substackcdn.com/image/fetch/$s_!sB3E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c13d740-bb7b-416f-92ea-7dc4f80fa51b_1960x1300.png 848w, https://substackcdn.com/image/fetch/$s_!sB3E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c13d740-bb7b-416f-92ea-7dc4f80fa51b_1960x1300.png 1272w, https://substackcdn.com/image/fetch/$s_!sB3E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c13d740-bb7b-416f-92ea-7dc4f80fa51b_1960x1300.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How to read it: one asking whose conduct produced the loss, and one asking which government imposed it, in dollars on the left and in event counts on the right.</p><p>What to see: self-inflicted events plus own-government policy accounts for roughly 90% of the losses. Hostile action against the company is 13% of events but three hundredths of one percent of the money.</p><h2>What the corporate filings cannot see (yet)</h2><p>Everything above measures firms that file because they are public, or they have filed to make an initial public offering. Private companies, and those with still-confidential IPO filings, are invisible to this form of analysis. But the AI buildout is too capital-intensive for companies to stay private. SK hynix, the most concentrated single supplier node in the entire stack, priced its Nasdaq listing on July 9, 2026 when I was working on this project and disclosed risks. SK hynix names its dependence on a limited number of equipment makers in the Netherlands, the United States and Japan, names nation states among the parties that may penetrate its systems, and says it has already experienced cyberattacks. </p><p>The same need for capital is pulling Chinese chip designers onto the Shanghai and Hong Kong exchanges, and it is pulling the American Anthropic and OpenAI labs to file confidential draft IPO prospectus. Each IPO listing retroactively fills in gaps because as surfaces between 2.2 and 3.6 years of back-risks at once. This AI supply chain map gets more complete every quarter.</p><h2>Best Arguments Against This</h2><p>Measuring public company&#8217;s disclosures only measures what they disclosed. This will systematically miss classified harm, embarrassing harm, and harm nobody ever put a number on. The absence of Chinese-attributed damage could be a fact about my instrument rather than a fact about the world. That is the strongest counterargument. I mostly agree. This analysis identified 71 hostile events. But few documented losses and I wish I had a good explanation for it.</p><h2>What Would Change My Mind</h2><p>I went looking for where the AI industry could break and came out with an understanding of who has actually been breaking it. The biggest measured wounds came from export-controls. China&#8217;s export controls have cost the AI industry tens of millions of dollars against billions of self-imposed western cost. Then the question becomes <em>are the national security advantages worth the cost?</em> That&#8217;s a different article.</p><p>What I found was that American AI is not under siege. It is under management.</p><div><hr></div><h2><em>A note on method and AI use</em></h2><p><em>I orchestrated AI agents for the research behind this piece. The hypotheses were 100% me. The data was 10.5 GB across ten datasets of which 29% are Chinese language filings by size. A local LLM was used for translation and data extraction. I vibe coded 22,955 lines of Python and shell scripts to deduplicate, acquire, extract, verify and chart all of it. This analysis exists because agents did the reading and I did the thinking. The conclusions were 100% me. The text is an amalgamation of AI-generated/Mike-edited and Mike-generated/AI-edited. For reference, it takes me more time to write up the conclusions than to conduct the research.</em></p>]]></content:encoded></item><item><title><![CDATA[AI in Warfare Part 7: Win Every Battle. Lose the War.]]></title><description><![CDATA[Unbreakable AI moves your dead off the battlefield. It does not move them out of the war.]]></description><link>https://www.mfrantzen.com/p/ai-in-warfare-part-7-win-every-battle</link><guid isPermaLink="false">https://www.mfrantzen.com/p/ai-in-warfare-part-7-win-every-battle</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Fri, 24 Jul 2026 12:01:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Vhc-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f09d67-df96-4936-8bdb-40d8a35a689f_1200x630.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There are a good number of legal, policy, ethical, and even religious discussions asking if we should incorporate AI into weapons. I have been taking a different approach, projecting AI-characteristics onto well-studied historic battles, and using Lanchester equations to model what AI-weapons will do to battle. This series focuses on being able to imbue AI weapons with an unbreakable will.</p><p>This post is the story of a result attacked twice and sharper both times. The original capstone: a casualty-averse democracy fields tactical AI that never routs, her battle wins soar, and her odds of winning the war never improve, with every machine loss counted as national blood. But will the nation count robot wreckage as body bags? Probably not. And this is the sobering moment, if the nation doesn&#8217;t value it&#8217;s AI weapons then their enemy is incentivized to attack the rear human troops and civilians. The war is decided by what the nation can bear. And the adversary must attack what the nation can not bear to lose.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vhc-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f09d67-df96-4936-8bdb-40d8a35a689f_1200x630.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vhc-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f09d67-df96-4936-8bdb-40d8a35a689f_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Vhc-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f09d67-df96-4936-8bdb-40d8a35a689f_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Vhc-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f09d67-df96-4936-8bdb-40d8a35a689f_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Vhc-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f09d67-df96-4936-8bdb-40d8a35a689f_1200x630.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vhc-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f09d67-df96-4936-8bdb-40d8a35a689f_1200x630.jpeg" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8f09d67-df96-4936-8bdb-40d8a35a689f_1200x630.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;p7_two_ledgers__airobot__completed.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="p7_two_ledgers__airobot__completed.png" title="p7_two_ledgers__airobot__completed.png" srcset="https://substackcdn.com/image/fetch/$s_!Vhc-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f09d67-df96-4936-8bdb-40d8a35a689f_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Vhc-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f09d67-df96-4936-8bdb-40d8a35a689f_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Vhc-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f09d67-df96-4936-8bdb-40d8a35a689f_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Vhc-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8f09d67-df96-4936-8bdb-40d8a35a689f_1200x630.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>What to see: The upgrade wins the battles and loses the war 86 times in 100, under a stylized model that bills machine losses as national blood. AI-generated illustration; proportions follow the measured result.</em></p><p>Everything turns on two dials: whether the nation grieves machine losses like sons, and whether the enemy can reach the blood that remains. The dials map four regimes, the fourth a pocket inside the third regime. Machine losses billed as blood: the published inversion stands, a borderline won war lost 86 times in 100. Bloodless robots, blood out of reach: the finding reverses, though treasure and time can still lose the war. Even weak reach into the rear: the trap returns, the enemy deliberately losing every battle to win the war. The pocket: in 7 of 36 weak-reach cells the robots punish diversion so hard the enemy calls the rear attack off. Stylized model throughout; the orderings are the findings.</p><h2>1. The original result, and where it still stands</h2><p><strong>Regime one: your losses are blood, and the blood meter decides.</strong> The capstone runs a two-tier campaign of up to 20 battles on the Lanchester engine validated against Iwo Jima, Bull Run, Pickett&#8217;s Charge, and Trafalgar. Above it sits a per-side national cost meter, casualties, economic burden, war weariness, with literature-motivated, uncalibrated weights: the democracy prices blood heavily, her casualty-indifferent adversary hardly at all. When cumulative cost crosses tolerance, a nation sues for peace, whatever the map says.</p><p>Make her troops unbreakable and battle wins jump from 4% to 91% (95% confidence interval plus or minus 0.8 points, 8,000 campaigns per cell). Yet in all 36 cells the upgrade never once reduced her probability of strategic defeat while every machine loss was booked as national blood at full weight; in the borderline anchor cell it raised that probability from 0% to 86%, with about 20% more of her own dead. Won by a hair, yet the baseline bar sits at zero? Both are true: normal troops win this war every time, but at parameters where one push flips it. The upgrade is the push.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d45Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98e288e0-74a0-456f-bd3b-e5023ed4e901_1200x819.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d45Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98e288e0-74a0-456f-bd3b-e5023ed4e901_1200x819.jpeg 424w, https://substackcdn.com/image/fetch/$s_!d45Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98e288e0-74a0-456f-bd3b-e5023ed4e901_1200x819.jpeg 848w, https://substackcdn.com/image/fetch/$s_!d45Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98e288e0-74a0-456f-bd3b-e5023ed4e901_1200x819.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!d45Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98e288e0-74a0-456f-bd3b-e5023ed4e901_1200x819.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d45Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98e288e0-74a0-456f-bd3b-e5023ed4e901_1200x819.jpeg" width="1200" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98e288e0-74a0-456f-bd3b-e5023ed4e901_1200x819.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p7_inversion_grid.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p7_inversion_grid.png" title="body_p7_inversion_grid.png" srcset="https://substackcdn.com/image/fetch/$s_!d45Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98e288e0-74a0-456f-bd3b-e5023ed4e901_1200x819.jpeg 424w, https://substackcdn.com/image/fetch/$s_!d45Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98e288e0-74a0-456f-bd3b-e5023ed4e901_1200x819.jpeg 848w, https://substackcdn.com/image/fetch/$s_!d45Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98e288e0-74a0-456f-bd3b-e5023ed4e901_1200x819.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!d45Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98e288e0-74a0-456f-bd3b-e5023ed4e901_1200x819.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: rows her national tolerance, columns the enemy&#8217;s; each number is the change in her defeat probability, machine losses billed as blood.</em><br><em>What to see: harm in the 2 outlined cells of 36, blue nowhere; under this accounting the upgrade never once helped.</em></p><p>That grid disciplines both camps. The doomer version, robots lose you the war, is wrong in 34 of 36 cells; mostly the upgrade is inert while the dead pile higher. The booster version, robots win you the war, is wrong in 36 of 36. The reviewer attacked that asymmetry next.</p><h2>2. The blood-weight dial</h2><p><strong>A robot loss is not a body bag, so I built the dial and turned it.</strong> The machine-loss blood weight w is the share of machine losses billed to the nation&#8217;s casualty channel. At w = 100% it reproduces the published capstone to the last digit; at w = 0 the robots are pure treasure. I reran the grid between.</p><p>The published ordering is a knife edge that survives only above w of roughly 90%: the borderline cell&#8217;s 86% chance of losing the war falls to 54% at w = 95%, 28% at 90%, 0.8% at 85%, zero at 80% and below. A cliff, not a slope, sharpened by near-deterministic thresholds. Below it the sign flips grid-wide: helping in 5 of 36 cells at w = 75% and 30 of 36 at w = 0, hurting nowhere.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IxJK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0a3f2a-3021-4683-b387-dbe11b54d102_1200x630.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IxJK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0a3f2a-3021-4683-b387-dbe11b54d102_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!IxJK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0a3f2a-3021-4683-b387-dbe11b54d102_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!IxJK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0a3f2a-3021-4683-b387-dbe11b54d102_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!IxJK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0a3f2a-3021-4683-b387-dbe11b54d102_1200x630.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IxJK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0a3f2a-3021-4683-b387-dbe11b54d102_1200x630.jpeg" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a0a3f2a-3021-4683-b387-dbe11b54d102_1200x630.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p7_v2_the_cliff_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p7_v2_the_cliff_1200x630.png" title="hero_p7_v2_the_cliff_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!IxJK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0a3f2a-3021-4683-b387-dbe11b54d102_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!IxJK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0a3f2a-3021-4683-b387-dbe11b54d102_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!IxJK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0a3f2a-3021-4683-b387-dbe11b54d102_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!IxJK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a0a3f2a-3021-4683-b387-dbe11b54d102_1200x630.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: walking right means grieving machine losses more like human dead; terrain height is her chance of losing the war in the borderline cell.</em><br><em>What to see: a cliff, not a slope; one accounting assumption, whether a nation bleeds for its machines, holds the entire published result.</em></p><p>Mixed forces carry a wrinkle at deep discounts, w of 25% and below. Human deaths fall in absolute terms, because machines soak fire, but discounted machine blood keeps the democracy fighting: campaigns run longer than the all-human force&#8217;s wars against the same enemy, up to 40 percent longer in the worst cells (10.9 battles against 8.0), and per-capita deaths among the remaining humans rise in 27 of 36 cells (mean ratio 1.15, worst 1.38). Robot blood discounts buy longer wars in which each remaining soldier is more likely to die.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Errt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48ccfbf-295e-4fa0-899e-d5959e657baa_1200x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Errt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48ccfbf-295e-4fa0-899e-d5959e657baa_1200x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Errt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48ccfbf-295e-4fa0-899e-d5959e657baa_1200x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Errt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48ccfbf-295e-4fa0-899e-d5959e657baa_1200x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Errt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48ccfbf-295e-4fa0-899e-d5959e657baa_1200x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Errt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48ccfbf-295e-4fa0-899e-d5959e657baa_1200x720.jpeg" width="1200" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c48ccfbf-295e-4fa0-899e-d5959e657baa_1200x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p7_percapita.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p7_percapita.png" title="body_p7_percapita.png" srcset="https://substackcdn.com/image/fetch/$s_!Errt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48ccfbf-295e-4fa0-899e-d5959e657baa_1200x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Errt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48ccfbf-295e-4fa0-899e-d5959e657baa_1200x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Errt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48ccfbf-295e-4fa0-899e-d5959e657baa_1200x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Errt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc48ccfbf-295e-4fa0-899e-d5959e657baa_1200x720.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: each dot is one grid cell: per-capita human dead with the half-robot force relative to the all-human force.</em><br><em>What to see: discounted robot blood buys longer wars in which each remaining soldier is likelier to die, even as the headline body count falls.</em></p><p>So regime two is real: bloodless robots with blood out of reach are close to a strategic free lunch. Close: even at w = 0 the enemy wins 2 of 36 cells (defeat probability up to 40%) on economy and weariness alone. The breakpoint changes currency; it does not disappear. This enemy could not re-target the democracy&#8217;s remaining blood, so I gave him the option.</p><h2>3. The enemy reads the ledger too</h2><p><strong>Regime three: he loses every battle on purpose and wins the war.</strong> The enemy may now divert force from each battle to the democracy&#8217;s rear: logistics crews, infrastructure, civilians, whatever blood remains reachable. Rear blood bills at full political weight, because it is human. Reach effectiveness is a free parameter, swept from weak to strong around an argued anchor.</p><p>The bloodless-robot advantage collapses on contact. At w = 0, a rational enemy with weak reach shrinks the robots&#8217; help from 30 cells to 7 and defeats the democracy in 27 of 36; at moderate reach she loses all 36, and so does her all-human counterpart. The trap was never about the robots. It is a casualty-averse polity with reachable blood, facing one without. In the borderline cell defeat goes from 0% to 100% while her tactical win rate is 100%: the enemy diverts up to half his force, deliberately loses every battle, and wins the war in a median of four battles, because the battles were never where your blood was.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m8ad!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6e1f18-4977-497d-a096-fbe1b4623754_1200x630.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m8ad!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6e1f18-4977-497d-a096-fbe1b4623754_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!m8ad!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6e1f18-4977-497d-a096-fbe1b4623754_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!m8ad!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6e1f18-4977-497d-a096-fbe1b4623754_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!m8ad!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6e1f18-4977-497d-a096-fbe1b4623754_1200x630.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m8ad!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6e1f18-4977-497d-a096-fbe1b4623754_1200x630.jpeg" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb6e1f18-4977-497d-a096-fbe1b4623754_1200x630.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p7_v3_will_that_remains_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p7_v3_will_that_remains_1200x630.png" title="hero_p7_v3_will_that_remains_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!m8ad!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6e1f18-4977-497d-a096-fbe1b4623754_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!m8ad!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6e1f18-4977-497d-a096-fbe1b4623754_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!m8ad!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6e1f18-4977-497d-a096-fbe1b4623754_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!m8ad!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb6e1f18-4977-497d-a096-fbe1b4623754_1200x630.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: the robot lane wins every battle at the front; the arrows are the enemy force that never shows up there, tapping the rear until her cost meter crosses tolerance (stylized; rear reach is a free parameter).</em><br><em>What to see: he loses every battle on purpose and wins the war; the battles were never where her blood was.</em></p><p>If the trap is about casualty-averse polities, what did simulating the robots buy? The boundaries, not the destination: the w cliff near 90%, the 7 cells where robots deter the rear attack, the rout sanctuary below, and the posts 2 through 6 ladder, worthless trooper will to 10-to-1 commander will to decisive national will. None of that comes off a napkin.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6kIm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F621e7ca2-989d-4d35-8f86-571439348790_1200x860.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6kIm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F621e7ca2-989d-4d35-8f86-571439348790_1200x860.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6kIm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F621e7ca2-989d-4d35-8f86-571439348790_1200x860.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6kIm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F621e7ca2-989d-4d35-8f86-571439348790_1200x860.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6kIm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F621e7ca2-989d-4d35-8f86-571439348790_1200x860.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6kIm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F621e7ca2-989d-4d35-8f86-571439348790_1200x860.jpeg" width="1200" height="860" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/621e7ca2-989d-4d35-8f86-571439348790_1200x860.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:860,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p7_regime_map.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p7_regime_map.png" title="body_p7_regime_map.png" srcset="https://substackcdn.com/image/fetch/$s_!6kIm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F621e7ca2-989d-4d35-8f86-571439348790_1200x860.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6kIm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F621e7ca2-989d-4d35-8f86-571439348790_1200x860.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6kIm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F621e7ca2-989d-4d35-8f86-571439348790_1200x860.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6kIm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F621e7ca2-989d-4d35-8f86-571439348790_1200x860.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: rows, how the nation prices machine losses; columns, the enemy&#8217;s reach into her rear; the maps count cells of 36 he wins and cells where the upgrade still pays.</em><br><em>What to see: the advantage survives only weak reach and deep blood discounts; from moderate reach on he wins everywhere.</em></p><p>One limitation gates everything here: reach is anchored, not calibrated, and the answer cliffs between weak and moderate, so where a real adversary sits the model cannot say. The remaining concessions live in Best Arguments.</p><h2>4. Two silver linings</h2><p><strong>Regime four, the pocket inside the third: the robots deter the rear attack where their punishment is credible.</strong> At weak reach the surviving help cells are deterrence cells: in 6 of the 7 the enemy&#8217;s best diversion collapses to zero, because every soldier sent rearward is absent from a battle the robots now win before the rear tap fills. Against a normal force his best play in 4 of the 7 cells is the half-strength diversion, the democracy&#8217;s defeat odds running as high as certainty. Seven cells of 36, in a weak-reach world where she still loses the other 27, bought by menace: the best product is again the fights, and here the atrocities, that do not happen.</p><p><strong>And concentrating fire on your humans backfires, because the rout is a sanctuary.</strong> I expected the rational enemy to attack the front-line mixed force&#8217;s humans with concentrated fire. He almost never does, his best response in at most 6 of 108 cases: concentration pushes humans to their rout threshold sooner, routed humans stop being extractable blood, and rounds spent on the soon-to-rout are rounds not killing machines, which then win faster. In the borderline cell, concentrated fire on the front-line humans lowers her defeat probability from 94.0% to 84.2%. The rear has no rout floor. That is why attacking the rear humans (including civilians) dominates.</p><h2>5. The honest scorecard</h2><p><strong>Six posts compress into one fair ledger.</strong> What unbreakable will buys:</p><ul><li><p>Iwo Jima: the unbroken garrison roughly doubled American casualties (1.95x, 21,431 versus 10,969 simulated, assault-echelon accounting) and more than tripled the clock (post 2).</p></li><li><p>Parity: the Union broke at Bull Run at 8.3% casualties, 2,896 of 35,000 present counting killed, wounded, missing, and captured; a robot Pickett&#8217;s Charge wins 92% (95% interval 91.6 to 92.5), never loses, stalemates the rest (post 2).</p></li><li><p>A tiebreaker: 33 to 46 points of win probability in stylized salvo duels near parity, more in the calibrated battles (post 4).</p></li></ul><p>What it does not buy:</p><ul><li><p>Escape from capability: 66% (band 60.8 to 72.2%) of 607 historical defeats were capability losses (post 3).</p></li><li><p>Victory below the floor (0.65 Pickett, 1.12 Trafalgar): an unbreakable Trafalgar fleet loses five times in six (83.6%, interval 83.0 to 84.2); against a steadfast enemy your will is worth exactly zero (post 4).</p></li><li><p>The right target: commanders withdrew ten times as often as troops were annihilated, 266 versus 26 of 607 (post 5).</p></li><li><p>The enemy&#8217;s cooperation: he declines 40 to 58% of the fights, collapsing will&#8217;s measured value about 97% (post 6).</p></li><li><p>The war: never in 36 of 36 cells when losses bill as blood; otherwise the enemy re-prices it in the blood that remains (this post).</p></li></ul><h2>6. The operating rules</h2><p><strong>Prescriptions belong at the end of the evidence.</strong> Nine rules, each traceable to a measured finding; rules three, four, five, seven, and eight carry stylized magnitudes, and the orderings are the finding.</p><p>1. <strong>Buy capability to parity before buying will.</strong> Two-thirds of historical defeats were capability losses; below the capability floor no resolve wins. First reach the tie.</p><p>2. <strong>Automate the commander&#8217;s strategic decision to stand before the tactical troops&#8217; decision.</strong> Commanders quit ten times as often as troops were annihilated; the binding breakpoint is the command post, not the rifle pit.</p><p>3. <strong>Spend the will budget on the objective-holding force.</strong> Will was worth about +50 points of win probability for the objective-holding domain, about zero for supporting domains. Resolve in the supporting cast is decoration.</p><p>4. <strong>Treat electronic-warfare (EW) and cyber resilience as the will budget, because it is.</strong> Below a resilience threshold (about 40%, 20 to 50% across configurations), the enemy jams or hacks your will instead of killing your platforms. Buy hardening before you brag.</p><p>5. <strong>Expect the enemy to decline your unbreakable force&#8217;s fights.</strong> A rational opponent deterred from roughly 40 to 58% of encounters kept only the fights it liked, collapsing will&#8217;s realized value about 97%. Price deterrence in; it never shows in battle statistics.</p><p>6. <strong>Budget the butcher&#8217;s bill in both directions.</strong> Iwo Jima&#8217;s unbroken garrison doubled the attacker&#8217;s casualties; the unbreakable Trafalgar fleet nearly doubles British losses going down. Plan for more losses, and know whether yours arrive as blood or treasure.</p><p>7. <strong>Decide which ledger your losses land on, and assume the enemy reads it too.</strong> An unbreakable force is harmful or inert where its losses read as blood, decisive where they read as treasure, then hostage to the enemy&#8217;s reach into whatever blood remains. He will not fight your bloodless force. He will go find your blood.</p><p>8. <strong>Wire the national breakpoint into war-termination planning, in every currency it accepts.</strong> A democracy spending zero blood still lost through treasure and time in 2 of 36 cells; mixed forces stretched wars, up to 40 percent longer in the worst cells, while each remaining soldier bled more. Give the plan a cost ceiling and the authority to enforce it against the machines&#8217; win rate.</p><p>9. <strong>Instrument your breakpoints before you buy around them.</strong> The database morale code I audited carried essentially no information about actual will collapses (agreement statistically indistinguishable from zero); observed rout thresholds span 10 to 70% of casualties. Measure where your forces, allies, and public break, or every rule above is applied to a guess.</p><h2>Best Arguments Against This</h2><p>The strongest objection: regime three&#8217;s mechanism, hurting a population until its government folds, is punishment coercion, and punishment loses. Across roughly 30 to 40 major air campaigns, Robert Pape&#8217;s Bombing to Win (1996) found punishment virtually never coerces; denial, defeating the enemy&#8217;s military strategy, does. The US Strategic Bombing Survey found German morale sagged under bombing but never converted into capitulation; Pape found public resolve often stiffened. My model implicitly runs Schelling&#8217;s Arms and Influence (1966), the power to hurt; the record is its rebuttal. The blood-tap direction is contested, not established, and my moderate anchor is generous to the enemy.</p><p>The model also stacks the deck: my democracy cannot defend her rear, cannot strike the diverted force, and the enemy pays no political or escalation cost for attacking civilians. And he is close to clairvoyant, knowing exactly how the democracy prices machine losses and where her tolerance sits, where a real adversary must estimate both. Until the model carries rear defenses, escalation costs, and an estimating enemy, regime three prints as a direction with an argued anchor, not a forecast.</p><p>The last objection goes to the meter. My weights lean principally on John Mueller&#8217;s 1973 finding that public support fell with cumulative casualties. Gelpi, Feaver, and Reifler, in Paying the Human Costs of War (2009), counter that the public is &#8220;defeat phobic, not casualty phobic.&#8221; That half-supports me: if success drives support, losing the war breaks the nation, the model&#8217;s outcome variable. But a lone blood meter is too crude, and success-fed tolerance would soften every inversion here; I concede both. Dan Reiter&#8217;s How Wars End (2009) objects deeper: wars end by bargaining, not a meter crossing a line. My threshold is a caricature of that process. I defend it as a caricature history keeps rhyming with.</p><h2>What Would Change My Mind</h2><ul><li><p>If by end-2027 Ukraine&#8217;s uncrewed-ground-vehicle (UGV) substitution measurably lowers desertion rates while the line holds, machine will is relieving national will, not outrunning it.</p></li><li><p>If a UGV-heavy force sustains public support through a demonstrably costly campaign by end-2028, machine losses polled as treasure, regime two deserves the headline.</p></li><li><p>If documented rear-attack campaigns raise measured war support in more than one polled casualty-averse democracy by end-2028, regime three&#8217;s blood channel is mis-signed.</p></li><li><p>If an agent-based replication with defendable rears and enemy escalation costs finds the robot advantage surviving moderate reach by mid-2028, regime three is my abstraction&#8217;s artifact, and I will say so.</p></li></ul><h2>The mental model</h2><p>Unbreakable will is not a way out of Clausewitz. It is a detour that ends where he said it would: at the will that remains, national, political, human, holding a ledger the enemy reads as well as you do.</p><p>That is the series: I taught a simulation not to break, and it taught me where we still do.</p><p>One pointer before I go. The salvo equations that govern the missile age never priced will at all. They price the skill at the end of the flight, and that skill just fell to $1,000. What that does to every layered defense we own is the next series on AI Weapons. I have some Chinese dirty laundry to air first though.</p>]]></content:encoded></item><item><title><![CDATA[AI in Warfare Part 6: The Unexpected Deterrence]]></title><description><![CDATA[In my models a thinking enemy declined roughly half the engagements, and kept the ones he wins]]></description><link>https://www.mfrantzen.com/p/ai-in-warfare-part-6-the-unexpected</link><guid isPermaLink="false">https://www.mfrantzen.com/p/ai-in-warfare-part-6-the-unexpected</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Thu, 23 Jul 2026 12:02:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_z3Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe429571f-2ec8-4258-9ef9-458ec400f40a_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There are a good number of legal, policy, ethical, and even religious discussions asking if we should incorporate AI into weapons. I have been taking a different approach, projecting AI-characteristics onto well-studied historic battles, and using Lanchester equations to model what AI-weapons will do to battle. This series focuses on being able to imbue AI weapons with an unbreakable will.</p><p>Every result in this series so far assumed the enemy shows up. Put both forces on the field, run the battle 15,000 times, count the outcomes. That assumption does enormous, silent work. Real enemies read your order of battle first, and then decide whether to fight at all.</p><p>This post puts that decision inside the model. It is the most deflationary result of the whole project. When I gave the simulated enemy the choice of whether and how to engage, three things happened. First, a rational enemy declined roughly 40-58 percent of the engagements he would have fought against a breakable force. That range comes from a stylized model with a perfectly informed enemy, so read it as an upper bound on deterrence. Second, of the fights he still allowed, the unbreakable force won only 10-43 percent, against the 91-100 percent a naive model predicts when every fight happens. Third, when the enemy could pick the kind of fight, not just whether to fight, the measured value of unbreakable will collapsed by about 97 percent, from 46 points to 1 point on the model&#8217;s win-probability scale. The direction of that collapse survived every parameter sweep I ran; the exact size belongs to this particular setup. All three results are illustrative engagement games built on top of the validated battle engine, not calibrated history. The orderings are the findings. The magnitudes are illustrations.</p><p>The one-line version for the meeting: the enemy will not fight your unbreakable army. He will fight around it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_z3Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe429571f-2ec8-4258-9ef9-458ec400f40a_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_z3Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe429571f-2ec8-4258-9ef9-458ec400f40a_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!_z3Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe429571f-2ec8-4258-9ef9-458ec400f40a_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!_z3Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe429571f-2ec8-4258-9ef9-458ec400f40a_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!_z3Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe429571f-2ec8-4258-9ef9-458ec400f40a_1200x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_z3Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe429571f-2ec8-4258-9ef9-458ec400f40a_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e429571f-2ec8-4258-9ef9-458ec400f40a_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p6_v1_flow_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p6_v1_flow_1200x630.png" title="hero_p6_v1_flow_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!_z3Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe429571f-2ec8-4258-9ef9-458ec400f40a_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!_z3Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe429571f-2ec8-4258-9ef9-458ec400f40a_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!_z3Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe429571f-2ec8-4258-9ef9-458ec400f40a_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!_z3Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe429571f-2ec8-4258-9ef9-458ec400f40a_1200x630.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: Follow 100 potential fights left to right; the blue stream bends away unfought, and only the brass threads end inside the win zone, small against the dashed naive ring.</em><br><em>What to see: A force that &#8220;never loses&#8221; banks about 14 wins per 100 opportunities once the other side picks the fights.</em></p><p>The funnel&#8217;s bar widths show the midpoint scenario: 49 fights deterred, 27 percent of the allowed fights won. The printed ranges carry the uncertainty.</p><p><strong>1. Deterrence is real, and it is the largest single effect.</strong> The selection model fits in a paragraph. Two equal forces meet repeatedly. Each encounter draws a capability ratio from a distribution centered on parity: sometimes you have the edge, sometimes he does. Your force is either normal, breaking at historical morale thresholds, or unbreakable. The enemy knows your capability and your will, and he declines any battle he expects to lose.</p><p>Against a normal force, the enemy&#8217;s decision line sits at parity. A fair fight is a coin flip, so he takes anything at even odds or better. Against an unbreakable force, his line moves dramatically. In this setup, the unbreakable force wins any fight where its effectiveness ratio is above roughly 0.44, because it converts every close fight into a grinding attrition contest the breakable side quits first. That 0.44 is not a dial; it falls out of the two sides&#8217; breakpoint parameters, where fighting to destruction reaches even odds against routing at a quarter losses. Everything between 0.44 and parity becomes a fight the enemy would have taken against you yesterday and refuses today.</p><p>Sweep the spread of capability draws and the engagement rule, and roughly 40-58 percent of encounters come off the calendar. That number never appears in any battle record. No dispatch reads &#8220;the enemy declined contact because our will was unbreakable.&#8221; The single largest effect of the whole investment is invisible.</p><p>Political science knows this mechanism: wars are a strategically selected subset (Fearon 1995), democracies pick wars they expect to win (Reiter and Stam 2002), initiators pick targets they can beat (Gartner and Siverson 1996). This post gives that insight a combat-model engine.</p><p>Which sounds like winning. Hold that thought.</p><p><strong>2. Now look at which fights he declines.</strong> Part four of this series found that unbreakable will pays most in the near-parity band: at heavy disadvantage it cannot save you, and at heavy advantage you did not need it. Now overlay the enemy&#8217;s decision line. The band he vacates, 0.44 to parity, is exactly the band where will is worth the most. He donates the fights that do not matter and keeps the ones he wins.</p><p>The arithmetic that falls out is brutal. A naive model, one where every possible engagement gets fought, predicts the unbreakable force wins 91-100 percent of encounters across the swept settings. The selected record shows it winning 10-43 percent of the fights it is actually allowed. Same force. Same will. The only change is who picks the fights.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!giRd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8750dda-6c69-4c5e-9ec4-dda610e164d0_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!giRd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8750dda-6c69-4c5e-9ec4-dda610e164d0_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!giRd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8750dda-6c69-4c5e-9ec4-dda610e164d0_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!giRd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8750dda-6c69-4c5e-9ec4-dda610e164d0_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!giRd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8750dda-6c69-4c5e-9ec4-dda610e164d0_1200x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!giRd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8750dda-6c69-4c5e-9ec4-dda610e164d0_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8750dda-6c69-4c5e-9ec4-dda610e164d0_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p6_v3_survivorship_gap_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p6_v3_survivorship_gap_1200x630.png" title="hero_p6_v3_survivorship_gap_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!giRd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8750dda-6c69-4c5e-9ec4-dda610e164d0_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!giRd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8750dda-6c69-4c5e-9ec4-dda610e164d0_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!giRd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8750dda-6c69-4c5e-9ec4-dda610e164d0_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!giRd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8750dda-6c69-4c5e-9ec4-dda610e164d0_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: The dashed slab is the record a model with no enemy vote predicts; the brass slab is what the after-action file would actually show.</em><br><em>What to see: Same force, same will; who picks the fights is worth up to roughly 80 points of win rate on paper.</em></p><p>There is a career-review joke buried in this. A near-invincible force, assessed on its win-loss record, looks mediocre. Its after-action file reads like an officer passed over twice. Selection does that: the enemy only ever meets you where he holds the overmatch, so the record samples your worst days. One phrasing trap is worth flagging honestly. Whether the unbreakable force&#8217;s win rate in fought battles drops below a normal force&#8217;s depends on the engagement rule; under a stricter rule it stays higher. The robust claim is the survivorship gap against the naive expectation, and that gap is large under every rule I tested.</p><p><strong>3. A deterred fight is not a won fight.</strong> Here is the part the funnel chart cannot show. The deterred 40-58 percent are not victories. They are non-events. The enemy who declines battle keeps his army, keeps his ground, and keeps his options. He waits, adapts, and presses somewhere else.</p><p>Wars need decisions. Clausewitz&#8217;s whole argument is that war is an act of force to compel the enemy to do our will; a battle that never happens compels nothing. A force that must take ground, relieve a siege, or force a political settlement cannot cash deterred engagements. It shows up ready to fight forever, and finds that forever is exactly what the enemy is happy to give it.</p><p>So the ledger reads: the biggest effect produces no decision, and the residual fights are the enemy&#8217;s picks. That is what &#8220;the enemy gets a vote&#8221; costs.</p><p><strong>4. Let him choose the kind of fight, and will&#8217;s value nearly vanishes.</strong> The second model gives the enemy a richer menu. Instead of fight-or-decline, he chooses among three engagement types: a grinding attrition battle, a decisive first strike, or avoiding battle entirely. The payoffs come from the same engines validated earlier in the series, at near parity where will matters most.</p><p>Walk the matrix. In the attrition column, unbreakable will is magnificent: it lifts the win probability from 49% to 95%, a premium of 46 points. In the first-strike column, will is nearly worthless for either side; part four showed why, since a fight decided by the opening salvo never reaches the morale check. Win probabilities there are 0.3% and 1.5%. The avoid column pays the status quo to both.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F6U1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd06c22d-4da4-497f-bc6b-063167257d71_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F6U1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd06c22d-4da4-497f-bc6b-063167257d71_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!F6U1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd06c22d-4da4-497f-bc6b-063167257d71_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!F6U1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd06c22d-4da4-497f-bc6b-063167257d71_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!F6U1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd06c22d-4da4-497f-bc6b-063167257d71_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F6U1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd06c22d-4da4-497f-bc6b-063167257d71_1200x800.png" width="1200" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd06c22d-4da4-497f-bc6b-063167257d71_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p6_menu_matrix.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p6_menu_matrix.png" title="body_p6_menu_matrix.png" srcset="https://substackcdn.com/image/fetch/$s_!F6U1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd06c22d-4da4-497f-bc6b-063167257d71_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!F6U1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd06c22d-4da4-497f-bc6b-063167257d71_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!F6U1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd06c22d-4da4-497f-bc6b-063167257d71_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!F6U1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd06c22d-4da4-497f-bc6b-063167257d71_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: Each card shows the chance our side wins under normal versus unbreakable will; the enemy stamps the one column where will pays refused.</em><br><em>What to see: Advertising &#8220;we will grind out any attrition fight to the death&#8221; is also an advertisement of which fight never to give that force.</em></p><p>The enemy reads the same matrix. Attrition is the one column where your unbreakable force does well, so he refuses it and forces the first-strike fight instead. At that equilibrium, the value of unbreakable will is 1.2 points of win probability instead of 45.9. About 97 percent of its measured value is gone, and the collapse direction held across every status-quo payoff and casualty weight I swept. The magnitude is a property of this setup; the structure is not. Any enemy with one available engagement type where will is worthless will steer the war there.</p><p>Can unbreakable will go negative, an actual liability? Only under two conditions jointly: the enemy forces a first strike at low lethality, so your force survives the opening blow but is behind, and your commander weighs casualties at more than about a third of a win. Then the normal force routs at about 60 percent casualties while the unbreakable force bleeds to about 80 percent in a battle it still loses; routing saved a fifth of the force. At the pure one-shot equilibrium, will is worthless but never negative; both sides die at the same rate regardless of resolve. Fielding a force that advertises &#8220;we will grind out any attrition fight to the death&#8221; is also an advertisement of which fight to never give it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7dYg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab16bd8-ccc9-4c22-ac18-51ca6ae35e53_1200x760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7dYg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab16bd8-ccc9-4c22-ac18-51ca6ae35e53_1200x760.png 424w, https://substackcdn.com/image/fetch/$s_!7dYg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab16bd8-ccc9-4c22-ac18-51ca6ae35e53_1200x760.png 848w, https://substackcdn.com/image/fetch/$s_!7dYg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab16bd8-ccc9-4c22-ac18-51ca6ae35e53_1200x760.png 1272w, https://substackcdn.com/image/fetch/$s_!7dYg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab16bd8-ccc9-4c22-ac18-51ca6ae35e53_1200x760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7dYg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab16bd8-ccc9-4c22-ac18-51ca6ae35e53_1200x760.png" width="1200" height="760" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ab16bd8-ccc9-4c22-ac18-51ca6ae35e53_1200x760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p6_collapse.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p6_collapse.png" title="body_p6_collapse.png" srcset="https://substackcdn.com/image/fetch/$s_!7dYg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab16bd8-ccc9-4c22-ac18-51ca6ae35e53_1200x760.png 424w, https://substackcdn.com/image/fetch/$s_!7dYg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab16bd8-ccc9-4c22-ac18-51ca6ae35e53_1200x760.png 848w, https://substackcdn.com/image/fetch/$s_!7dYg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab16bd8-ccc9-4c22-ac18-51ca6ae35e53_1200x760.png 1272w, https://substackcdn.com/image/fetch/$s_!7dYg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab16bd8-ccc9-4c22-ac18-51ca6ae35e53_1200x760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: The brass level is will&#8217;s value when the enemy must fight your attrition fight; the thin level at 1.2 points is what remains once he chooses the engagement.</em><br><em>What to see: The direction survived every sweep, the magnitude belongs to this setup; in the forced low-lethality fight will can even turn liability.</em></p><p><strong>5. Russia is running this playbook right now.</strong> The closest live case is Ukraine&#8217;s drone wall. First-person-view (FPV) attack drones and persistent surveillance have created a kill zone many kilometers deep where, as witnesses told British members of Parliament in 2026, per Forces News reporting, anything that moves gets targeted. That testimony described a stalemate: roughly 1,000 Russian and 200-300 Ukrainian casualties a day while the line barely moves. The wall does not tire, does not panic, and does not rout.</p><p>One attribution I will not make. The wall deters because it kills, not because it is brave. It is sensing plus fires, the capability post 3 spent its length separating from will; a jittery wall with the same kill rate would earn the same detour. So this case is evidence of the selection and adaptation mechanics, not of deterrence by unbreakable will: a rational enemy redesigning his war around a standing threat rather than feeding it.</p><p>Russia&#8217;s response was not to feed it. A Royal United Services Institute (RUSI) commentary in August 2025, and independent open-source analysts, documented a redesign of the Russian assault echelon to fight around the drone wall rather than through it: dispersal into small teams, which open-source analysts put at four to six men, instead of massed columns, spider holes and thermal camouflage, movement at night in short bounds, electronic-warfare screens, and motorcycles. Analysts tracking Russian procurement reported targets on the order of 120,000 to 200,000 bikes plus tens of thousands of all-terrain vehicles. A motorcycle crosses a 1.5-kilometer kill zone in three to five minutes, inside the reaction time of many FPV crews. Dispersion makes each drone kill one man, not a squad.</p><p>Read that against the models. The kill zone deterred the engagements it would have won: massed armored assaults into prepared drone coverage largely stopped happening. What remains are the engagements the attacker chose, shaped to the defense&#8217;s weakest sensing and reaction seams. The unbreakable wall got a vote on nothing; the breakable humans riding motorcycles picked every fight. And as part five argued, the wall&#8217;s standing threat is only as good as its wiring against jamming, one of the seams the adaptation targets.</p><p>None of this means the drone wall was a bad investment; Ukraine holds its line partly because the wall made most attacks not worth having. It means the wall&#8217;s value migrated from won fights to prevented ones, with section 3&#8217;s warning attached.</p><p><strong>6. And when the enemy cannot decline, will pays at full face value.</strong> The mirror case proves the mechanism. Some soldiers in this war have no vote: wounded, encircled, abandoned by their units, pinned under persistent observation. Against them, the machine&#8217;s tirelessness prints exactly as advertised, and the currency it prints is surrender.</p><p>In August 2024, per Ukrainian-side reporting, a drone from Ukraine&#8217;s Khartiia brigade found a wounded Russian soldier abandoned by his unit, dropped water and written instructions, and walked him through a surrender to Ukrainian lines. In January 2026, per Forbes reporting, three Russian soldiers surrendered to an armed ground robot near Lyman. Ukraine&#8217;s digital-transformation minister Mykhailo Fedorov claimed more than 100 drone-compelled surrenders over the winter of 2025-26; that is a belligerent&#8217;s own count, so treat it as an indicator, not a statistic. Part two of this series showed the Union army at Bull Run breaking with more than nine-tenths of its men still standing; these incidents are the same morale mechanism, collected by machine.</p><p>Put the two halves together and the insight sharpens. The variable that decides what unbreakable will is worth is not the robot. It is the enemy&#8217;s menu. Where he can decline or reshape the engagement, the value collapses toward the 1-point end of the model. Where he cannot, a tireless, fearless system breaks human will retail, one pinned soldier at a time. Strategy is the art of deciding which of those two worlds you are fighting in, and the enemy is co-author of the answer.</p><h2>Best Arguments Against This</h2><p>The perfectly informed enemy is a fiction. Conceded, and it is why every deterrence number here carries &#8220;upper bound&#8221; next to it. Real commanders misjudge relative capability, cannot always refuse battle, and fight under political orders that ignore the odds. Every one of those frictions shrinks the deterred share and puts value back on the battlefield. The honest reading is a band running from my frictionless number down toward whatever the enemy&#8217;s actual information and freedom of maneuver allow. Russia&#8217;s motorcycle adaptation suggests a competent enemy gets usefully close to the rational benchmark, but that is one adversary in one war.</p><p>Deterrence is not a consolation prize; it is strategic value my win-rate metric undercounts. Mostly conceded. The Cold War&#8217;s central front was held for four decades by forces whose entire purpose was to make the fight not worth starting. If your mission is defending the status quo, the top stream of the funnel is not leakage, it is the mission, and an unbreakable force that gets declined is doing precisely what you bought it for. The rebuttal is narrower than the concession: the vote is still his. He declines where you are strong and presses where you are weak, on his schedule, and a force that must attack or compel cannot spend deterred fights. Deterrence is real value that accrues only to the side content with the map as it is. Honestly, I personally find this the most valuable insight out of this project and it was completely unexpected (to me anyway).</p><p>The ugliest number leans on a modeling choice. True. The 10-43 percent depends on how eager the modeled enemy is to fight marginal battles; a stricter rule shrinks the fought set and lands the win rate higher within that range. I printed the framing that survives both rules, the gap against the naive 91-100 percent, and the gap is the finding.</p><h2>What Would Change My Mind</h2><p>If by mid-2027 Russia has returned, at scale and sustainably, to massed mechanized assaults into established drone kill zones, the fight-around thesis fails its strongest live test.</p><p>If a spatial, agent-based replication of the selection model with realistic misperception and political pressure to fight shows the deterred share collapsing below about 10 percent, the funnel&#8217;s top stage is an artifact of the perfect-information assumption. That replication is on my open-threads list for 2027.</p><p>If wire-service-verified reporting by December 2027 documents never-routing systems compelling the surrender of intact, un-encircled units in open battle, then unbreakable forces can force decisions rather than just deny them, and section 3 is too pessimistic.</p><p>If an engagement-choice game calibrated to a real campaign, and 2022-2026 Ukraine is the obvious candidate, finds the equilibrium value of resolve above half its fixed-enemy value, my 97 percent collapse is a property of the model, not the world.</p><p>Unbreakable will is not a bigger hammer. It is a posted sign telling a literate enemy which fights to skip. He reads it, thanks you, and redesigns the war around the fights you cannot decline, while your perfect record accumulates in battles that decide nothing.</p><p>There is one more rung on this ladder, and it is the worst one. Next post: what happens when a casualty-averse democracy fields the unbreakable army against an enemy who does not count his dead, and wins every battle on the way to losing the war.</p>]]></content:encoded></item><item><title><![CDATA[AI in Warfare Part 5: The General Quits First]]></title><description><![CDATA[In the model, an unbreakable AI commander is worth more than an unbreakable AI army, and neither is worth much on a jammable substrate.]]></description><link>https://www.mfrantzen.com/p/ai-in-warfare-part-5-the-general</link><guid isPermaLink="false">https://www.mfrantzen.com/p/ai-in-warfare-part-5-the-general</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Wed, 22 Jul 2026 12:01:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fqy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31b7ac2-c275-4423-beef-fee1372bffa4_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There are a good number of legal, policy, ethical, and even religious discussions asking if we should incorporate AI into weapons. I have been taking a different approach, projecting AI-characteristics onto well-studied historic battles, and using Lanchester equations to model what AI-weapons will do to battle. This series focuses on being able to imbue AI weapons with an unbreakable will.</p><p>This series&#8217; default reading of AI in warfare goes like this: robots do not panic, so automate the weapon and you get an army that cannot rout. Post 4 already narrowed that promise to fights near capability parity. This post kills what is left of it. In my simulations, WHERE the will lives determines what it is worth, and the trooper is the worst address on the list.</p><p>Three results, one ladder. First, the commander. Across 607 recorded defeats in a US Army battle database, losing sides ended the battle by a commander&#8217;s decision to withdraw 266 times, and by the physical annihilation of their troops 26 times. Ten to one. That is a historical count, not a model output, and it means an unbreakable command decision touches ten times more endings than unbreakable troopers do. Second, the domain. In the stylized joint-force model, unbreakable will buys about +50 points of win probability, but only for the force holding the objective; supporting forces get about zero at any firepower share. Third, the substrate. &#8220;Unbreakable&#8221; turned out to be a property of the electronic-warfare and cyber layer, not of the silicon psyche. Every configuration I tested had a resilience threshold, about 40% in the anchor case and 20&#8211;50% across configurations, below which a rational enemy stops shooting the bodies and starts jamming the will, and the value of unbreakability decays from 84 points to 17 to 1.</p><p>Your robot&#8217;s will is only as strong as its radio.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Yn8f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb84e0a-0c91-469e-8871-ec7a8394090a_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Yn8f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb84e0a-0c91-469e-8871-ec7a8394090a_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!Yn8f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb84e0a-0c91-469e-8871-ec7a8394090a_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!Yn8f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb84e0a-0c91-469e-8871-ec7a8394090a_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!Yn8f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb84e0a-0c91-469e-8871-ec7a8394090a_1200x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Yn8f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb84e0a-0c91-469e-8871-ec7a8394090a_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/efb84e0a-0c91-469e-8871-ec7a8394090a_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p5_v3_ten_to_one_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p5_v3_ten_to_one_1200x630.png" title="hero_p5_v3_ten_to_one_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!Yn8f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb84e0a-0c91-469e-8871-ec7a8394090a_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!Yn8f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb84e0a-0c91-469e-8871-ec7a8394090a_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!Yn8f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb84e0a-0c91-469e-8871-ec7a8394090a_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!Yn8f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefb84e0a-0c91-469e-8871-ec7a8394090a_1200x630.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: Every brick is one of 607 recorded defeats in the CDB90 battle database, colored by how the battle ended for the loser; the red seam is every army that was actually destroyed.</em><br><em>What to see: Brass buries red 266 to 26, about ten to one; defeat is usually a commander&#8217;s decision at the top, almost never annihilation at the bottom.</em></p><p>One caveat travels with everything below. Except for the ten-to-one count, which is historical data, these are stylized model extensions of the validated battle engine. The orderings and directions survived every parameter sweep I ran; the exact magnitudes are illustrations, not measurements. The research data was current as of July 1, 2026.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fqy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31b7ac2-c275-4423-beef-fee1372bffa4_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fqy0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31b7ac2-c275-4423-beef-fee1372bffa4_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!fqy0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31b7ac2-c275-4423-beef-fee1372bffa4_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!fqy0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31b7ac2-c275-4423-beef-fee1372bffa4_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!fqy0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31b7ac2-c275-4423-beef-fee1372bffa4_1200x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fqy0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31b7ac2-c275-4423-beef-fee1372bffa4_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d31b7ac2-c275-4423-beef-fee1372bffa4_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p5_v1_ladder_elevation_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p5_v1_ladder_elevation_1200x630.png" title="hero_p5_v1_ladder_elevation_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!fqy0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31b7ac2-c275-4423-beef-fee1372bffa4_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!fqy0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31b7ac2-c275-4423-beef-fee1372bffa4_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!fqy0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31b7ac2-c275-4423-beef-fee1372bffa4_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!fqy0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd31b7ac2-c275-4423-beef-fee1372bffa4_1200x630.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: Climb the building from the trooper floor to the dark nation floor; each brass plate is what an unbreakable will is worth installed at that floor, and the slab under everything is the electronic-warfare foundation.</em><br><em>What to see: The lights are on in the middle of the building, not the barracks; the top floor stays dark on purpose, that story is the final post.</em></p><h2>The findings</h2><p><strong>1. Battles end at the top, not the bottom.</strong> The database is CDB90 (the US Army Concepts Analysis Agency&#8217;s Database of Battles, compiled by HERO, the Historical Evaluation and Research Organization, in the 1980s and delivered as the 1990 database), covering over 600 land battles from 1600 to 1973. Each losing side carries a code for how its battle ended. I counted the endings. Withdrawal by command decision, including withdrawals under heavy loss: 266. Troops annihilated or overrun where no one was left to withdraw: 26. That is 10.2 to 1. Even counting every other ending together (repulsed, penetrated, surrendered, scattered, annihilated: 313 in all), the commander&#8217;s withdrawal is the largest single category. Twenty-eight losers carry no code.</p><p>The pattern is not my discovery. Robert McQuie, an operations research analyst at the same Army agency, published its shape in &#8220;Battle Outcomes: Casualty Rates as a Measure of Defeat&#8221; (Army magazine, November 1987). Analyzing 80 engagements from 1941 to 1982 in the same HERO data lineage, he found that defeated forces typically quit below 10 percent casualties, and that the recorded reasons for defeat ran about 64 percent enemy maneuver against about 12 percent firepower and casualties. My 266-to-26 count replicates McQuie&#8217;s pattern in the successor database of 607 defeats. Replication is the claim, and it is a strength: two counts, two datasets, four decades apart, same answer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ts70!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eddc25-6e80-4469-8552-02ed813c6702_1200x780.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ts70!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eddc25-6e80-4469-8552-02ed813c6702_1200x780.png 424w, https://substackcdn.com/image/fetch/$s_!ts70!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eddc25-6e80-4469-8552-02ed813c6702_1200x780.png 848w, https://substackcdn.com/image/fetch/$s_!ts70!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eddc25-6e80-4469-8552-02ed813c6702_1200x780.png 1272w, https://substackcdn.com/image/fetch/$s_!ts70!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eddc25-6e80-4469-8552-02ed813c6702_1200x780.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ts70!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eddc25-6e80-4469-8552-02ed813c6702_1200x780.png" width="1200" height="780" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2eddc25-6e80-4469-8552-02ed813c6702_1200x780.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:780,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p5_endings.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p5_endings.png" title="body_p5_endings.png" srcset="https://substackcdn.com/image/fetch/$s_!ts70!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eddc25-6e80-4469-8552-02ed813c6702_1200x780.png 424w, https://substackcdn.com/image/fetch/$s_!ts70!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eddc25-6e80-4469-8552-02ed813c6702_1200x780.png 848w, https://substackcdn.com/image/fetch/$s_!ts70!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eddc25-6e80-4469-8552-02ed813c6702_1200x780.png 1272w, https://substackcdn.com/image/fetch/$s_!ts70!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eddc25-6e80-4469-8552-02ed813c6702_1200x780.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: Each bar counts how the 607 recorded defeats ended, by the database&#8217;s loser resolution code; brass bars are commander-ordered withdrawals, the red bar is troop annihilation.</em><br><em>What to see: Withdrawal endings outnumber annihilation endings 266 to 26, and even against all other coded endings combined (266 versus 313) the commander&#8217;s withdrawal is the largest single category.</em></p><p>Most defeats are not a dying army. They are a live army whose commander decided the price had been paid. So I gave the model two breakpoints instead of one: a troop threshold where units physically rout, and a command threshold where the commander orders the whole force out. The result is almost embarrassingly clean. The lower threshold governs. Where the commander&#8217;s nerve gives out first, which the historical count says is the common case, making the troops unbreakable bought a mean win-probability change of +0.4 points, averaged over the six command-binding cells at 5,000 runs each. Statistically nothing. The troops never got the chance to prove their steel; the order to withdraw came first. Making the command decision unbreakable in those same cells bought about +60 points and flipped the majority of contests. Where the troops break first, the mirror image holds. The ordering held in every one of the 16 cells of the 4x5 threshold sweep where the two thresholds differ; the +60 points is a stylized near-parity magnitude, not a portable constant.</p><p>I set out to model courage and ended up auditing org charts. The lever is not the trooper who never runs. It is the command decision that never flinches early. RAND&#8217;s Will to Fight framework (Connable and colleagues, RR-2341-A, 2018) is the standing treatment of what will is, a 29-factor model of the fighting unit. My ladder asks a coarser question: not what will is made of, but where removing the break pays. Jamestown Foundation analyses of PLA (People&#8217;s Liberation Army) writing on &#8220;cognitive domain operations&#8221; suggest at least one great power already reads it this way: the doctrinal target is the adversary&#8217;s decision system, not its infantry&#8217;s stomach.</p><p><strong>2. Will pays only where the objective lives.</strong> Now widen the lens to a joint force: land, air, and maritime elements pooling fire on a shared enemy, with exactly one domain holding the objective that defines victory. I rotated which domain holds the objective, swept the firepower shares, and made each domain unbreakable in turn.</p><p>The pattern did not budge anywhere on the grid. Make the objective-holding domain unbreakable and the side gains about +50 points of win probability (51 to 55 points across all 21 tested cells). Make a supporting domain unbreakable and the side gains about zero (within 0.4 points of zero across all 42 tested cells). Firepower share is irrelevant to this. In the amphibious scenario the maritime force holds the objective with the smallest gun share, 20 percent, and its will is worth the full +50 points; the air component carries half the firepower and its will is worth nothing. Push a supporting domain to two-thirds of total firepower and its unbreakability is still worth nothing. The mechanism is blunt: supporting forces are overrun the moment the objective falls, so their endurance is never the binding constraint. Their firepower matters. Their will does not.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IxNx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69491ec9-a274-4273-8627-6ef31c6717ce_1200x760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IxNx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69491ec9-a274-4273-8627-6ef31c6717ce_1200x760.png 424w, https://substackcdn.com/image/fetch/$s_!IxNx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69491ec9-a274-4273-8627-6ef31c6717ce_1200x760.png 848w, https://substackcdn.com/image/fetch/$s_!IxNx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69491ec9-a274-4273-8627-6ef31c6717ce_1200x760.png 1272w, https://substackcdn.com/image/fetch/$s_!IxNx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69491ec9-a274-4273-8627-6ef31c6717ce_1200x760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IxNx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69491ec9-a274-4273-8627-6ef31c6717ce_1200x760.png" width="1200" height="760" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69491ec9-a274-4273-8627-6ef31c6717ce_1200x760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p5_domain_payoff.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p5_domain_payoff.png" title="body_p5_domain_payoff.png" srcset="https://substackcdn.com/image/fetch/$s_!IxNx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69491ec9-a274-4273-8627-6ef31c6717ce_1200x760.png 424w, https://substackcdn.com/image/fetch/$s_!IxNx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69491ec9-a274-4273-8627-6ef31c6717ce_1200x760.png 848w, https://substackcdn.com/image/fetch/$s_!IxNx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69491ec9-a274-4273-8627-6ef31c6717ce_1200x760.png 1272w, https://substackcdn.com/image/fetch/$s_!IxNx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69491ec9-a274-4273-8627-6ef31c6717ce_1200x760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: Each dot is one tested cell of the joint-force model, a domain made unbreakable at some firepower share, split by whether that domain holds the objective or supports it.</em><br><em>What to see: About +50 points for the objective holder and about zero for everyone else, no matter who carries the firepower.</em></p><p>The procurement translation writes itself. Buy endurance for whatever holds the objective. Buy cheap, expendable firepower for everything else. Paying unbreakable prices for the loudest shooter is decor. This is a stylized result, near parity and symmetric by construction, but the ordering never reversed in any sweep.</p><p><strong>3. &#8220;Unbreakable&#8221; is a property of the wiring.</strong> Here is the uncomfortable one. A human&#8217;s will is attacked with fear. An AI&#8217;s will is attacked with electrons. Jamming, spoofing, cyber, and decapitation of control nodes do to a machine exactly what Bull Run&#8217;s panic did to the Union army in post 2: they end its participation without killing it.</p><p>So I let the enemy choose. It holds a fixed effort budget and splits it between attrition (killing bodies) and suppression (attacking the will&#8217;s substrate). Our side is nominally unbreakable, protected by a substrate resilience R running from 0 to 100%. Suppression effort past R drags the effective breaking point down a linear ramp, at a fixed gain, to a floor at a normal human rout threshold. The result is a threshold, R*, in every one of the five configurations tested. Below R*, the rational enemy stops buying bullets and buys jammers: it drives our effective breaking point down to an ordinary human rout threshold while keeping enough residual firepower to exploit it. Above R*, suppression costs more firepower than the will-kill is worth, the enemy reverts to pure attrition, and &#8220;unbreakable&#8221; finally means what the brochure said. In the anchor case R* is about 40%. Across enemy jamming potency and overmatch levels it spans 20&#8211;50%, and it rises as the enemy&#8217;s electronic attack gets sharper. That range is the right way to read the result: the threshold&#8217;s existence is the finding, its location is set by the adversary&#8217;s kit, not yours.</p><p>Below the threshold, the decay is brutal. The value of unbreakable will runs 84 points of win probability with a healthy substrate, 17 points at 20% resilience, and 1 point at zero. At the bottom of that curve you have bought a normal, breakable force at an unbreakable price. And there is a second, independent way to be worthless: against threefold capability overmatch, the will premium is near zero at every resilience level, because will cannot close that gap at all. Post 4&#8217;s parity condition still binds. All of this is a stylized mapping from electronic attack to breaking point; the shapes, not the decimals, are the claim.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XEV_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4882aa9b-fe9d-4e99-b9c9-1690068e9ced_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XEV_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4882aa9b-fe9d-4e99-b9c9-1690068e9ced_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!XEV_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4882aa9b-fe9d-4e99-b9c9-1690068e9ced_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!XEV_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4882aa9b-fe9d-4e99-b9c9-1690068e9ced_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!XEV_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4882aa9b-fe9d-4e99-b9c9-1690068e9ced_1200x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XEV_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4882aa9b-fe9d-4e99-b9c9-1690068e9ced_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4882aa9b-fe9d-4e99-b9c9-1690068e9ced_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p5_v2_signal_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p5_v2_signal_1200x630.png" title="hero_p5_v2_signal_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!XEV_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4882aa9b-fe9d-4e99-b9c9-1690068e9ced_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!XEV_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4882aa9b-fe9d-4e99-b9c9-1690068e9ced_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!XEV_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4882aa9b-fe9d-4e99-b9c9-1690068e9ced_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!XEV_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4882aa9b-fe9d-4e99-b9c9-1690068e9ced_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: Each bar is the win-probability value of an unbreakable will at one substrate resilience level; the static is the enemy&#8217;s jamming effort, and the dashed line is where jamming stops paying.</em><br><em>What to see: Below R* of about 40% (20-50% across configurations) the signal drowns, 84 points of win probability collapsing to 17 to 1, so &#8220;never routs&#8221; is a property of the radio contest, not the silicon psyche.</em></p><p><strong>4. Ukraine is running this experiment, in both directions.</strong> The jamming direction first. Excalibur guided artillery shells reported fall from roughly 70 percent effectiveness to 6 percent under Russian GPS jamming, per Washington Post reporting of Ukrainian and US assessments in May 2024, is the decay curve with a serial number on it. GMLRS (Guided Multiple Launch Rocket System) rockets were similarly degraded by late 2023, with truck-mounted jammers reportedly suppressing satellite guidance across tens of kilometers. And the substrate war has a cyber flank: reporting in April 2025 described Ukrainian drones abandoned for capture that carried malware, infecting the Russian systems that read them and reportedly geolocating their operators. A machine&#8217;s will cannot be frightened. It can be stolen.</p><p>Now the honest countermove, because the contest did not stop there. Fiber-optic drones, physically tethered by a hair-thin cable, are immune to jamming entirely; Ukrainian sources counted roughly 40 fiber-optic models codified for its forces in 2025, with ranges that doubled within a year. Onboard autonomous terminal guidance rides through jamming the same way: no link, nothing to cut. As of the data freeze, the attack side of the substrate war was winning, so much so that countering fiber drones was the theme of NATO&#8217;s 2025 innovation challenge, and the fashionable counters are nets, radar tripwires, interceptors, and shotguns.</p><p>Read that carefully, because it is the point, not an exception to it. The model&#8217;s claim was never &#8220;jamming wins.&#8221; The claim is that the machine&#8217;s will is a ratio, R, contested ground between suppression and hardening, and the ratio moves. In 2023 the jammers were winning and Excalibur&#8217;s will broke. In 2025 the fiber spools and the autonomy stacks pushed R back up, and the counter-effort shifted to physics: nets and shot. Each swing relocates R* and repositions everyone&#8217;s &#8220;unbreakable&#8221; claim. Morale warfare did not disappear when the soldiers became machines. It moved into the spectrum, and it is being fought right now.</p><h2>Best Arguments Against This</h2><p>The strongest objection: these are stylized models, not calibrated campaigns. Correct, and I will not soften it. The two-level breakpoint, the joint-force fires, and the jamming-to-breakpoint mapping are illustrative mechanisms bolted onto a validated battle engine; nobody has fitted a command breakpoint to a real headquarters. What I can defend is that every ordering in this post, command over troops, objective-holder over supporter, threshold over no-threshold, survived every parameter sweep without a single reversal. The decimals are illustrations. The directions are the findings. McQuie adds an honest wrinkle here: he read his own 80 engagements as evidence that Lanchester-style attrition equations misstate what drives combat outcomes, and this series runs on Lanchester engines. My reply is that the breakpoint mechanism exists precisely because pure attrition does not end battles. And the audit prints orderings with bands, not attrition decimals.</p><p>Second, the ten-to-one ratio depends on a definitional choice. Withdrawal endings against annihilation endings is 266 to 26; withdrawal endings against all other endings combined is 266 to 313. Some coded withdrawals surely followed local routs, and 28 losers carry no code at all. I concede the framing but keep the conclusion: under the most conservative reading, the commander&#8217;s withdrawal is still the single largest way battles end, and annihilation is still the rarest. The finding needs &#8220;commanders end battles far more often than annihilation does,&#8221; and that survives any cut of the codes.</p><p>Third, a skeptic can say the substrate argument is already dated: fiber optics and autonomy are beating electronic warfare as I write, so hardened AI will is a solved problem. That reads a moving contest as a final score. Unjammable tethers spawned net fences; autonomy spawned interceptors; every countermeasure in this war has had a counter-countermeasure inside a year. If the contest ever does end permanently in the defender&#8217;s favor, the substrate finding dies. I have put a date on what that would look like below.</p><h2>What Would Change My Mind</h2><p>One. A re-coding of the CDB90 endings, or a better modern battle database, published by December 2027, showing that most coded withdrawals actually followed physical unit collapse. That would deflate the ten-to-one anchor and finding 1 with it.</p><p>Two. By December 2027, credible field evidence that autonomous systems held most of their unjammed effectiveness against a peer electronic-warfare opponent for two consecutive years with no effective countermeasure fielded at scale. That would indicate that the substrate contest has ended, and the resilience-ratio framing with it.</p><p>Three. A calibrated campaign study by the end of 2028 in which hardening a supporting arm flipped an outcome that the objective-holder&#8217;s endurance could not. That would break the domain gating.</p><p>Four. A spatial or agent-based replication of the two-level breakpoint model, before this series&#8217; planned 2027 follow-on, in which the binding-threshold ordering reverses. That is the one structural assumption everything in finding 1 leans on.</p><h2>The close</h2><p>Unbreakable will is not a trait you install in a tactical weapons system. It is a stack: a commander&#8217;s decision that does not flinch early, sitting on the force that holds the objective, riding on a substrate the enemy is actively trying to jam, spoof, and infect. Get any layer wrong and the courage above it is decoration. The ladder&#8217;s top floor, the nation, is still dark in the elevation above, and it is dark on purpose: that is where this series ends, and it is the rung where unbreakable machines can hurt the side that owns them.</p><p>Before that, one more escalation. Everything in this post assumed the enemy shows up and fights. Next post: what happens when it simply declines. The enemy gets a vote.</p>]]></content:encoded></item><item><title><![CDATA[AI in Warfare Part 4: ADM Nelson Beats the Robots]]></title><description><![CDATA[Give the Franco-Spanish fleet crews that cannot break and they still lose five times out of six. Courage was never Trafalgar&#8217;s missing variable.]]></description><link>https://www.mfrantzen.com/p/ai-in-warfare-part-4-adm-nelson-beats</link><guid isPermaLink="false">https://www.mfrantzen.com/p/ai-in-warfare-part-4-adm-nelson-beats</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Tue, 21 Jul 2026 12:51:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WiVL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887754ff-cfeb-4e09-a4b9-d528cb9a7270_1200x630.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There are a good number of legal, policy, ethical, and even religious discussions asking if we should incorporate AI into weapons. I have been taking a different approach, projecting AI-characteristics onto well-studied historic battles, and using Lanchester equations to model what AI-weapons will do to battle. This series focuses on being able to imbue AI weapons with an unbreakable will.</p><h2>Bottom Line Up Front</h2><p>An unbreakable AI will is not a decisive military advantage. It is a tiebreaker. It decides fights that were already close, and almost nothing else.</p><p>The worked example is Trafalgar. I gave the entire Franco-Spanish fleet an unbreakable will, so it fights to annihilation instead of striking at 50% losses, and the British still win 83.6% of simulations (95% confidence interval 83.0-84.2, n=15,000 Monte Carlo runs). British gunnery, calibrated at about twice the Franco-Spanish rate, and Nelson&#8217;s concentration of fire decide the battle before any morale check can matter. These are attrition-model results, validated against four historical battles but derived from three in this post; the floors below are battle-specific constants, not laws of nature.</p><p><strong>The visualization. Trafalgar, where below the capability floor the will changes the dying, not the winner.</strong></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;be280594-3e63-4414-bbb5-dcc7e799f01f&quot;,&quot;duration&quot;:null}"></div><p>How to read it: the aged chart shows Nelson cutting the Franco-Spanish line into three, then the split pane asks whether the van returns. What to see: give the whole Franco-Spanish fleet an unbreakable will and Britain still wins 83.6% of runs. Below the floor, resolve changes only the body count.</p><p>The deeper result is a floor. For each battle there is a capability level below which no fraction of unbreakable force wins. Not most fractions. None, all the way to a fully robotic army or navy. Above the floor, will and capability trade along a measurable frontier. Below it, resolve changes the body count and nothing else.</p><p><strong>The companion visualization. Pickett&#8217;s Charge, with opposing sides&#8217; capabilities at near-parity, the AI unbreakable-will flips the result.</strong></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;c4b60ec1-655b-4810-9ecc-c5ca4f6b1f9d&quot;,&quot;duration&quot;:null}"></div><p>How to read it: the left is the historical charge that breaks and falls back; the right is the same assault given an unbreakable will. What to see: near capability parity, above the floor, the AI-willed assault breaks through and wins 92% of runs. That frontier is exactly what the floor sits under, and the reason unbreakable will is a tiebreaker rather than nothing.</p><p>And the floor is the friendly case. Against an enemy that does not break, the win-probability value of your own unbreakable will is exactly zero in every battle I model. Under an enemy first strike at saturation lethality, it is statistically zero. The sentence I would carry into a meeting: unbreakable will decides fair fights. It does not substitute for firing first.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WiVL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887754ff-cfeb-4e09-a4b9-d528cb9a7270_1200x630.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WiVL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887754ff-cfeb-4e09-a4b9-d528cb9a7270_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WiVL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887754ff-cfeb-4e09-a4b9-d528cb9a7270_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WiVL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887754ff-cfeb-4e09-a4b9-d528cb9a7270_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WiVL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887754ff-cfeb-4e09-a4b9-d528cb9a7270_1200x630.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WiVL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887754ff-cfeb-4e09-a4b9-d528cb9a7270_1200x630.jpeg" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/887754ff-cfeb-4e09-a4b9-d528cb9a7270_1200x630.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p4_v2_nelson_beats_robots_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p4_v2_nelson_beats_robots_1200x630.png" title="hero_p4_v2_nelson_beats_robots_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!WiVL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887754ff-cfeb-4e09-a4b9-d528cb9a7270_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WiVL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887754ff-cfeb-4e09-a4b9-d528cb9a7270_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WiVL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887754ff-cfeb-4e09-a4b9-d528cb9a7270_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WiVL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887754ff-cfeb-4e09-a4b9-d528cb9a7270_1200x630.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: brass wakes are the British columns punching through the enemy line; red fragments are what is left of it.</em><br><em>What to see: a Franco-Spanish fleet whose crews cannot break still loses 83.6% of simulations; gunnery and concentration decide before any morale check matters.</em></p><h2>The findings</h2><p><strong>1. There is a floor under will.</strong> The simulator is post 2&#8217;s validated engine: Lanchester attrition with an explicit morale breakpoint, the casualty fraction at which a human unit quits. For each battle I varied two dials, the loser&#8217;s fighting effectiveness relative to history (rho) and the fraction of its force given an unbreakable will (phi), and mapped the boundary where the historical loser starts to win.</p><p>The boundary has a hard edge. The square law predicts a capability floor for each battle, with a closed form: rho_1 = a_W W0^2 g_W / (a_L L0^2), where a_W and a_L are the two sides&#8217; kill rates, W0 and L0 their starting strengths, and g_W the winner&#8217;s breakpoint. The floors: 0.65 for Pickett&#8217;s Charge (closed form 0.6491; the simulation&#8217;s first win appears at 0.700, two steps up a 0.025-step grid), and 1.12 for Trafalgar, where the closed form says 1.1231 and the simulation says 1.125. That 0.2% gap is a floor-location match, the tightest analytic-to-simulation agreement in the project. Below the floor no value of phi wins.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Kjzc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2766979e-469d-44b3-ba76-a0a62506ce8a_1200x630.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Kjzc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2766979e-469d-44b3-ba76-a0a62506ce8a_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Kjzc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2766979e-469d-44b3-ba76-a0a62506ce8a_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Kjzc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2766979e-469d-44b3-ba76-a0a62506ce8a_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Kjzc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2766979e-469d-44b3-ba76-a0a62506ce8a_1200x630.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Kjzc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2766979e-469d-44b3-ba76-a0a62506ce8a_1200x630.jpeg" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2766979e-469d-44b3-ba76-a0a62506ce8a_1200x630.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p4_v1_the_floor_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p4_v1_the_floor_1200x630.png" title="hero_p4_v1_the_floor_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!Kjzc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2766979e-469d-44b3-ba76-a0a62506ce8a_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Kjzc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2766979e-469d-44b3-ba76-a0a62506ce8a_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Kjzc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2766979e-469d-44b3-ba76-a0a62506ce8a_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Kjzc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2766979e-469d-44b3-ba76-a0a62506ce8a_1200x630.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: the vertical dial is the loser&#8217;s fighting effectiveness relative to history; the brass line is each battle&#8217;s capability floor.</em><br><em>What to see: below each floor the column goes black: no fraction of unbreakable force wins; Bull Run&#8217;s floor doubles because the sun sets first.</em></p><p>Above the floor, will buys real ground. Pickett&#8217;s Charge sat just under capability parity, which is why it is the one land battle in my set that unbreakable will flips. The charge starts winning once just over three-fifths (62%) of it cannot break, a deterministic 1%-step scan that carries no confidence interval; the honest uncertainty is the visible slope of the Monte Carlo curve around it, 6,000 runs per point.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rbGH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d04c506-4761-493f-aa7f-554839727fe7_1200x760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rbGH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d04c506-4761-493f-aa7f-554839727fe7_1200x760.png 424w, https://substackcdn.com/image/fetch/$s_!rbGH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d04c506-4761-493f-aa7f-554839727fe7_1200x760.png 848w, https://substackcdn.com/image/fetch/$s_!rbGH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d04c506-4761-493f-aa7f-554839727fe7_1200x760.png 1272w, https://substackcdn.com/image/fetch/$s_!rbGH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d04c506-4761-493f-aa7f-554839727fe7_1200x760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rbGH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d04c506-4761-493f-aa7f-554839727fe7_1200x760.png" width="1200" height="760" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d04c506-4761-493f-aa7f-554839727fe7_1200x760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p4_tipping_curve.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p4_tipping_curve.png" title="body_p4_tipping_curve.png" srcset="https://substackcdn.com/image/fetch/$s_!rbGH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d04c506-4761-493f-aa7f-554839727fe7_1200x760.png 424w, https://substackcdn.com/image/fetch/$s_!rbGH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d04c506-4761-493f-aa7f-554839727fe7_1200x760.png 848w, https://substackcdn.com/image/fetch/$s_!rbGH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d04c506-4761-493f-aa7f-554839727fe7_1200x760.png 1272w, https://substackcdn.com/image/fetch/$s_!rbGH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d04c506-4761-493f-aa7f-554839727fe7_1200x760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: the curve is the Confederates&#8217; chance to take the ridge as the unbreakable share sweeps up; the dashed line marks the flip.</em><br><em>What to see: the charge starts winning once just over three-fifths (62%) cannot break; below that, resolve only deepens the casualty bill.</em></p><p>Along the flip boundary the trade obeys a single square-law rule: the loser&#8217;s effectiveness, multiplied by a bracket mixing the unbreakable fraction with the enemy&#8217;s own breakpoint, stays constant at the floor value. In simulation that quantity holds within about 3%, and its level matches the closed-form floor within 8% for Pickett and 2.4% for Trafalgar. Those are boundary-agreement numbers, a different quantity from the 0.2% floor-location match above. One scope condition: this holds for battles that resolve a winner inside their historical battle duration. The third battle does not; its invariant runs about 1.9 times the analytic floor, a mean of 1.88 along its boundary (because it got dark and the simulated battle had to end).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!to2z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c406bf4-fd55-47fc-b4be-8baa47c27dde_1200x760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!to2z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c406bf4-fd55-47fc-b4be-8baa47c27dde_1200x760.png 424w, https://substackcdn.com/image/fetch/$s_!to2z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c406bf4-fd55-47fc-b4be-8baa47c27dde_1200x760.png 848w, https://substackcdn.com/image/fetch/$s_!to2z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c406bf4-fd55-47fc-b4be-8baa47c27dde_1200x760.png 1272w, https://substackcdn.com/image/fetch/$s_!to2z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c406bf4-fd55-47fc-b4be-8baa47c27dde_1200x760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!to2z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c406bf4-fd55-47fc-b4be-8baa47c27dde_1200x760.png" width="1200" height="760" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c406bf4-fd55-47fc-b4be-8baa47c27dde_1200x760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p4_floors_dot_pairs.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p4_floors_dot_pairs.png" title="body_p4_floors_dot_pairs.png" srcset="https://substackcdn.com/image/fetch/$s_!to2z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c406bf4-fd55-47fc-b4be-8baa47c27dde_1200x760.png 424w, https://substackcdn.com/image/fetch/$s_!to2z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c406bf4-fd55-47fc-b4be-8baa47c27dde_1200x760.png 848w, https://substackcdn.com/image/fetch/$s_!to2z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c406bf4-fd55-47fc-b4be-8baa47c27dde_1200x760.png 1272w, https://substackcdn.com/image/fetch/$s_!to2z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c406bf4-fd55-47fc-b4be-8baa47c27dde_1200x760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: each row pairs one battle&#8217;s floor computed two ways: hollow ring the closed form, solid dot the simulation&#8217;s first win.</em><br><em>What to see: where the battle resolves inside its historical duration the two agree; Bull Run&#8217;s 40-hour clock displaces its floor to 1.43-1.45.</em></p><p><strong>2. Bull Run adds a second floor: the sun setting.</strong> The closed-form floor for First Bull Run is 0.70. I am printing that number only to disown it. The closed form assumes unlimited time; the simulation caps Bull Run at a realistic 40-hour window, and the real battle ended at nightfall. Inside that window the simulated floor is not 0.70. It is 1.43-1.45. The out-fought Union side cannot win at any unbreakable fraction until its effectiveness more than doubles relative to the analytic floor (1.43 over 0.70 is a factor of 2.04; the 1.9 in finding 1 is the separate invariant violation), because the sun sets before attrition can finish the argument.</p><p>I could have quietly printed the prettier 0.70 and moved on. The honest number is better for the thesis, not worse. A time-capped battle needs capability even earlier, and gives will even less room to work. What 40% unbreakable Union troops buy at Bull Run is the denial of defeat: the AI contingent holds the hill into the night while the human 60% still routs on schedule. A stalemate, at every fraction, on a 1%-step scan. Never a win. Post 2 told that story from the morale side, the Union breaking at 8.3% casualties. The frontier tells it from the capability side: some battles are not yours to win, only to not lose.</p><p><strong>3. AI at Trafalgar would just add to the butcher&#8217;s bill.</strong> The arithmetic a reader can redo. The dial rho measures the loser against its own history: Trafalgar&#8217;s floor of 1.12 means the Franco-Spanish fleet needs about 12% better gunnery than its crews actually delivered. Per my calibration it fired at about half the British rate, so the floor sits near 56% of British effectiveness; the fleet&#8217;s larger battery closes the rest through the square of numbers. The historical fleet is close to that line: at rho = 1 it sits 11% below the floor, five 0.025 grid steps on my sweep.</p><p>At its actual calibration, an unbreakable fleet converts defeat into bloodier defeat 83.6% of the time. Nelson&#8217;s two columns cut the 33-ship line in three, the van sails uselessly on, and concentrated British fire eats the two trapped fragments whether or not anyone aboard is capable of despair.</p><p>Two flip sides. First, 83.6% is not 100%: an unbreakable Franco-Spanish fleet gets a real 16% upset chance, up from essentially nothing, by staying in the fight long enough for variance to work. Second, the stubbornness is not free for the winner: British casualties roughly double, from about 28% of the force to about 50%, when the enemy fights to annihilation instead of striking. The Iwo Jima lesson, restated at sea. Below the floor, will changes the price of the battle, not its winner.</p><p><strong>4. Your will is worth exactly zero against an enemy that does not break.</strong> Everything above holds the enemy&#8217;s morale at its historical setting. So I swept the winner&#8217;s breakpoint from very fragile to fully steadfast and measured the loser&#8217;s gain from being unbreakable, 6,000 paired runs per point.</p><p>At the steadfast end the answer is not approximately zero. It is exactly zero, 0.00%, in all three battles. That endpoint is definitional rather than empirical: unbreakable against unbreakable, the morale term cancels by construction, the fight reduces to pure attrition, and attrition was the thing the loser was losing.</p><p>The value of your own unbreakable will is single-peaked in enemy fragility, topping out at 86 points of win probability for Pickett with the enemy breakpoint near 25% casualties, and 92 points for Trafalgar near 40% (Monte Carlo standard error at most half a point; peak locations good to about one 5-point grid step; the full hump shows in two of three battles, with Bull Run&#8217;s peak at the edge of the tested range). Why a peak? Against a very fragile enemy you were going to win anyway; against a steadfast enemy it can never matter. Your will is not an asset you own. It is a bet on the enemy&#8217;s weakness.</p><p><strong>5. In the missile age, will does not substitute for firing first.</strong> The battles above are attritional grinds, exactly where outlasting the enemy can pay. Modern naval and air combat is built around salvos and firing effectively first. So I moved the question into a stylized salvo model in the standard missile-age tradition (Wayne P. Hughes Jr., Naval Research Logistics, 1995; Michael J. Armstrong&#8217;s stochastic extension, Operations Research, 2005) and asked what an unbreakable crew is worth as per-salvo lethality rises.</p><p>Under an enemy first strike at saturation lethality, the answer is statistically zero: a premium of about 0.1 points of win probability against a Monte Carlo standard error of about 0.8 points at 4,000 trials per cell. You are crippled before your steadfastness can be spent. The conditional is joint: it takes the enemy firing first and high per-exchange lethality together. A first strike at low lethality still leaves a modest premium of 5-8 points. And in a fair duel near parity, lethality initially amplifies the value of will, up to a premium of 33-46 points near the one-shot threshold, because the unbreakable side converts mutual-annihilation draws into wins.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sJCS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572b2585-8140-492d-96e1-493092c79388_1200x630.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sJCS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572b2585-8140-492d-96e1-493092c79388_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sJCS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572b2585-8140-492d-96e1-493092c79388_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sJCS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572b2585-8140-492d-96e1-493092c79388_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sJCS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572b2585-8140-492d-96e1-493092c79388_1200x630.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sJCS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572b2585-8140-492d-96e1-493092c79388_1200x630.jpeg" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/572b2585-8140-492d-96e1-493092c79388_1200x630.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p4_v3_premium_evaporates_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p4_v3_premium_evaporates_1200x630.png" title="hero_p4_v3_premium_evaporates_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!sJCS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572b2585-8140-492d-96e1-493092c79388_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sJCS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572b2585-8140-492d-96e1-493092c79388_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sJCS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572b2585-8140-492d-96e1-493092c79388_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sJCS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572b2585-8140-492d-96e1-493092c79388_1200x630.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: extra win probability from an unbreakable crew versus per-salvo lethality; brass a fair duel, red an enemy first strike.</em><br><em>What to see: under a first strike at saturation the premium burns down to statistical zero; will does not substitute for firing first.</em></p><p>A cross-check rules out the boring explanation. Scaling both sides&#8217; kill rates over a 32-fold range in the continuous model leaves the will premium flat at 45.2 points; the 0.6-point spread (the standard deviation across the six speed settings) is pure Monte Carlo noise; the square law makes this flatness exact in theory, so the run verifies the engine rather than discovering anything. Speed is not what erodes will. Decisiveness per exchange is, plus the first-strike race. If your procurement plan buys unbreakable resolve instead of sensing, range, and the first effective salvo, you have bought the tiebreaker and skipped the tie.</p><p><strong>6. The 2020s weapon is not the 2030s army.</strong> I ran two counterfactual grades of AI: a 2020s version making one strategic weapon (the cannons) unbreakable, and a 2030s version making the whole force unbreakable, a robot army.</p><p>On land the 2020s weapon captures none of the robot army&#8217;s benefit: zero flips in 15,000 runs, an upper bound below 0.02%. The strategic/cannon is not the maneuver force; when the human line routs, the unbreakable battery is simply overrun, still bravely computing. At sea the same weapon-level AI captures 77% of the whole-force benefit (propagated-uncertainty interval 73-81%), because a ship is the maneuver force. Unbreakable will bolted onto one platform pays only where that platform is the force; everywhere else it has to live in the units that hold the line, and that is the robot-army problem, a 2030s problem.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cT3y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe384a597-d031-496a-a0d0-d66e479f9e5b_1200x760.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cT3y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe384a597-d031-496a-a0d0-d66e479f9e5b_1200x760.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cT3y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe384a597-d031-496a-a0d0-d66e479f9e5b_1200x760.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cT3y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe384a597-d031-496a-a0d0-d66e479f9e5b_1200x760.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cT3y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe384a597-d031-496a-a0d0-d66e479f9e5b_1200x760.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cT3y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe384a597-d031-496a-a0d0-d66e479f9e5b_1200x760.jpeg" width="1200" height="760" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e384a597-d031-496a-a0d0-d66e479f9e5b_1200x760.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p4_regimes.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p4_regimes.png" title="body_p4_regimes.png" srcset="https://substackcdn.com/image/fetch/$s_!cT3y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe384a597-d031-496a-a0d0-d66e479f9e5b_1200x760.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cT3y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe384a597-d031-496a-a0d0-d66e479f9e5b_1200x760.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cT3y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe384a597-d031-496a-a0d0-d66e479f9e5b_1200x760.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cT3y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe384a597-d031-496a-a0d0-d66e479f9e5b_1200x760.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: each vessel holds the full benefit of an unbreakable robot army; the brass fill is the share one unbreakable AI weapon captures.</em><br><em>What to see: on land the vessel is empty, under 0.02% in 15,000 runs; at sea, where the ship is the maneuver force, one weapon captures 77% of the army&#8217;s benefit.</em></p><h2>Best Arguments Against This</h2><p><strong>Three battles is not a database.</strong> Correct, and I concede most of it. The floors are constants of specific battles under a specific calibration; three battles cannot establish how often real fights sit above or below their floors. But the population question was answered separately: the 607-battle audit in post 3 found roughly two-thirds (60.8-72.2% across threshold choices) of historical losses were capability losses. The frontier explains the mechanism; the audit shows it was the majority case.</p><p><strong>Your floors live on grids.</strong> Also correct. The floors were confirmed at a rho step of 0.025 and an unbreakable-share step of 5% with a deterministic integrator, so every simulated floor is really a band one step wide. The gap has a verified direction: the simulated first win errs high, never low, so below the analytic floor no fraction wins in any run. The floors are conservative. The enemy-fragility peaks are grid maxima whose true values can only be higher. Nothing in the post survives or dies inside a grid step. The one place discretization could have hidden a real discrepancy, Bull Run, I printed as a discrepancy.</p><p><strong>The salvo parameters are made up.</strong> The missile-age model is a notional 20-versus-20 duel with parameter jitter, not a fit to engagement data. What I defend are the shapes: the collapse under enemy first strike plus saturation, the fair-duel hump, and the flatness under pure speed scaling, which is analytically forced. If a data-calibrated salvo model moves the shapes, finding 5 is in trouble. The magnitudes were never the claim. My next series on AI-weaponry will dive much deeper into this; the modeling is done, the analysis is not.</p><p><strong>Ukraine looks like drones winning a war, not tiebreaking one.</strong> The strongest current-events objection, and it cuts the other way. Reported estimates put drones at about two-thirds to 85% of battlefield casualties by 2025, figures that trace mostly to official sources and deserve that hedge, yet the front line barely moved: a kill-zone stalemate at rough parity, machine attrition setting the body count while neither side&#8217;s will flips the map. And Ukraine&#8217;s 2026 operational gains followed strikes on radars, jammers, and fires: capability degraded first. That is the model&#8217;s ordering: capability first, will as the tiebreaker at parity.</p><h2>What Would Change My Mind</h2><p>1. By end of 2027, a spatial or agent-based re-implementation of these battles that finds no capability floor, with winning unbreakable fractions appearing well below the square-law line.</p><p>2. Within twelve months of publication, a documented engagement, verified by two independent non-belligerent sources, in which a force clearly below capability parity won primarily because an autonomous element refused to break rather than because it out-shot the enemy.</p><p>3. During 2026-2027, a side in a missile-age exchange absorbing an effective first strike at saturation lethality and then winning on endurance.</p><p>4. Phase-separated casualty data for historical routs, fighting-phase versus pursuit-phase, showing most routed losers were at or above parity during the fighting. That would move battles into the close-fight column, where will decides.</p><p>5. By end of 2026, a naval historian or operations researcher showing my Trafalgar gunnery calibration is wrong by enough to lift the Franco-Spanish fleet above its 1.12 floor.</p><h2>The close</h2><p>Clausewitz made resistance the product of means and will. The temptation of AI is to read that as a multiplication you can win on either factor. You cannot. Below the capability floor the will term multiplies a number too small to save; against a steadfast enemy it multiplies by exactly zero; against a first strike it never gets to multiply at all.</p><p>Will is not a weapon. It is a tiebreaker, and tiebreakers only matter in ties.</p><p>If you are going to buy an unbreakable will anyway, where in the force should it live? The trooper is the obvious answer and the wrong one. That is post 5.</p>]]></content:encoded></item><item><title><![CDATA[AI in Warfare Part 3: Out-Fought, Not Out-Frightened]]></title><description><![CDATA[373 years of battle data versus the most repeated idea in pop military history.]]></description><link>https://www.mfrantzen.com/p/ai-in-warfare-part-3-out-fought-not</link><guid isPermaLink="false">https://www.mfrantzen.com/p/ai-in-warfare-part-3-out-fought-not</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Mon, 20 Jul 2026 12:02:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bUMn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9975882-a39f-4a90-98ab-24b174b4765b_1200x630.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Bottom Line Up Front</h2><p>There are a good number of legal, policy, ethical, and even religious discussions asking if we should incorporate AI into weapons. I have been taking a different approach, projecting AI-characteristics onto well-studied historic battles, and using Lanchester equations to model what AI-weapons will do to battle. This series focuses on being able to embue AI weapons with an unbreakable will.</p><p>If you believe battles are decided by breaking the enemy&#8217;s will, the historical record disagrees with you most of the time. Across 607 usable defeats in a 660-battle database built for the US Army, roughly two-thirds (60.8-72.2% across reasonable threshold choices) were capability losses. The loser was so out-fought that it would have lost even fighting to the last man. And because prisoners taken in the pursuit get booked as winner effectiveness, that two-thirds is an upper bound, not a midpoint.</p><p>The true will-collapse signature, a loser at or above capability parity that broke early, shows up in about one-fifth of defeats (16-29% across the same thresholds). That is a lower bound. Correct it honestly, using measured rout casualties, and it rises to about a third (21-38%). It stays a minority under every correction I could construct.</p><p>Two-thirds of history&#8217;s losers were out-fought, not out-frightened.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bUMn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9975882-a39f-4a90-98ab-24b174b4765b_1200x630.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bUMn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9975882-a39f-4a90-98ab-24b174b4765b_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bUMn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9975882-a39f-4a90-98ab-24b174b4765b_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bUMn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9975882-a39f-4a90-98ab-24b174b4765b_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bUMn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9975882-a39f-4a90-98ab-24b174b4765b_1200x630.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bUMn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9975882-a39f-4a90-98ab-24b174b4765b_1200x630.jpeg" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c9975882-a39f-4a90-98ab-24b174b4765b_1200x630.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p3_v1_607_defeats_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p3_v1_607_defeats_1200x630.png" title="hero_p3_v1_607_defeats_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!bUMn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9975882-a39f-4a90-98ab-24b174b4765b_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bUMn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9975882-a39f-4a90-98ab-24b174b4765b_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bUMn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9975882-a39f-4a90-98ab-24b174b4765b_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bUMn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9975882-a39f-4a90-98ab-24b174b4765b_1200x630.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: every dot is one defeat, 1600-1973, sorted into the three audit classes; the brass block is every will-collapse signature found.</em><br><em>What to see: two of every three losers were beaten on capability; pursuit booking makes that an upper bound.</em></p><p>There is a twist. The database&#8217;s compilers included a morale code, and checked against the will-collapse signature it carries essentially no information. Even the people who built the morale column could not make it predict.</p><p>The data comes from CDB90, the US Army Concepts Analysis Agency&#8217;s Database of Battles: over 600 land battles from 1600 to 1973, compiled in the 1980s by Trevor N. Dupuy&#8217;s Historical Evaluation and Research Organization (HERO), with per-side strengths, casualties, and outcomes. The research data was current as of July 1, 2026.</p><h2>The findings</h2><p><strong>1. Clausewitz made will half the equation. Pop history made it the whole thing.</strong> Here is what he actually wrote: &#8220;If you want to overcome your enemy you must match your effort against his power of resistance, which can be expressed as the product of two inseparable factors, viz. the total means at his disposal and the strength of his will.&#8221; Means times will. Two factors, inseparable, multiplied. The sentence everyone repeats, that the object of war is to break the enemy&#8217;s will, is a paraphrase that dropped the other factor and grew teeth.</p><p>The paraphrase won because routs are cinematic and the winner&#8217;s version flatters the winner: we broke their spirit sounds better than we had more guns. The paraphrase is also half true, which is the durable kind of wrong. Armies really do quit long before annihilation. The Union quit First Bull Run at 2,896 casualties out of 35,000 present, about 8.3 percent; that story carried post 2. The question here is different. How often did the quitting, rather than the out-fighting, decide the result?</p><p><strong>2. The audit is arithmetic you can redo.</strong> For every defeat in the database, take four numbers: each side&#8217;s starting strength and casualties. Lanchester&#8217;s square law (the standard attrition model in operations research, validated in this project&#8217;s first phase) turns them into one summary statistic for the loser, a capability ratio. In one line: R_cap = (loser per-man kill rate x loser starting strength squared) divided by the same product for the winner, with each side&#8217;s kill rate inferred from the casualties the other side suffered. At R_cap = 1, the loser had the fighting power to trade evenly. Below 1, it was out-matched on the day regardless of anyone&#8217;s nerve.</p><p>The classification rule is three lines. If R_cap fell below 0.70, the loss is booked as out-fought. If R_cap was at least 0.70 and the loser broke or quit before 15 percent casualties, that is the will-collapse signature. Everything else, near parity but bled past 15 percent, is booked as ambiguous: a hard repulse, not a collapse.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EjCU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a90583-c97d-4704-8f97-5b0b0e94d06c_1200x700.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EjCU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a90583-c97d-4704-8f97-5b0b0e94d06c_1200x700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EjCU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a90583-c97d-4704-8f97-5b0b0e94d06c_1200x700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EjCU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a90583-c97d-4704-8f97-5b0b0e94d06c_1200x700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EjCU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a90583-c97d-4704-8f97-5b0b0e94d06c_1200x700.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EjCU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a90583-c97d-4704-8f97-5b0b0e94d06c_1200x700.jpeg" width="1200" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2a90583-c97d-4704-8f97-5b0b0e94d06c_1200x700.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p3_rcap_formula_card.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p3_rcap_formula_card.png" title="body_p3_rcap_formula_card.png" srcset="https://substackcdn.com/image/fetch/$s_!EjCU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a90583-c97d-4704-8f97-5b0b0e94d06c_1200x700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EjCU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a90583-c97d-4704-8f97-5b0b0e94d06c_1200x700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EjCU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a90583-c97d-4704-8f97-5b0b0e94d06c_1200x700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EjCU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2a90583-c97d-4704-8f97-5b0b0e94d06c_1200x700.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: the ratio multiplies inferred kill rate by strength squared, loser over winner; the cells below are the whole classification rule.</em><br><em>What to see: arithmetic you can redo from two columns per side, with thresholds declared before the data was scored.</em></p><p>The median out-fought loser had R_cap of 0.28, crushed on capability. The median will-collapse loser had R_cap of 1.24 and broke at 4.8 percent casualties. That is the textbook rout profile. Gettysburg lands in ambiguous, correctly: Lee&#8217;s army was near parity and fought to roughly 37 percent casualties. A hard repulse is not a panic.</p><p><strong>3. Two-thirds of the losers were going to lose anyway.</strong> Of 607 defeats, 402 classify as out-fought. That is 66.2 percent, and it holds at 60.8-72.2% across the full grid of threshold choices (capability cuts of 0.6 to 0.8, break cuts of 10 to 20 percent casualties). The will-collapse class holds 130 of 607, 21.4 percent, ranging 16.0-28.7% across the same grid. The remaining 75 (12.4 percent) are the ambiguous hard repulses.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gFOC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e6037cf-c1e5-408b-bc05-7bc33d700749_1200x630.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gFOC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e6037cf-c1e5-408b-bc05-7bc33d700749_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gFOC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e6037cf-c1e5-408b-bc05-7bc33d700749_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gFOC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e6037cf-c1e5-408b-bc05-7bc33d700749_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gFOC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e6037cf-c1e5-408b-bc05-7bc33d700749_1200x630.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gFOC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e6037cf-c1e5-408b-bc05-7bc33d700749_1200x630.jpeg" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e6037cf-c1e5-408b-bc05-7bc33d700749_1200x630.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p3_v2_the_wedge_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p3_v2_the_wedge_1200x630.png" title="hero_p3_v2_the_wedge_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!gFOC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e6037cf-c1e5-408b-bc05-7bc33d700749_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gFOC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e6037cf-c1e5-408b-bc05-7bc33d700749_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gFOC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e6037cf-c1e5-408b-bc05-7bc33d700749_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gFOC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e6037cf-c1e5-408b-bc05-7bc33d700749_1200x630.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: each dot is one defeat, placed by the loser&#8217;s capability ratio (left of parity means out-matched) and its casualty fraction when it lost.</em><br><em>What to see: history&#8217;s losers mass far left of parity; the morale story lives in the thin brass wedge; Bull Run enters it only after the pursuit correction.</em></p><p>Drop any single war from the audit (there are 65) and the out-fought share moves only between 64.3 and 68.4 percent. Drop any entire century, including the whole twentieth, and it stays between 64.2 and 67.2 percent.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YlAB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ed94616-b3d7-44a0-bf0f-c47cafb40235_1200x760.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YlAB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ed94616-b3d7-44a0-bf0f-c47cafb40235_1200x760.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YlAB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ed94616-b3d7-44a0-bf0f-c47cafb40235_1200x760.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YlAB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ed94616-b3d7-44a0-bf0f-c47cafb40235_1200x760.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YlAB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ed94616-b3d7-44a0-bf0f-c47cafb40235_1200x760.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YlAB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ed94616-b3d7-44a0-bf0f-c47cafb40235_1200x760.jpeg" width="1200" height="760" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ed94616-b3d7-44a0-bf0f-c47cafb40235_1200x760.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p3_drop_one.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p3_drop_one.png" title="body_p3_drop_one.png" srcset="https://substackcdn.com/image/fetch/$s_!YlAB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ed94616-b3d7-44a0-bf0f-c47cafb40235_1200x760.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YlAB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ed94616-b3d7-44a0-bf0f-c47cafb40235_1200x760.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YlAB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ed94616-b3d7-44a0-bf0f-c47cafb40235_1200x760.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YlAB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ed94616-b3d7-44a0-bf0f-c47cafb40235_1200x760.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: each mark re-runs the classification with one war or century removed; vertical lines are the full-sample shares.</em><br><em>What to see: out-fought stays within 64.2-68.4% under every deletion, including the entire twentieth century.</em></p><p>One direction of error matters, and it runs against my headline, not for it. The database records total casualties, with no timeline inside the battle. When a loser breaks and runs, the prisoners and stragglers taken in the pursuit are booked as if the winner shot its way to them, making losers look more out-fought than they were during the actual fighting. A second channel pushes the same direction: an army that breaks early also stops inflicting casualties, which deflates its own measured effectiveness, so the upper-bound reading already absorbs it. Finding 5 measures the correction.</p><p><strong>4. The database&#8217;s own morale column cannot find the collapses.</strong> CDB90&#8217;s compilers coded a morale advantage for many battles. If will collapse were the well-understood engine of defeat, that hand-coded column and my four-number arithmetic should point at roughly the same battles. They do not. The code flags the loser as demoralized in only 118 of 607 defeats, and of my 130 will-collapse battles it flags just 19. Agreement beyond chance, measured by Cohen&#8217;s kappa, is -0.06: statistically indistinguishable from zero (permutation p = 0.14, n = 607). It does not even flag First Bull Run, the most famous rout in American history. The field has long treated CDB90&#8217;s subjective columns with suspicion; the contribution here is measuring the failure cleanly, not discovering it.</p><p>I do not think the compilers were careless. The likelier reading is that their code captures pre-battle troop quality, green versus veteran, rather than what happened once the shooting started, and where it does fire it usually sits on top of a capability rout anyway (of the 118 flagged battles, 96 were out-fought on the numbers). But that is the point: professional military historians, building the Army&#8217;s reference database, could not make morale into a column that predicts. The database&#8217;s outcome codes, by contrast, agree with the arithmetic: all 26 losers recorded as annihilated classify as out-fought, and the will-collapse class contains no annihilations at all. Armies that collapse early do not fight to the death. The signature is coherent. The folklore column is not.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tyCJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb7b6a7d-faf2-4b47-934c-663bacd65eec_1200x630.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tyCJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb7b6a7d-faf2-4b47-934c-663bacd65eec_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tyCJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb7b6a7d-faf2-4b47-934c-663bacd65eec_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tyCJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb7b6a7d-faf2-4b47-934c-663bacd65eec_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tyCJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb7b6a7d-faf2-4b47-934c-663bacd65eec_1200x630.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tyCJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb7b6a7d-faf2-4b47-934c-663bacd65eec_1200x630.jpeg" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb7b6a7d-faf2-4b47-934c-663bacd65eec_1200x630.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;hero_p3_v3_the_column_that_could_not_1200x630.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="hero_p3_v3_the_column_that_could_not_1200x630.png" title="hero_p3_v3_the_column_that_could_not_1200x630.png" srcset="https://substackcdn.com/image/fetch/$s_!tyCJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb7b6a7d-faf2-4b47-934c-663bacd65eec_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tyCJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb7b6a7d-faf2-4b47-934c-663bacd65eec_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tyCJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb7b6a7d-faf2-4b47-934c-663bacd65eec_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tyCJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb7b6a7d-faf2-4b47-934c-663bacd65eec_1200x630.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: left column, battles the database&#8217;s morale column flagged; right column, will collapses per the arithmetic; brass threads are the only agreements.</em><br><em>What to see: 19 threads out of 118 and 130; kappa -0.06, indistinguishable from zero. The morale column carries essentially no information.</em></p><p><strong>5. The honest correction: half the loser&#8217;s casualties came after it broke.</strong> To size the pursuit bias flagged in finding 3, I collected the 11 famous routs whose published casualty figures split killed and wounded from captured and missing: Bull Run, Nashville, Missionary Ridge, Chancellorsville, Waterloo, Sedan, Rossbach, K&#246;niggr&#228;tz, Jena-Auerstedt, Blenheim, Austerlitz. These are deliberately selected severe routs, not a random sample; read every number in this paragraph as a bound, not a population estimate. In that sample, the share of the loser&#8217;s casualties that came after its line broke averaged 53% (n = 11, range 24-85%). Half the butcher&#8217;s bill was not combat. It was shooting retreating soldiers in the back. As Robert E. Lee said:</p><blockquote><p><em>It is well that war is so terrible. We should grow too fond of it.</em></p></blockquote><p>Remove those post-break losses and recompute. The average loser&#8217;s capability ratio roughly doubles, and 6 of the 11 battles change class, every one toward parity, none the other way. Bull Run is the cleanest case: about 45 percent of the Union&#8217;s casualty count that day was captured or missing men, and stripping them lifts its capability ratio from 0.795 to 1.42: an unambiguous will collapse at better-than-parity capability. The Union army at Bull Run was not out-fought. It was out-frightened. That is the exception, and it took the correction to make it clean.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gmMu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fdc870-b405-4038-81d1-8ca194ae2d94_1200x840.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gmMu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fdc870-b405-4038-81d1-8ca194ae2d94_1200x840.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gmMu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fdc870-b405-4038-81d1-8ca194ae2d94_1200x840.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gmMu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fdc870-b405-4038-81d1-8ca194ae2d94_1200x840.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gmMu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fdc870-b405-4038-81d1-8ca194ae2d94_1200x840.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gmMu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fdc870-b405-4038-81d1-8ca194ae2d94_1200x840.jpeg" width="1200" height="840" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68fdc870-b405-4038-81d1-8ca194ae2d94_1200x840.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:840,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p3_rout_bias.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p3_rout_bias.png" title="body_p3_rout_bias.png" srcset="https://substackcdn.com/image/fetch/$s_!gmMu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fdc870-b405-4038-81d1-8ca194ae2d94_1200x840.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gmMu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fdc870-b405-4038-81d1-8ca194ae2d94_1200x840.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gmMu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fdc870-b405-4038-81d1-8ca194ae2d94_1200x840.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gmMu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fdc870-b405-4038-81d1-8ca194ae2d94_1200x840.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: each row is one famous rout; the arrow is the loser&#8217;s measured fighting power once pursuit prisoners stop counting.</em><br><em>What to see: ratios roughly double and 6 of 11 verdicts flip toward morale; Sedan, Rossbach, K&#246;niggr&#228;tz, and Waterloo stay out-fought regardless.</em></p><p>Apply the measured correction to all 607 battles, reattributing casualties for losers whose recorded outcome was an actual rout or withdrawal, and the true will-collapse share rises from about one-fifth to about a third (21-38%, where 38% assumes an aggressive post-break fraction of 60%, above the measured 53% average). The control group inside the sample: Sedan&#8217;s loser moves from 0.10 to 0.37 and stays hopelessly out-fought. Sometimes an army runs because it is beaten, and the running merely sets the price.</p><p><strong>6. A minority verdict, and it is the interesting minority.</strong> So the pop-Clausewitz trope fails its audit. In most defeats, will was not the deciding variable; capability was. In Ukraine, officials and analysts attribute about two-thirds to 85 percent of battlefield casualties to drones (the figures are mostly official-sourced; a June 2026 Oklahoma Watch fact-check rated them plausible but soft), yet after years of that attrition neither field army has collapsed into an army-scale rout. The front moves on capability: strikes, stockpiles, jamming. It is a firepower war with morale at the margins, which is what most of the 607 battles were too.</p><p>But flip the finding over. In about a third of historical defeats, at the corrected bound, the loser had the capability to trade evenly and lost anyway because somebody&#8217;s will gave out. Those are the battles where a combatant that cannot break, an AI, changes who wins rather than what winning costs. One battle in three is not a revolution. It is a large, specific, findable class of fights.</p><h2>Best Arguments Against This</h2><p><strong>The anchor battle sits on the boundary you chose.</strong> Uncorrected, Bull Run&#8217;s capability ratio of 0.795 clears my 0.70 will-collapse cut by less than a tenth, and at a 0.80 cut it would classify as out-fought. If I had picked my thresholds to flatter the series&#8217; anchor battle, this is where you would catch me. Three answers. The thresholds and the full 3-by-3 sensitivity grid are declared in the analysis script, not tuned after the fact. The population headline survives every cell of that grid. And the corrected Bull Run, at 1.42, is not sensitive to any threshold at all.</p><p><strong>The database&#8217;s numbers are as suspect as its morale column.</strong> Fair. CDB90&#8217;s quantitative columns, the strengths and casualties this audit runs on, carry error too. Serious Lanchester curve-fitting moved to the purpose-built Ardennes and Kursk campaign databases partly for that reason (Bracken 1995; Fricker 1998; Lucas and Turkes 2004). Three things keep the classification standing on noisy inputs. It is a coarse two-way cut, not a curve fit, and it survives the full threshold grid. It survives dropping any single war or any entire century. And the class medians sit nowhere near the boundary: 0.28 for out-fought against 1.24 for will collapse, either side of a cut at 0.70. Noise would have to move battles across that whole gap, one way, to flip the shares. One caveat survives: any battle&#8217;s label is only as good as its entry. The claim is the aggregate shares, not any single battle&#8217;s coding.</p><p><strong>Skill, not materiel or morale, decides modern battles.</strong> Stephen Biddle&#8217;s Military Power (2004) makes force employment the decisive variable, and that cuts across any raw capability-versus-will split. Conceded, and absorbed: the capability ratio is inferred from casualties actually inflicted, so employment quality is already inside it. R_cap is an effectiveness ratio, not a bean count.</p><p><strong>Early withdrawal is not the same thing as will collapse.</strong> A prudent commander executing a planned withdrawal matches my behavioral signature, at or above parity and stopped before 15 percent casualties, without anyone panicking. Partly conceded. The class should be read as &#8220;broke or quit early,&#8221; not as a mind-reading of terror, and the outcome codes only partially separate the two. But the class has the right texture: its median member quit at 4.8 percent casualties while holding a capability edge, and it contains none of the database&#8217;s annihilation endings. Whatever mix of panic and prudence is in there, it is the ceiling on the morale story, and it is still a minority.</p><p><strong>Eleven hand-picked routs cannot correct 607 battles.</strong> Correct. The 11-rout sample was selected on the dependent variable, so its post-break fraction of 53% is an estimate for battles like those, not for battles in general. That is why the correction reattributes casualties only for losers the database itself records as having routed or withdrawn, why the corrected share prints as a band (21-38%) rather than a point, and why the falsification list below asks for the real fix: a phase-separated re-audit at scale. Until that exists, the direction is one-way, toward morale, and the bound still leaves capability losses the majority.</p><h2>What Would Change My Mind</h2><p>1. By December 2027: someone runs a phase-separated re-audit, a machine-readable battle database splitting fighting-phase from pursuit-phase casualties across hundreds of battles (a digitized ACSDB or KOSAVE-class dataset would do it), and the true will-collapse share exceeds 50 percent. I would retract the headline, not just soften it.</p><p>2. By mid-2027: a replication of this audit under the linear (area-fire) Lanchester law flips the majority class on the same 607 battles. This is a weekend&#8217;s work for a skeptic.</p><p>3. Anyone produces a defensible reading of CDB90&#8217;s morale code under which it does predict the parity-plus-early-break signature, with agreement reliably above chance. Finding 4 dies, and I print the obituary. And please tell me how you did it so I learn how to better model it.</p><h2>The close</h2><p>A rout is not why most armies lost. It is how the losing looked. Two-thirds of history&#8217;s losers were out-fought, not out-frightened, and the most famous morale column in military-history data cannot find the exceptions. But the exceptions are real, they are about a third of defeats at the honest bound, and they cluster exactly where the capability ledger reads even.</p><p>That near-parity sliver is where an unbreakable AI stops being a rounding error and starts picking winners. Next post: what a will that cannot break is actually worth there, and why the answer is a tiebreaker, not a war-winner. The next AI-weapons series, the models are already working, focus on AI capabilities that out-fight.</p>]]></content:encoded></item><item><title><![CDATA[AI in Warfare Part 2: 91.7% of the Army Was Still Standing When It Ran]]></title><description><![CDATA[Bull Run, Iwo Jima, Pickett&#8217;s Charge, and Trafalgar in a validated combat simulator, run with the characteristics of AI weaponry.]]></description><link>https://www.mfrantzen.com/p/ai-in-warfare-part-2-917-of-the-army</link><guid isPermaLink="false">https://www.mfrantzen.com/p/ai-in-warfare-part-2-917-of-the-army</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Fri, 17 Jul 2026 12:01:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ja4R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c27938-42e9-40f7-9664-5506f7ca5323_1200x630.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I used to live on Bull Run Creek just upstream from the famous American Civil War battlefield. I taught my kids to fish on that creek. It&#8217;s the same creek that on the afternoon of July 21, 1861, congressmen rode out from Washington with picnic baskets to watch the war start and end. By evening they were racing a fleeing army back to the capital. The Union force that broke that day had lost 8.3% of its men. Where did the other 91.7% go? We&#8217;ll use Bull Run and a few other well studied battles to simulate the characteristics of AI weaponry on battle.</p><p>The mental model most people carry from war movies is attrition: two armies grind each other down, and the one that runs out of soldiers loses. That perception is wrong for most of military history. Battles do not usually end when an army is destroyed. They end when its will breaks, and the will breaks early.</p><p>At the First Bull Run the Union army came apart after 2,896 casualties, killed, wounded, missing, and captured, out of 35,000 men present. Divide it yourself: 2,896 / 35,000 = 0.083. Eight point three percent. That figure is a historical datum, not a model estimate, so no confidence interval applies; the honest fine print is that roughly 45% of the numerator was captured or missing rather than shot, and the denominator counts men present, not the smaller number actually engaged. On an engaged basis the fraction runs higher. The point survives either accounting: over nine-tenths of the army was standing when it stopped being an army.</p><p>So I built the breaking point into the math. A Lanchester attrition simulator where every unit carries an explicit morale threshold, validated against four real battles: Iwo Jima, First Bull Run, Pickett&#8217;s Charge, and Trafalgar. Then I asked the question the whole series hangs on: what happens when one side&#8217;s threshold is removed, because we can model a soldier as an AI tactical weapons platform that does not panic, and we can model a canon or a ship as a strategic weapons platform that does not panic?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ja4R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c27938-42e9-40f7-9664-5506f7ca5323_1200x630.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ja4R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c27938-42e9-40f7-9664-5506f7ca5323_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ja4R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c27938-42e9-40f7-9664-5506f7ca5323_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ja4R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c27938-42e9-40f7-9664-5506f7ca5323_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ja4R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c27938-42e9-40f7-9664-5506f7ca5323_1200x630.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ja4R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c27938-42e9-40f7-9664-5506f7ca5323_1200x630.jpeg" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62c27938-42e9-40f7-9664-5506f7ca5323_1200x630.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;p2_still_standing__period__completed.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="p2_still_standing__period__completed.png" title="p2_still_standing__period__completed.png" srcset="https://substackcdn.com/image/fetch/$s_!ja4R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c27938-42e9-40f7-9664-5506f7ca5323_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ja4R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c27938-42e9-40f7-9664-5506f7ca5323_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ja4R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c27938-42e9-40f7-9664-5506f7ca5323_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ja4R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c27938-42e9-40f7-9664-5506f7ca5323_1200x630.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: wounded carried at the left, prisoners under guard, and the flood of unhurt men pouring toward a tiny Capitol.</em><br><em>What to see: the day ended in flight, not slaughter; most of the army walked away.</em></p><p><strong>The visualization: First Bull Run, the rout that an unbreakable will turns into a stalemate.</strong></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;dde8298a-e3a3-4081-96e1-229725b9b4a1&quot;,&quot;duration&quot;:null}"></div><p>How to read it: the left is history, the Union line breaks and routs toward Washington; the right is the same fight given an unbreakable will. What to see: the will stops the collapse but does not win. It grinds the rout into a bloody stalemate and raises Union losses from 8.3% to 12.5%.</p><p>What happens in the simulator? Pickett&#8217;s Charge succeeds 4.2% of the time in the baseline model (95% CI 3.9&#8211;4.6%, n = 15,000 runs). If you model the battle as if the Confederate assault was comprise of equivalent AI weapons with an unbreakable will then the assault wins 92% of the time (95% CI 91.6&#8211;92.5%). The rest are stalemates at nightfall; the AI-equivalent assault never loses outright. The caveat sits right here: these are attrition-model results with literature-calibrated breakpoints, not a spatial recreation of the battlefield, and the same experiment run on the other three battles shows the flip is the exception, not the rule.</p><p>And one of the four battles is not a counterfactual at all. Iwo Jima&#8217;s garrison actually fought without a breakpoint. In the model, that real unbreakable will roughly doubled American casualties and more than tripled the battle&#8217;s length.</p><h2>The findings</h2><p><strong>1. The Union army broke nearly intact.</strong> Bull Run was the first major land battle of the Civil War, fought July 21, 1861, with spectators. McDowell&#8217;s 28,450 engaged Union troops faced 32,230 Confederates once Johnston&#8217;s army arrived by rail, so there was no Union numerical edge at the point of decision. Late in the day the Union withdrawal dissolved into a panicked flight toward Washington, entangled with the picnicking civilians, an episode the press made famous as the Great Skedaddle. The casualty ledger tells you what actually happened. Union losses: about 460 killed, 1,124 wounded, 1,312 missing or captured. Confederate losses: 387 killed, 1,582 wounded, and 13 missing or captured. Thirteen. That asymmetry, 1,312 against 13, is the signature of a one-sided rout. Both sides bled at similar rates while they fought. Then one side stopped fighting, and men who would have been shooters became prisoners.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x-a6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9c1f23-368a-40e4-89aa-bc75eeff246b_1200x780.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x-a6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9c1f23-368a-40e4-89aa-bc75eeff246b_1200x780.jpeg 424w, https://substackcdn.com/image/fetch/$s_!x-a6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9c1f23-368a-40e4-89aa-bc75eeff246b_1200x780.jpeg 848w, https://substackcdn.com/image/fetch/$s_!x-a6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9c1f23-368a-40e4-89aa-bc75eeff246b_1200x780.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!x-a6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9c1f23-368a-40e4-89aa-bc75eeff246b_1200x780.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x-a6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9c1f23-368a-40e4-89aa-bc75eeff246b_1200x780.jpeg" width="1200" height="780" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a9c1f23-368a-40e4-89aa-bc75eeff246b_1200x780.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:780,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;p2_rout_map__academic__completed.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="p2_rout_map__academic__completed.png" title="p2_rout_map__academic__completed.png" srcset="https://substackcdn.com/image/fetch/$s_!x-a6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9c1f23-368a-40e4-89aa-bc75eeff246b_1200x780.jpeg 424w, https://substackcdn.com/image/fetch/$s_!x-a6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9c1f23-368a-40e4-89aa-bc75eeff246b_1200x780.jpeg 848w, https://substackcdn.com/image/fetch/$s_!x-a6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9c1f23-368a-40e4-89aa-bc75eeff246b_1200x780.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!x-a6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a9c1f23-368a-40e4-89aa-bc75eeff246b_1200x780.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: blue formations hold the hill, red arrows press, and the rout tapers off toward Washington; the inset bar splits the day&#8217;s casualties into killed, wounded, and captured or missing.</em><br><em>What to see: both sides bled at similar rates while they fought, then one side stopped, and 1,312-against-13 in prisoners is what a broken will looks like in a ledger.</em></p><p><strong>2. Breaking early is the rule, and casualties are a lousy predictor of when.</strong> The foundational study is Dorothy Clark&#8217;s 1954 Operations Research Office report, which examined 43 battalion engagements in which units broke. She found casualties were probably not the primary cause of breaking, and in about a third of her cases the battalion had already absorbed over 40% casualties before it quit. Helmbold&#8217;s 1971 RAND review put historical breakpoints anywhere from roughly 10% to 70% of strength, with leadership, support, and communication mattering more than attrition. Two things follow. First, units break well short of annihilation, essentially always. Second, there is no magic number. My simulations sweep breakpoints across 8&#8211;40%, spanning the lower-middle of that observed 10&#8211;70% range; the sweep dips below the literature&#8217;s floor because Bull Run&#8217;s observed 8.3% break anchors the low end. That band is my modeling assumption, not a literature finding, and I will keep saying so. Clausewitz put the underlying idea in one sentence: an enemy&#8217;s power of resistance is &#8220;the product of two inseparable factors, viz. the total means at his disposal and the strength of his will.&#8221; The means are countable. The will is the part that fails first.</p><p><strong>3. You can put the breaking point in the math, and the math checks out.</strong> The engine is Lanchester&#8217;s square law, the 1916 aimed-fire attrition model that operations researchers have used for a century, plus one addition: each unit routs when its casualty fraction crosses a threshold, and that threshold varies run to run. Validation is the part I care about. In 1954 J. H. Engel fit the square law to daily American casualty data from Iwo Jima and published attrition coefficients. My independent refit of the same daily series recovers A = 0.0565 against Engel&#8217;s published 0.0544. The R-squared is 0.992 on 35 daily points, but read that number gently: the fit is to the daily strength series, a cumulative and monotone curve that flatters R-squared by construction. The meaningful check is the coefficient landing within 4% of Engel&#8217;s. And the spine has survived a hostile audit before: Robert W. Samz&#8217;s 1972 Operations Research technical note revised Engel&#8217;s Iwo Jima data and found the revised data still fit. A small credibility bonus from doing the homework: a different value for Engel&#8217;s coefficient circulates in secondary sources, and it turns out to be a transcription error that has been copied around for decades. I pulled the 1954 paper scan and read the number off the page. The model also reproduces Bull Run&#8217;s rout at 8.3%, Pickett&#8217;s roughly 19% Union casualties, and Trafalgar&#8217;s zero British ships lost, before any counterfactual is run.</p><p><strong>4. Iwo Jima already ran this natural experiment on unbreakable wills.</strong> The one force in the dataset with a genuinely unbreakable will was not an AI. It was the Japanese garrison of Iwo Jima, February 19 to March 26, 1945. Kuribayashi ordered each man to treat his position as his grave and to kill ten of the enemy before dying, forbade the banzai charges that had squandered earlier garrisons, and fought a defense in depth designed to maximize American casualties rather than to win. Of a garrison of roughly 21,000, only 216 were taken prisoner during the battle. That is a breakpoint of one: fight until dead. The model puts a price on it. Give Japan a normal human breakpoint and simulated US casualties fall from 21,431 to 10,969, a ratio of 1.95x, and the battle shortens from 36.4 days to 10.7, a ratio of 3.4x (n = 15,000 runs per condition; the Monte Carlo means are stable to a couple of men). Those are model outputs on Engel&#8217;s assault-echelon accounting basis, where the historical figure is 20,860 over 36 days; the roughly 26,000 casualties you may have read elsewhere is the all-services total for the whole operation, a different basis, and the two must not be mixed. The sentence I want a planner to carry out of this post: a real unbreakable will already existed once, and it doubled American casualties. It did not change who won.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3aXP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9da0a73f-4362-4cbf-8363-706e19599c9f_1200x630.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3aXP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9da0a73f-4362-4cbf-8363-706e19599c9f_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3aXP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9da0a73f-4362-4cbf-8363-706e19599c9f_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3aXP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9da0a73f-4362-4cbf-8363-706e19599c9f_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3aXP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9da0a73f-4362-4cbf-8363-706e19599c9f_1200x630.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3aXP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9da0a73f-4362-4cbf-8363-706e19599c9f_1200x630.jpeg" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9da0a73f-4362-4cbf-8363-706e19599c9f_1200x630.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;p2_price_of_no_surrender__period__completed.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="p2_price_of_no_surrender__period__completed.png" title="p2_price_of_no_surrender__period__completed.png" srcset="https://substackcdn.com/image/fetch/$s_!3aXP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9da0a73f-4362-4cbf-8363-706e19599c9f_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3aXP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9da0a73f-4362-4cbf-8363-706e19599c9f_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3aXP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9da0a73f-4362-4cbf-8363-706e19599c9f_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3aXP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9da0a73f-4362-4cbf-8363-706e19599c9f_1200x630.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: the cool low column at the left is the counterfactual, the towering brass-lit column the real battle, Suribachi and the landing craft between them.</em><br><em>What to see: the will did not move the outcome, only how long and how bloody it was. Roughly 2x the casualties across 3x the days.</em></p><p><strong>5. At Pickett&#8217;s Charge, the breakpoint was the whole battle.</strong> On July 3, 1863, 11,481 Confederate infantry crossed nearly three-quarters of a mile of open ground against the Union center and were repulsed in about an hour, losing roughly half their number. In the model the charge succeeds 4.2% of the time (95% CI 3.9&#8211;4.6%, Monte Carlo); the validation ensemble puts it at 4.9%, and the 2022 continuous-flow simulation study of the charge by Poggie, Matei, and Kirchubel puts it near 6%. Attribute each number to its method and they agree: a long shot. Now move the will around. If the Union artillery had been weak-willed and fled at 10% losses, the model makes the charge a coin flip: 49.1% Confederate win (95% CI 48.3&#8211;49.9%). The historical guns did not flee. At the wall called The Angle, Lieutenant Alonzo Cushing, twice wounded, refused evacuation and kept his last guns firing until he was killed; he received the Medal of Honor for it 151 years later, in 2014 and if you&#8217;re building an AI enabled strategic weapon you should name it after him. The model says that steadfastness was worth about 45 points of win probability. And if the entire Confederate assault cannot break, it takes the ridge in 92.0% of runs (95% CI 91.6&#8211;92.5%) and never loses; the remaining 8% are stalemates at nightfall, not Union wins.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WIve!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22ed5e4d-4314-4426-abd8-b745fd172891_1200x630.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WIve!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22ed5e4d-4314-4426-abd8-b745fd172891_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WIve!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22ed5e4d-4314-4426-abd8-b745fd172891_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WIve!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22ed5e4d-4314-4426-abd8-b745fd172891_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WIve!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22ed5e4d-4314-4426-abd8-b745fd172891_1200x630.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WIve!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22ed5e4d-4314-4426-abd8-b745fd172891_1200x630.jpeg" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22ed5e4d-4314-4426-abd8-b745fd172891_1200x630.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;p2_charge_twice__period__completed.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="p2_charge_twice__period__completed.png" title="p2_charge_twice__period__completed.png" srcset="https://substackcdn.com/image/fetch/$s_!WIve!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22ed5e4d-4314-4426-abd8-b745fd172891_1200x630.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WIve!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22ed5e4d-4314-4426-abd8-b745fd172891_1200x630.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WIve!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22ed5e4d-4314-4426-abd8-b745fd172891_1200x630.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WIve!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22ed5e4d-4314-4426-abd8-b745fd172891_1200x630.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: the same field painted twice; above is what happened, below is the assault if the line could not break.</em><br><em>What to see: the same men with the breaking point removed cross the wall and win 92% of runs. Proportions follow the measured 92% win rate.</em></p><p>Between those poles sits a threshold. Sweep the AI unbreakable-will share of the assault upward and the winner flips at just over three-fifths, 62% on a deterministic 1% scan, with the Monte Carlo curve crossing even odds at the same spot. Below that share, the extra AI-resolve buys deeper casualties and the same defeat.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zH1a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78dd0489-acc0-4a1f-8946-700ff6c6fb20_1200x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zH1a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78dd0489-acc0-4a1f-8946-700ff6c6fb20_1200x700.png 424w, https://substackcdn.com/image/fetch/$s_!zH1a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78dd0489-acc0-4a1f-8946-700ff6c6fb20_1200x700.png 848w, https://substackcdn.com/image/fetch/$s_!zH1a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78dd0489-acc0-4a1f-8946-700ff6c6fb20_1200x700.png 1272w, https://substackcdn.com/image/fetch/$s_!zH1a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78dd0489-acc0-4a1f-8946-700ff6c6fb20_1200x700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zH1a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78dd0489-acc0-4a1f-8946-700ff6c6fb20_1200x700.png" width="1200" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/78dd0489-acc0-4a1f-8946-700ff6c6fb20_1200x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p2_tipping_curve.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p2_tipping_curve.png" title="body_p2_tipping_curve.png" srcset="https://substackcdn.com/image/fetch/$s_!zH1a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78dd0489-acc0-4a1f-8946-700ff6c6fb20_1200x700.png 424w, https://substackcdn.com/image/fetch/$s_!zH1a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78dd0489-acc0-4a1f-8946-700ff6c6fb20_1200x700.png 848w, https://substackcdn.com/image/fetch/$s_!zH1a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78dd0489-acc0-4a1f-8946-700ff6c6fb20_1200x700.png 1272w, https://substackcdn.com/image/fetch/$s_!zH1a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78dd0489-acc0-4a1f-8946-700ff6c6fb20_1200x700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>How to read it: Sweep the share of the assault that cannot break from none to all; the curve is the simulated chance the Confederates take the ridge, and the brass point is where the model&#8217;s winner flips.</em><br><em>What to see: Unbreakable AI-will is a threshold, not a dial; below just over three-fifths (62%) the added resolve only deepens the casualty bill.</em></p><p><strong>6. An unbreakable AI-will is not a cheat code.</strong> Run the same experiment on the other battles and the flip disappears. Make 40% of the Union force at Bull Run unbreakable and the rout becomes a stalemate; the human 60% still breaks on schedule, the AI contingent holds the hill into the night, and no fraction up to 100% converts holding into winning at the army&#8217;s measured effectiveness. Make the whole force unbreakable and more than 99.9% of 15,000 runs still end in stalemate; no run produced a Union victory, so the residual is a statistical bound, not an observed event. At Trafalgar, even a Combined French-Spanish fleet that never strikes its colors loses 83.6% of the time (95% CI 83.0&#8211;84.2%), because Nelson&#8217;s gunnery and concentration decide the fight before any morale check matters. Why will is usually a tiebreaker rather than a war-winner is the next post but one; for now, the pattern is enough. Removing the breaking point reliably changes the body count. It changes the winner only when the fight was close on capability to begin with.</p><p><strong>7. Men are surrendering to machines right now.</strong> In August 2024 a Ukrainian brigade used a drone to walk a wounded, abandoned Russian soldier through a surrender: it dropped water and written instructions, then guided him to Ukrainian lines. By March 2026, Ukraine&#8217;s digital-transformation minister Mykhailo Fedorov claimed drone units had compelled more than 100 Russian soldiers to surrender over the winter alone; that is a belligerent&#8217;s own count, so read it as an order of magnitude, not a ledger entry. But the mechanism is the one in this post. A man does not surrender to a drone because he ran out of bullets. He surrenders because his will broke against something that does not have one.</p><h2>Best Arguments Against This</h2><p>The strongest objection goes at the model&#8217;s heart: I trigger routs on casualty fractions, and the foundational literature says casualty fractions are a poor predictor of breaking. Clark found leadership, support, and communication mattered more; a third of her broken battalions had already passed 40% losses before quitting. So the model uses, as its trigger, the very variable the best empirical study demoted. I partly concede this. The defense is threefold. The threshold in each baseline is calibrated to the level at which the historical unit actually broke, so it is a summary of whatever really caused the break, not a theory of it. The thresholds vary randomly across Monte Carlo runs, encoding Clark&#8217;s finding that breakpoints scatter widely. And the counterfactual question, what changes when the break is removed entirely, does not depend on what triggers the break, only that one existed and the record shows roughly where it fired.</p><p>Three smaller objections deserve print. The model is temporal, not spatial: no terrain, no flanking, no reserve decisions, so a battle it flips might not flip on real ground; an agent-based recheck is the single most likely thing to damage these results. The calibration inherits a bias: coefficients fit to total casualties, including losses taken during the rout and pursuit, understate the loser&#8217;s fighting capability. I hedge that with effectiveness sweeps here, and a later post returns to it with corrected data. And the campaign-level empirical record for Lanchester models is contested: Bracken (1995) found the linear law fit the Ardennes campaign, Fricker (1998) refit it and found neither law fit, and Lucas and Turkes (2004) found no basic law fits Kursk or the Ardennes well. That record is exactly why this series calibrates each battle separately and prints orderings with bands, not point forecasts.</p><h2>What Would Change My Mind</h2><p>First, a spatial or agent-based re-implementation, with terrain, suppression, and local maneuver, that reverses the Pickett flip or the Iwo Jima cost doubling.</p><p>Second, evidence from Ukraine through 2027 of human units routinely fighting to near annihilation without machine substitution, meaning breakpoints near 100% at scale. That would say human will is far more elastic than the 10&#8211;70% historical band, and the whole breakpoint frame is miscalibrated.</p><h2>The method, briefly</h2><p>A battle is not a subtraction problem. It is a race between two breaking points, and the side that reaches its own threshold first loses everything it has not yet lost. Hold that model, but hold it loosely: next post, an audit of 607 usable defeats from a roughly 660-battle database asks how often morale actually was the thing that broke, and the answer embarrassed me.</p>]]></content:encoded></item><item><title><![CDATA[AI in Warfare Part 1: Beyond the Breaking Point]]></title><description><![CDATA[Historical battles, AI weapons, and the measured value of forces that do not break.]]></description><link>https://www.mfrantzen.com/p/ai-in-warfare-part-1-beyond-the-breaking</link><guid isPermaLink="false">https://www.mfrantzen.com/p/ai-in-warfare-part-1-beyond-the-breaking</guid><dc:creator><![CDATA[Mike Frantzen]]></dc:creator><pubDate>Thu, 16 Jul 2026 12:02:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0bIo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There are a good number of legal, policy, ethical, and even religious discussions asking if we should incorporate AI into weapons and if so where the human should be in the loop. All the while, militaries across the world are scrambling to bolt AI onto existing weapons platforms. I assume incorporating a reasoning AI into a weapon platform will make for a far more effective weapon. But will it? How much more effective? Is there still an advantage if an AI weapon goes against an AI weapon?</p><p>So I decided to project AI weapon characteristics into the very well studied historic battles, model them using Lanchesters&#8217; equations, and see if I could project the past into the future to answer my questions.</p><p>The seven post series makes an assumption <em>AI weapons an be modeled like human weapons whose will never breaks</em>. They perform as they were programed (or trained) regardless of what happens. So the series asks one question: what is a will that cannot break actually worth in war? Not as a slogan. As a number, with error bars, in a model a military operations researcher would recognize.</p><p>The compressed answer, which the next six posts earn: an unbreakable will is real, measurable, and occasionally decisive. It is also narrow, conditional, and attackable. It decides fights that were already close on capability, and almost nothing else. Its value shrinks at every step up the ladder from the trooper to the commander to the force to the nation. And at the top of the ladder it can invert, into a way of losing wars while winning battles.</p><p><strong>The visualization that opens the series. Iwo Jima, the one battle where the unbreakable will was real.</strong></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;a9a87400-dcce-40f5-94e4-f371f3152c08&quot;,&quot;duration&quot;:null}"></div><p>How to read it: one continuous history with a running ledger, real unbreakable casualties climbing beside the counterfactual where the garrison broke at a normal breakpoint. What to see: here the unbreakable Japanese will was not a hypothesis. It roughly doubled the American dead, about 21,431 versus 10,969 in the model, and changed nothing about who took the island.</p><p>Now the concession, because it belongs right up front. These are attrition-model results. The engine is a Lanchester system, aimed-fire attrition plus an explicit morale breakpoint, the casualty fraction at which a unit quits. It was calibrated to four historical battles and checked at the aggregate level: total casualties, duration, outcome. Three of those four are calibration plus consistency checks; the genuinely out-of-sample test is the independent Engel refit below. It has no terrain, no perception, no fog, no time resolution below the engagement. The strategic posts in the back half of the series run stylized extensions on top of that validated engine, and those results print as orderings and directions, never as calibrated magnitudes. If you want a model of what will is, this is not it. It is a model that assumes an AI weapon can think, reason, plan and act just like a human does, but the AI&#8217;s will never fails regardless of how poorly the battle is going. That narrower thing turns out to be answerable.</p><p>Why trust the tool at all? Lineage, mostly. Lanchester published the equations in 1916. Engel validated them against Iwo Jima&#8217;s daily casualty data in 1954, and when Samz revised Engel&#8217;s data in a 1972 Operations Research technical note, the revised data still fit. My independent refit of the same series recovers his coefficients (A = 0.0565 against his published 0.0544, R-squared 0.992 on 35 daily points). The historical audit in post 3 runs on CDB90, the roughly 660-battle database Trevor Dupuy&#8217;s researchers compiled for the US Army in the 1980s. Every piece of this apparatus is standard issue in operations research. The only new part is the switch that turns a side&#8217;s breaking point off. And that models one characteristic of AI weapons.</p><h2><strong>Bottom Line <s>Up</s> Near-the Front</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9nTU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c7701f-17e2-44f9-b43e-e61aad541b28_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9nTU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c7701f-17e2-44f9-b43e-e61aad541b28_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!9nTU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c7701f-17e2-44f9-b43e-e61aad541b28_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!9nTU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c7701f-17e2-44f9-b43e-e61aad541b28_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!9nTU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c7701f-17e2-44f9-b43e-e61aad541b28_1200x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9nTU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c7701f-17e2-44f9-b43e-e61aad541b28_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17c7701f-17e2-44f9-b43e-e61aad541b28_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1217353,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.mfrantzen.com/i/206764072?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c7701f-17e2-44f9-b43e-e61aad541b28_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9nTU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c7701f-17e2-44f9-b43e-e61aad541b28_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!9nTU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c7701f-17e2-44f9-b43e-e61aad541b28_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!9nTU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c7701f-17e2-44f9-b43e-e61aad541b28_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!9nTU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c7701f-17e2-44f9-b43e-e61aad541b28_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Yes. In the case of Pickett&#8217;s charge, replacing Confederate soldiers with equivalent AI solders whose will never broke probably would have changed the battle and possibly the war. How to read the above: both ribbons are the same 11,481-man assault, width = remaining strength over the same clock; the dotted hairline marks the moment history stopped. In fact, the modeled AI assault wins 92% of simulated runs and never loses.</p><h2><strong>The frame</strong></h2><p><strong>1. Clausewitz made will half of war. We are about to automate that half.</strong> Here is the sentence, in the Howard and Paret translation, that the whole project stands on: &#8220;If you want to overcome your enemy you must match your effort against his power of resistance, which can be expressed as the product of two inseparable factors, viz. the total means at his disposal and the strength of his will.&#8221; Means times will. We will study battles where the means were extensively counted: men, guns, ships, rates of fire. The will is the factor that fails first, and it has failed in every army ever fielded. The empirical literature on breakpoints (Clark 1954; Helmbold 1971) puts the historical range of casualties-at-breaking anywhere from roughly 10 to 70 percent, with leadership and communication mattering more than the count of the dead. The range is wide. The existence of the breaking point is as close to a constant as war offers. Or at least has offered in the past.</p><p>An autonomous weapon does not have a mental breaking point. Whatever else an AI-driven force turns out to be, it is the first combatant in history whose participation in the fight does not depend on its nerve. One of Clausewitz&#8217;s two factors is becoming a design parameter, something you specify at procurement rather than cultivate in barracks. That converts an old rhetorical question into a measurable one, and it deserves measurement before the money moves. This project is my attempt.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4O8b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae44897-a7e7-4ec0-b882-444e2a8263eb_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4O8b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae44897-a7e7-4ec0-b882-444e2a8263eb_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!4O8b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae44897-a7e7-4ec0-b882-444e2a8263eb_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!4O8b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae44897-a7e7-4ec0-b882-444e2a8263eb_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!4O8b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae44897-a7e7-4ec0-b882-444e2a8263eb_1200x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4O8b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae44897-a7e7-4ec0-b882-444e2a8263eb_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ae44897-a7e7-4ec0-b882-444e2a8263eb_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:898258,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.mfrantzen.com/i/206764072?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae44897-a7e7-4ec0-b882-444e2a8263eb_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4O8b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae44897-a7e7-4ec0-b882-444e2a8263eb_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!4O8b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae44897-a7e7-4ec0-b882-444e2a8263eb_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!4O8b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae44897-a7e7-4ec0-b882-444e2a8263eb_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!4O8b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ae44897-a7e7-4ec0-b882-444e2a8263eb_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How to read it: Clausewitz factored war into means times will; the WILL formation erodes as the modeled force nears its breaking point.</p><p>What to see: one of the two factors fails first in every army ever fielded, and it is about to become a design parameter. AI-generated illustration; the WILL erodes to the model&#8217;s 28.6% breaking point.</p><p><strong>2. What we built, and why these four battles.</strong> The instrument is a Monte Carlo combat simulator: Lanchester square-law attrition, each unit carrying a morale threshold that varies run to run, and the ability to mix breakable humans with unbreakable machines on one side. The test set is four battles, chosen so that each stresses a different joint between will and firepower.</p><ul><li><p>First Bull Run, 1861: a pure rout. The Union army came apart at 8.3 percent casualties, 2,896 of 35,000 present counting killed, wounded, missing, and captured. The test: can the model break early, the way real armies broke?</p></li><li><p>Pickett&#8217;s Charge, 1863: a repulsed assault at near-parity firepower, the regime where a breakpoint should matter most. The test: does the model make the charge the long shot it was?</p></li><li><p>Trafalgar, 1805: a decisive naval concentration, where British gunnery and Nelson&#8217;s geometry did the deciding and Britain lost zero ships. The test: does the model refuse to credit will where will was not the story?</p></li><li><p>Iwo Jima, 1945: the control case, and the reason this series is not counterfactual fiction. Kuribayashi&#8217;s garrison genuinely fought without a breakpoint: of roughly 21,000 defenders, 216 were taken prisoner during the battle. History already ran one experiment with an unbreakable will, and Engel left us the daily data on what it cost.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0bIo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0bIo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!0bIo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!0bIo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!0bIo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0bIo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:478152,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.mfrantzen.com/i/206764072?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0bIo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!0bIo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!0bIo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!0bIo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd817cd2-ddc3-46aa-8c89-09ee69d5c958_1200x630.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How to read it: each panel is one validated battle; the X is where the losing force&#8217;s will broke, the caption the historical outcome the model had to reproduce.</p><p>What to see: four very different fights, one shared failure mode, and a single experimental move: turn the breaking point off.</p><p>The engine had to reproduce all four before any counterfactual ran: the rout at 8.3 percent, the charge repulsed with roughly 19 percent Union casualties, the zero British ships, and Iwo Jima's daily casualty trajectory. The charge's 4.2 percent baseline odds (95% CI 3.9-4.6%) are what the matched engine then reports: model output, not a validation target.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LWu5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e15610e-1812-498f-8bea-e40333013ed6_1200x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LWu5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e15610e-1812-498f-8bea-e40333013ed6_1200x960.png 424w, https://substackcdn.com/image/fetch/$s_!LWu5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e15610e-1812-498f-8bea-e40333013ed6_1200x960.png 848w, https://substackcdn.com/image/fetch/$s_!LWu5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e15610e-1812-498f-8bea-e40333013ed6_1200x960.png 1272w, https://substackcdn.com/image/fetch/$s_!LWu5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e15610e-1812-498f-8bea-e40333013ed6_1200x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LWu5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e15610e-1812-498f-8bea-e40333013ed6_1200x960.png" width="1200" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e15610e-1812-498f-8bea-e40333013ed6_1200x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;body_p1_validation_scorecard.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="body_p1_validation_scorecard.png" title="body_p1_validation_scorecard.png" srcset="https://substackcdn.com/image/fetch/$s_!LWu5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e15610e-1812-498f-8bea-e40333013ed6_1200x960.png 424w, https://substackcdn.com/image/fetch/$s_!LWu5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e15610e-1812-498f-8bea-e40333013ed6_1200x960.png 848w, https://substackcdn.com/image/fetch/$s_!LWu5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e15610e-1812-498f-8bea-e40333013ed6_1200x960.png 1272w, https://substackcdn.com/image/fetch/$s_!LWu5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e15610e-1812-498f-8bea-e40333013ed6_1200x960.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How to read it: each row is one check; a dot inside its ring is a bullseye, and the short brass bar is the miss distance on that row&#8217;s own zero-based scale.</p><p>What to see: one engine lands on or beside eight very different targets across four battles, before the morale switch was ever touched.</p><p><strong>3. The experiment: turn one side&#8217;s breaking point off.</strong> Once the engine matched history, the counterfactuals ran in escalating doses. Make one strategic weapon unbreakable AI, a battery that never abandons its guns, to approximate the 2020s approach of embedding AI into strategic weapons first. Then make a contingent unbreakable, and sweep the fraction from a few percent to the whole force: the 2030s proverbial AI/robot-army. Then stop assuming the enemy cooperates. Let him jam the machines&#8217; wiring, decline the fights he would lose, choose the kind of engagement he prefers. Finally, put a nation behind the unbreakable army, with a nation&#8217;s very human tolerance for cost, and let the campaign run to a political ending. Each escalation is one post. Each post has one claim I would defend in a hostile meeting.</p><p><strong>4. The map of the series.</strong> Six posts follow. Here is what each one argues.</p><p>Post 2, 91.7% of the Army Was Still Standing When It Ran. Battles end when will breaks, long before armies die: the Union quit Bull Run with over nine-tenths of its men still standing, and a robot Pickett&#8217;s Charge takes the ridge in 92 percent of simulations (95% CI 91.6-92.5%) and never loses outright. Iwo Jima&#8217;s real unbreakable will roughly doubled American casualties in the model (21,431 against 10,969 simulated) and changed nothing about who won.</p><p>Post 3, Out-Fought, Not Out-Frightened. An audit of 607 defeats in the Army&#8217;s own database finds about two-thirds (60.8-72.2 percent across threshold choices) were capability losses, and genuine will collapses were a fifth, at most a third after honest correction. Two-thirds of history&#8217;s losers were out-fought, not out-frightened.</p><p>Post 4, ADM Nelson Beats the Robots. Every battle has a capability floor below which no fraction of unbreakable force wins, and against an enemy that does not break, your own unbreakable will is worth exactly zero. Even a Trafalgar fleet that never strikes its colors loses 83.6 percent of the time (95% CI 83.0-84.2%).</p><p>Post 5, The General Quits First. Historical battles ended on a commander&#8217;s withdrawal ten times as often as on the troops&#8217; annihilation (266 to 26 of 607 recorded defeats), and a machine&#8217;s will is only as unbreakable as its jammable, hackable substrate. Your robot&#8217;s will lives in its radio.</p><p>Post 6, The Unexpected Deterrence. A rational enemy declines roughly 40-58 percent of the fights an unbreakable force would win and keeps the ones he takes; let him choose the kind of fight and will&#8217;s measured value collapses by about 97 percent in the model. A Great General will not fight your unbreakable army. They will fight around it.</p><p>Post 7, Win Every Battle. Lose the War. The capstone: a reviewer&#8217;s attack on the model, my correction, and the enemy&#8217;s answer to the correction map four regimes, and every one is decided by what the nation can bear, blood where the enemy can reach it, treasure and time where he cannot. The series&#8217; honest scorecard and all nine operating rules live there.</p><h2><strong>Best Arguments Against This</strong></h2><p>The strongest objection covers the whole series, so it goes here, at the front: an aggregate attrition model cannot capture what will actually is. Will is perception, leadership, cohesion, exhaustion, the rumor running down the line. My model compresses all of it into one number, a casualty fraction at which a unit quits, and the foundational empirical study of breakpoints, Dorothy Clark&#8217;s 1954 work on 43 broken battalions, found casualty levels a poor predictor of when units break. So the model&#8217;s trigger variable is the one the best field data demoted. I concede the compression fully. RAND&#8217;s Will to Fight framework (Connable and colleagues, RR-2341-A, 2018) shows what the full-mechanism alternative looks like: 29 factors, unit by unit, from leadership to cohesion to supply. Their model is a model of what will is. Mine is one threshold, because my question is not what will is made of but what removing its failure point changes.</p><p>Three things keep the results standing anyway. First, the design: the counterfactual question is not what triggers a break but what changes when no trigger exists, and for that the model needs only that the historical break happened at a measurable point, which the record supplies. Second, the validation: the engine reproduced four very different battles, including an independent recovery of Engel&#8217;s 1954 coefficients, before the morale switch was ever thrown. Third, the audit: every headline number in this series was reproduced from committed data and stress-tested before drafting, dropping one war at a time, one century at a time, rerunning under fresh seeds, re-scanning grids at finer steps. Where the audit&#8217;s numbers moved under stress, the moved versions are the ones that print. What the concession still buys the skeptic, the spatial and perceptual texture of real combat, is named below as the likeliest thing to change my mind.</p><h2><strong>What Would Change My Mind</strong></h2><p>These are the series-level triggers; each post carries its own.</p><ol><li><p>By end of 2027: a spatial or agent-based re-implementation of these experiments, with terrain, suppression, and local maneuver, that overturns a core ordering: the Pickett flip, the capability floor, or the capstone&#8217;s never-helped result. This is the single most likely falsifier.</p></li><li><p>By December 2027: a machine-readable re-audit of historical defeats that separates fighting-phase from pursuit-phase casualties at hundreds-of-battles scale and finds true will collapses were the majority. Post 3&#8217;s headline dies, and much of the series&#8217; framing with it.</p></li><li><p>Within a year of publication: verified battlefield evidence of an unbreakable autonomous force flipping an engagement it was clearly losing on capability, by refusal to break alone. That breaks the tiebreaker thesis at its center. Keep an eye on Ukraine.</p></li><li><p>Any time: an independent refit of Engel&#8217;s 1954 Iwo Jima daily series that fails to recover coefficients near his published values. That is my validation lynchpin.</p></li></ol><h2><strong>The close</strong></h2><p>For two centuries strategy treated the will factor as fate: a commander could cultivate it, but nobody could specify it. That era is ending on a procurement schedule, and the right response is neither the promise that armies which cannot panic cannot lose, nor the reflex that nothing fundamental has changed. The right response is to measure and adapt.</p><p>Measured, it comes to this. An unbreakable will is not a war-winner. It is a tiebreaker, purchased at strategic risk: it decides fights that were already close, only where the enemy allows the fight, only while its wiring holds, and the bill goes to a nation whose own will remains the last, and deciding, breaking point.</p><p>Next post: the army that ran from Bull Run with 91.7 percent of its men still standing, and what happened when I built its panic into the math, then took the panic away.</p>]]></content:encoded></item></channel></rss>