<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Software Engineering on AIBussin — AI applications, systems and books</title>
		<link>https://aibussin.com/categories/software-engineering/</link>
		<description>Recent content in Software Engineering on AIBussin — AI applications, systems and books</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<lastBuildDate>Sun, 04 Oct 2026 14:32:00 +0100</lastBuildDate>
		
			<atom:link href="https://aibussin.com/categories/software-engineering/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>What Context Means</title>
				<link>https://aibussin.com/books/context/01-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:01 +0100</pubDate>
				<guid>https://aibussin.com/books/context/01-chapter/</guid>
				<description>&lt;p&gt;Consider a concrete evening. A developer asks a coding agent to fix a failing test. The typed message is eleven words long: &amp;ldquo;the checkout test fails after my last commit, please fix it.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Behind those eleven words sits an organisation of information enormously larger than the request. The repository holds hundreds of thousands of lines of code. The version control history holds the last commit and every commit before it. The continuous integration log holds the actual failure output. The open editor holds the file the developer was viewing. The agent&amp;rsquo;s working directory holds shell history, environment variables, and configuration. Earlier in the session, the developer pasted an error trace, the agent ran two searches, and a linter produced three warnings nobody has read yet.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Beyond the Chat Box</title>
				<link>https://aibussin.com/books/applied-ai/01-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:01 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/01-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 1 — Where You Stand&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Before any of this can be built, it is worth being exact about where you are standing. Intelligence is no longer the scarce component. What is scarce is everything around it: deciding which work should never be stochastic, knowing what a model call costs, noticing that a person&amp;rsquo;s review decays as the model improves, and measuring a system whose output changes between runs.&lt;/p&gt;&#xA;&lt;p&gt;These eight chapters make that case: the position a commodity technology erodes, the rule that keeps deterministic work deterministic, where this era&amp;rsquo;s training data came from, why human review becomes a rubber stamp, what intelligence actually costs, how to measure a stochastic system, and why projects still are not finishing.&lt;/p&gt;</description>
			</item>
			<item>
				<title>What Remembering Means</title>
				<link>https://aibussin.com/books/memory/01-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:01 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/01-chapter/</guid>
				<description>&lt;p&gt;A small team spends a week arguing about where to keep its event log.&lt;/p&gt;&#xA;&lt;p&gt;They start with SQLite. It works at first, then slows to a crawl once several writers hit it at once. So they move the event store to PostgreSQL and write down why. Within a month nobody thinks about it any more. It is just how the system works.&lt;/p&gt;&#xA;&lt;p&gt;A few months later, a new contributor asks the team&amp;rsquo;s AI assistant to scaffold a second service, with its own event log.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Measurement Instrument</title>
				<link>https://aibussin.com/books/context/02-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:02 +0100</pubDate>
				<guid>https://aibussin.com/books/context/02-chapter/</guid>
				<description>&lt;p&gt;Imagine a developer debugging a slow, expensive coding agent. The visible transcript shows eight user messages and eight assistant replies. It looks modest. Then they enable request logging at the harness layer and discover that the eighth model invocation carried tens of thousands of tokens: the project instructions re-sent for the eighth time, tool definitions for tools never called in this session, two file reads that overlap almost entirely, and a history that includes four failed tool calls and their stack traces in full. The user typed a few hundred words in the whole session. The model received a novella.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Never Stand in Front of the Steamroller</title>
				<link>https://aibussin.com/books/applied-ai/02-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:02 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/02-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 1 — Where You Stand&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-plain-version&#34;&gt;The plain version&lt;/h2&gt;&#xA;&lt;p&gt;The historical premise of this chapter is not controversial: machines have displaced codified parts of skilled work before. The inference for AI — which parts are now exposed, how fast the boundary moves, and where durable human responsibility remains — is the claim this chapter has to earn.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Computer&amp;rdquo; was a job title before it was a machine: rooms of people did calculations by hand for engineers, observatories and space programs. Typesetters set newspapers line by line, first by hand and later on hot-metal machines, until photocomposition and then desktop publishing took the trade. Keypunch operators turned programs and data into stacks of punched cards. Typing pools produced every letter an office sent. Each of those was skilled work, done by people who were good at it and some who were superb. None of that skill protected the job once a machine could do the codified part.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Measurement Instrument</title>
				<link>https://aibussin.com/books/memory/02-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:02 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/02-chapter/</guid>
				<description>&lt;p&gt;Chapter 1 ended with a test. Does the past change what the system does now, and does it change it for the better?&lt;/p&gt;&#xA;&lt;p&gt;That is easy to state and hard to run. This chapter builds the thing that runs it.&lt;/p&gt;&#xA;&lt;p&gt;Two words will recur for the rest of the book, and they must not blur together. The &lt;strong&gt;memory system&lt;/strong&gt; is the thing that remembers. The &lt;strong&gt;instrument&lt;/strong&gt; is the apparatus that decides whether it does. They are separate products, and this book builds both.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Context You Didn&#39;t Type</title>
				<link>https://aibussin.com/books/context/03-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:03 +0100</pubDate>
				<guid>https://aibussin.com/books/context/03-chapter/</guid>
				<description>&lt;p&gt;The mental model most users carry looks like this:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;user&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ↓&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ↓&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;answer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A message goes in, intelligence happens, an answer comes out. Everything in the previous chapter says this picture is false, but the previous chapter showed the falsity as accounting tables. This chapter shows it as machinery. Behind a production assistant stands a runtime that assembles a layered stack of instructions, definitions, state, history, and observations, and the user&amp;rsquo;s message arrives near the bottom of that stack, not the top of it.&lt;/p&gt;</description>
			</item>
			<item>
				<title>If There&#39;s Any Doubt, It&#39;s Deterministic</title>
				<link>https://aibussin.com/books/applied-ai/03-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:03 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/03-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 1 — Where You Stand&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;seven-operations-one-of-them-intelligent&#34;&gt;Seven operations, one of them intelligent&lt;/h2&gt;&#xA;&lt;p&gt;Take the paragraph review from Chapter 1 and write down everything the process actually has to do. Not the prompt — the process.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Select the paragraph to review.&lt;/li&gt;&#xA;&lt;li&gt;Decide whether it has changed since the last review.&lt;/li&gt;&#xA;&lt;li&gt;Decide whether there is budget left for a call.&lt;/li&gt;&#xA;&lt;li&gt;Identify claims in the paragraph that need supporting evidence.&lt;/li&gt;&#xA;&lt;li&gt;Extract the flagged sentence and its position.&lt;/li&gt;&#xA;&lt;li&gt;Check that a cited source resolves and that its year matches the bibliography.&lt;/li&gt;&#xA;&lt;li&gt;Decide whether to write the change to the file.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Six of those have exactly one correct answer, computable without a model. Selection is an index lookup and change detection is a hash comparison. Budget is arithmetic; extraction is parsing. Source checking resolves the request and compares it against the bibliography. The write decision evaluates policy.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The RAG Baseline</title>
				<link>https://aibussin.com/books/memory/03-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:03 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/03-chapter/</guid>
				<description>&lt;p&gt;The simplest answer to the memory problem is also the one every more elaborate system has to beat: keep the project history, retrieve the parts that look relevant, and let a capable model read them.&lt;/p&gt;&#xA;&lt;p&gt;That approach already has many of the ingredients people casually call memory. The past is retained. A query selects evidence from it. A reader interprets that evidence in the context of the present task. If the resulting behaviour improves because the right part of the past was recovered, the system has done something useful without maintaining a separate persistent account of what the project believes, what changed, or what should be remembered next.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Context Window Is a Budget</title>
				<link>https://aibussin.com/books/context/04-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:04 +0100</pubDate>
				<guid>https://aibussin.com/books/context/04-chapter/</guid>
				<description>&lt;p&gt;Chapter 3 ended with an observation: every hidden layer costs something. A team running a coding agent on a model with a million-token window read that sentence and shrugged. Their sessions rarely passed 150,000 tokens. Nothing was being truncated, nothing was overflowing, and the window, they reasoned, had settled the matter. Then two things happened. First, a long debugging session died at turn eleven with the model stopping mid-repair, not because the input had crossed a million tokens but because the input plus the output the model still needed no longer fit together. Second, the invoice arrived, and the &amp;ldquo;plenty of headroom&amp;rdquo; sessions turned out to be the most expensive ones they had ever run. The window had not settled anything. It had merely set the outer wall of a much smaller room they were actually living in.&lt;/p&gt;</description>
			</item>
			<item>
				<title>From Retrieval to Persistent Understanding</title>
				<link>https://aibussin.com/books/memory/04-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:04 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/04-chapter/</guid>
				<description>&lt;p&gt;Chapter 3 built the strongest conventional retrieval the book could assemble, and left it standing. That result constrains this chapter before it starts.&lt;/p&gt;&#xA;&lt;p&gt;The usual argument for structured memory goes: retrieval finds text, but it does not understand it. About the system Chapter 3 actually built, that is simply false. A hybrid retriever, a cross-encoder reranker, and a capable reader already do a great deal of interpreting.&lt;/p&gt;&#xA;&lt;p&gt;Watch what that reader does. It tells proposals from decisions when the passages allow it. It follows rationale across artifacts. It abstains when the evidence runs out.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Scrum Built the Training Set</title>
				<link>https://aibussin.com/books/applied-ai/04-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:04 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/04-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 1 — Where You Stand&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Why checkable work became unusually favorable terrain&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;an-uncomfortable-piece-of-bookkeeping&#34;&gt;An uncomfortable piece of bookkeeping&lt;/h2&gt;&#xA;&lt;p&gt;Software engineering became an unusually fertile early target for language-model automation. The usual explanation is that code is logical and therefore tractable for a machine.&lt;/p&gt;&#xA;&lt;p&gt;That explanation points at only part of what made software favorable. The account this chapter defends is about the surrounding work records and checks.&lt;/p&gt;&#xA;&lt;p&gt;Over decades, software teams increasingly worked through issue trackers, version control, code review, automated tests, and iterative planning methods. Not every team used Scrum, and none of these practices guarantees the others, but together they often left behind unusually structured records:&lt;/p&gt;</description>
			</item>
			<item>
				<title>More Is Not Better</title>
				<link>https://aibussin.com/books/context/05-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:05 +0100</pubDate>
				<guid>https://aibussin.com/books/context/05-chapter/</guid>
				<description>&lt;p&gt;The seductive assumption runs like this. Useful information is good. The model has spare capacity. Therefore adding more potentially useful information should be better, or at worst harmless. Teams act on it constantly: the whole repository goes into the window just in case, every retrieved document is kept because retrieval must have returned it for a reason, history is never truncated because something old might matter. The budget chapter showed this costs money and headroom. This chapter shows it costs something more fundamental. Past a point, added context does not merely cost. It injures.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Meat Proxy</title>
				<link>https://aibussin.com/books/applied-ai/05-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:05 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/05-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 1 — Where You Stand&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Review degrades because the system succeeds&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;ten-weeks&#34;&gt;Ten weeks&lt;/h2&gt;&#xA;&lt;p&gt;Week one, the model drafts a paragraph review and you read every line of it. You disagree with two of its four flags, check a source yourself, rewrite one sentence. The whole thing takes twenty minutes and you feel you have earned the output.&lt;/p&gt;&#xA;&lt;p&gt;Week three, the reviews have been good. You read them properly but you stop re-checking the sources it says it checked. Nothing bad happens.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Pathways Through Memory</title>
				<link>https://aibussin.com/books/memory/05-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:05 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/05-chapter/</guid>
				<description>&lt;p&gt;Chapter 4 set out to give the system a map. Instead of reconstructing meaning from raw passages at every query, it keeps interpretation: entities, relationships, claims, communities, each traceable back to the artifact it came from. Whether that map pays for itself is Chapter 4&amp;rsquo;s own question and Chapter 4&amp;rsquo;s own experiment; nothing here assumes its verdict.&lt;/p&gt;&#xA;&lt;p&gt;This chapter asks a question that arises either way. Suppose the map exists. A map is a structure to search, but associative recall suggests a different mechanism: one memory evokes another, which evokes another, until useful evidence appears several steps from the original cue.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Order Changes Meaning</title>
				<link>https://aibussin.com/books/context/06-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:06 +0100</pubDate>
				<guid>https://aibussin.com/books/context/06-chapter/</guid>
				<description>&lt;p&gt;A harness team ships a minor upgrade. Nothing is added to the context and nothing is removed. The release notes mention only a rendering change: tool results now appear above the project rules instead of below them, so that fresh observations sit closer to the current request. Within a week, the team&amp;rsquo;s deployment-safety rule, which the agent obeyed for months, starts getting violated. Nobody changed the rule. Nobody changed the model. The information in every bundle is byte-identical to last week&amp;rsquo;s. Only the arrangement changed, and the behaviour changed with it.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Memory Nexus</title>
				<link>https://aibussin.com/books/memory/06-chapter/</link>
				<pubDate>Sat, 19 Sep 2026 05:00:06 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/06-chapter/</guid>
				<description>&lt;p&gt;Chapters 3 through 5 leave the system with an embarrassment of options. Chapter 3 built hybrid retrieval over raw history with reranking. Chapter 4 added a persistent derived graph with several query modes. Chapter 5 added cue-conditioned associative propagation over that graph. Each chapter earned its mechanism conditionally, and each left the cheaper layers available underneath. The question none of them answers is the one a deployed system meets first:&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Price of Intelligence</title>
				<link>https://aibussin.com/books/applied-ai/06-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:06 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/06-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 1 — Where You Stand&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-invoice-nobody-runs-at-prototype-time&#34;&gt;The invoice nobody runs at prototype time&lt;/h2&gt;&#xA;&lt;p&gt;The paragraph review from Chapter 1 costs about 1,200 tokens in and 400 out. At prototype scale that is a rounding error, and it is why nobody computes the next four numbers.&lt;/p&gt;&#xA;&lt;p&gt;A manuscript has 3,000 paragraphs. That is one full pass.&lt;/p&gt;&#xA;&lt;p&gt;The review is not run once. Every edit invalidates the review of the paragraph it touched, and a careful author edits most paragraphs four or five times.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Not All Tokens Are Equal</title>
				<link>https://aibussin.com/books/context/07-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:07 +0100</pubDate>
				<guid>https://aibussin.com/books/context/07-chapter/</guid>
				<description>&lt;p&gt;A coding session under capacity pressure holds six items: a project safety rule, never modify production migrations without explicit approval; a test summary, 917 passed, 3 failed; a compiler log of 18,000 tokens; an architecture decision, PostgreSQL is required for this event-store workload; the contents of a source file; and an abandoned hypothesis, maybe the serializer is corrupting timestamps.&lt;/p&gt;&#xA;&lt;p&gt;Pressure arrives, and the harness must yield tokens. The uniform policies on offer are all wrong in different ways. Summarise everything, and the safety rule becomes &amp;ldquo;be careful with migrations,&amp;rdquo; which no longer forbids anything. Delete the oldest material, and the architecture decision vanishes while yesterday&amp;rsquo;s abandoned hypothesis survives on recency. Truncate from the middle, and the file contents go while the log stays. Keep everything, and the request fails at the window. Each policy treats the six items as interchangeable tokens. They are not interchangeable, and the differences between them are exactly what a retention policy needs to know.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Why</title>
				<link>https://aibussin.com/books/memory/07-chapter/</link>
				<pubDate>Sat, 19 Sep 2026 05:00:07 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/07-chapter/</guid>
				<description>&lt;p&gt;Chapters 3 through 6 leave the system with a working pipeline and an uncomfortable surplus. Chapter 3 retrieves raw history. Chapter 4 derives a persistent graph from it. Chapter 5 propagates activation across that graph. Chapter 6 chooses between these mechanisms. A candidate memory reaches the reader, the reader writes an answer, and the answer contains claims about the project. This chapter asks the book&amp;rsquo;s third question — &lt;em&gt;why did we decide or believe this?&lt;/em&gt; — in the form the pipeline forces:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Intelligence in the Wrong Direction</title>
				<link>https://aibussin.com/books/applied-ai/07-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:07 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/07-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 1 — Where You Stand&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Capability without an objective is magnitude without direction&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-thing-the-marketing-does-not-cover&#34;&gt;The thing the marketing does not cover&lt;/h2&gt;&#xA;&lt;p&gt;Every vendor will sell you more capability. None of them can tell you whether that capability moves your process toward its objective without a measurement you supply.&lt;/p&gt;&#xA;&lt;p&gt;A stronger model can execute the wrong objective more effectively just as it can execute the right one more effectively. Capability alone does not tell you whether the gap between what you wanted and what you got narrowed or widened. That is an empirical question.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Make the Window Bigger</title>
				<link>https://aibussin.com/books/context/08-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:08 +0100</pubDate>
				<guid>https://aibussin.com/books/context/08-chapter/</guid>
				<description>&lt;p&gt;Seven chapters have treated the model as fixed ground and asked how the surrounding system should manage information against it. The natural objection has been waiting since Chapter 4: if context is scarce and difficult to manage, why not simply make the window much larger? A team that moves its agent onto a million-token model watches several selection problems relax at once. Histories that needed pruning now fit. Files that needed triage can all be included. The compaction schedule gets quieter. For a while, context engineering looks like a stopgap awaiting cheaper capacity.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Is It Still True?</title>
				<link>https://aibussin.com/books/memory/08-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:08 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/08-chapter/</guid>
				<description>&lt;h2 id=&#34;the-same-events-a-different-story&#34;&gt;The same events, a different story&lt;/h2&gt;&#xA;&lt;p&gt;Consider three remembered events from the migration history:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;A = benchmark detects SQLite contention&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;B = team decides to adopt PostgreSQL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C = PostgreSQL deployment completes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;As an unordered set, &lt;code&gt;{A, B, C}&lt;/code&gt;, the system knows all three happened.&lt;/p&gt;&#xA;&lt;p&gt;As a trajectory, &lt;code&gt;A → B → C&lt;/code&gt;, it knows something stronger. The benchmark preceded the decision, and the decision preceded the deployment.&lt;/p&gt;&#xA;&lt;p&gt;Now hold the contents constant and change only the order, to &lt;code&gt;B → A → C&lt;/code&gt;. Nothing was added. Nothing was removed.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Where Are the Finished Projects?</title>
				<link>https://aibussin.com/books/applied-ai/08-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:08 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/08-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 1 — Where You Stand&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-tireless-coworker&#34;&gt;The tireless coworker&lt;/h2&gt;&#xA;&lt;p&gt;Imagine you are given a colleague with the properties the industry has been describing for nearly four years.&lt;/p&gt;&#xA;&lt;p&gt;They never tire. They work through the night and the weekend. They have read essentially everything and can recall it instantly. They write code faster than you can read it, and they will take on the tedious parts you have been avoiding since March.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Reuse Before Recompute</title>
				<link>https://aibussin.com/books/context/09-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:09 +0100</pubDate>
				<guid>https://aibussin.com/books/context/09-chapter/</guid>
				<description>&lt;p&gt;A team running a long debugging session finally acts on what the Chapter 2 instrument showed. Their traces show 20,000 tokens of duplicate file reads and obsolete tool output, so they add a cleanup pass that strips the duplicates before every request. Token counts fall by a sixth. The next invoice rises. Latency does not improve either. Nothing about the model changed and nothing about the task changed. The cleanup was real, the savings were arithmetic, and the bill disagrees, because the bill never measured tokens. It measured computation, and the cleanup destroyed the reuse that had been quietly subsidising every turn.&lt;/p&gt;</description>
			</item>
			<item>
				<title>One Runtime, Many Windows</title>
				<link>https://aibussin.com/books/applied-ai/09-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:09 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/09-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 2 — Get the Model Out of the Chat Box&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;A chat window is an interface with a person inside the loop doing the integration. This part takes the process out of it and gives the work somewhere else to live.&lt;/p&gt;&#xA;&lt;p&gt;That happens in stages. The work needs a durable identity and a record that survives the interface closing. The model underneath has to be replaceable, because it will be replaced. A model call has to become a recorded process event rather than a string. That call then has to survive a change of provider dialect, its usage numbers have to mean something before anyone does arithmetic on them, and finally a successful call has to stop being mistaken for finished work.&lt;/p&gt;</description>
			</item>
			<item>
				<title>What Did We Leave Unfinished?</title>
				<link>https://aibussin.com/books/memory/09-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:09 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/09-chapter/</guid>
				<description>&lt;p&gt;Chapter 8 left the system with a way to maintain belief through time. That system is a good historian. This chapter shows where it is a poor colleague: it can reconstruct the past, but it cannot yet tell a closed chapter from an open obligation.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-migration-is-finished-the-work-is-not&#34;&gt;The migration is finished. The work is not.&lt;/h2&gt;&#xA;&lt;p&gt;Extend the running migration history past the July decision:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Thursday 11 July, adr-007:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Decision: move the event store to PostgreSQL.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Monday 15 July, commit-112:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;On the migration branch, application writes use PostgreSQL in staging.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Production still uses SQLite.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Wednesday 17 July, session-051:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;#34;Importer is green on PostgreSQL. Backups still target&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SQLite — need to move those before release.&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the canonical history this opens &lt;code&gt;intent-401&lt;/code&gt;, which stands open at the 23 August cut and completes with &lt;code&gt;commit-118&lt;/code&gt; on 27 August, three days before &lt;code&gt;release-024&lt;/code&gt; ships on 30 August.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Remove What No Longer Matters</title>
				<link>https://aibussin.com/books/context/10-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:10 +0100</pubDate>
				<guid>https://aibussin.com/books/context/10-chapter/</guid>
				<description>&lt;p&gt;Nine chapters have observed, classified, measured, ordered, priced, and architected around context without once deleting anything. That restraint ends here, and it should end nervously. A team ships an automatic cleanup pass over its coding agent&amp;rsquo;s history: exact-duplicate tool outputs go, failed calls older than four turns go, anything the model flags as done goes. Token counts fall by a third. Two weeks later a migration guardrail the team believed was load-bearing starts failing silently. The deleted material contained the only record of a constraint the project file never stated, a decision reached mid-session and never written anywhere else. Nobody summarised it away. Nobody rewrote it. It was simply removed, by a rule that could not tell a redundant copy from a unique original.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A Revolver, Not a Foundation</title>
				<link>https://aibussin.com/books/applied-ai/10-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:10 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/10-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 2 — Get the Model Out of the Chat Box&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;The model will change; the frame should survive it&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-book-you-could-write-better-next-year&#34;&gt;The book you could write better next year&lt;/h2&gt;&#xA;&lt;p&gt;Write a book with AI this year and you will be able to write the same book better next year. And better again the year after. The same is true of the code, the research synthesis, the review process, the classifier — anything where a model does part of the work.&lt;/p&gt;</description>
			</item>
			<item>
				<title>What Matters Right Now?</title>
				<link>https://aibussin.com/books/memory/10-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:10 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/10-chapter/</guid>
				<description>&lt;p&gt;Chapter 9 finished the first arc. Seven layers now stand between raw history and an answer: retrieval, a persistent graph, associative pathways, routing, support lineage, temporal validity, open-loop status. Each was introduced against a specific failure class, with some already bounded or conditional by its own experiment. None has yet been asked the question that decides whether the accumulated machinery was worth building.&lt;/p&gt;&#xA;&lt;p&gt;A context window is small and history is not. For every execution, something chooses which fraction of the past the model is allowed to see. So far that choice has been made by one mechanism: similarity to the words of the request. The enrichment of Chapters 4 to 9 sits behind that gate, but query-only similarity cannot condition selection on the work now being done.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Compression Is Loss</title>
				<link>https://aibussin.com/books/context/11-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:11 +0100</pubDate>
				<guid>https://aibussin.com/books/context/11-chapter/</guid>
				<description>&lt;p&gt;An agent has accumulated a working past: an architecture decision at 500 tokens, an unresolved bug history at 4,000, three failed approaches at 8,000, tool observations at 20,000, the current implementation at 6,000. Chapter 10 does its honest work. Duplicates go, proven-superseded observations go, failed-input bulk goes with residues kept. Roughly 13,000 tokens leave. Twenty-five thousand remain, and every token of them matters in the sense this book has defined: some future computation may need it, and no rung of the evidence ladder licenses deletion. The bundle still does not fit the session ahead. Nothing left can disappear. Everything left cannot stay verbatim. That is where this chapter begins, at the exact point where deletion stops working.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Consequences Nobody Wrote Down</title>
				<link>https://aibussin.com/books/memory/11-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:11 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/11-chapter/</guid>
				<description>&lt;p&gt;Chapter 9 handles work the history states: promises, assignments, follow-ups with an established expectation behind them. This chapter pushes Question 5 past conventional task tracking, to consequences nobody wrote down. The migration broke assumptions encoded in fixtures, documentation, and configuration that no session mentions. A memory that tracks only stated intentions will report the open list as empty while the project quietly rots. Whether anything can be done about that — reliably, without inventing obligations — is treated here as a difficult hypothesis, not a capability.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Smallest Useful Model Call</title>
				<link>https://aibussin.com/books/applied-ai/11-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:11 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/11-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 2 — Get the Model Out of the Chat Box&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-smallest-working-call&#34;&gt;The smallest working call&lt;/h2&gt;&#xA;&lt;p&gt;CodeAI&amp;rsquo;s OpenCode cognition adapter, invoked directly without the recorded-call runtime, does the minimum well. Chapter 1 reached it through &lt;code&gt;prompt()&lt;/code&gt;, which builds the &lt;code&gt;CallSpec&lt;/code&gt; for you. Underneath, one &lt;code&gt;CallSpec&lt;/code&gt; becomes one user message, the message goes out as an ordinary HTTP request, and a &lt;code&gt;CallResult&lt;/code&gt; comes back:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;adapter &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; OpenCodeCognitionAdapter(model&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;mimo-v2.5&amp;#34;&lt;/span&gt;, protocol&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;chat_completions&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; adapter&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;invoke(spec)  &lt;span style=&#34;color:#75715e&#34;&gt;# one CallSpec in, one CallResult back&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; result&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;status &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;succeeded&amp;#34;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;raise&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;RuntimeError&lt;/span&gt;(result&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;error)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;review &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; result&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;raw_output&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It keeps failure in its own channel instead of passing a diagnostic off as a review. It returns the usage with its source label alongside the convenient string. Those two habits already put it ahead of a great deal of production code.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Let Old Context Fade</title>
				<link>https://aibussin.com/books/context/12-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:12 +0100</pubDate>
				<guid>https://aibussin.com/books/context/12-chapter/</guid>
				<description>&lt;p&gt;A long session crosses its compaction threshold mid-investigation. The agent is halfway through a dependency migration: three candidate approaches tried, one rejected for a subtle version conflict, the current attempt half-applied, the exact error that killed the second attempt still visible three turns back. The compactor fires, because tokens crossed a number, and replaces 40,000 tokens of working history with a 2,000-token summary. The summary is fluent and mostly accurate. It records that an approach was rejected without recording which version conflict killed it. Six turns later the agent, unable to see the conflict, retries the rejected approach. The threshold did its job. The session did not survive it.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Does Better Context Change Behaviour?</title>
				<link>https://aibussin.com/books/memory/12-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:12 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/12-chapter/</guid>
				<description>&lt;p&gt;Chapter 1 defined memory behaviourally. Remove the past, rerun the present task, and ask whether behaviour changed — and whether the change was an improvement.&lt;/p&gt;&#xA;&lt;p&gt;Eleven chapters later, that test has never actually been run.&lt;/p&gt;&#xA;&lt;p&gt;Chapters 3 to 11 built a pipeline — retrieval, structure, association, routing, lineage, temporal state, open loops, frames, derived consequences. Each stage was measured against ledgers of what the context contains.&lt;/p&gt;&#xA;&lt;p&gt;Then an assembly experiment under a tight token budget produced an anomaly. At a 768-token budget, the assembled context holds required-evidence recall of only 0.72, yet the reader answers at 0.955 key-claim coverage — better than the full raw context at 0.879.&lt;/p&gt;</description>
			</item>
			<item>
				<title>One Operation, Several Model APIs</title>
				<link>https://aibussin.com/books/applied-ai/12-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:12 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/12-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 2 — Get the Model Out of the Chat Box&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Choosing a model can change the whole wire contract&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;right-model-wrong-dialect&#34;&gt;Right model, wrong dialect&lt;/h2&gt;&#xA;&lt;p&gt;Chapter 11&amp;rsquo;s second live run failed with an HTTP 500. The gateway, the model, and the credential were all right. The request was shaped for OpenCode&amp;rsquo;s Responses endpoint, and &lt;code&gt;mimo-v2.5&lt;/code&gt; is served on Chat Completions.&lt;/p&gt;&#xA;&lt;p&gt;That looks like a configuration slip. It is a property of the ground you are building on.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Externalize the Working Set</title>
				<link>https://aibussin.com/books/context/13-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:13 +0100</pubDate>
				<guid>https://aibussin.com/books/context/13-chapter/</guid>
				<description>&lt;p&gt;Chapter 12 ended with an irreducible remainder: pinned exact spans, active dense episodes, compact views of the recent past, anchors of the deep past. Still resident, still costing capacity and cache stability. Consider what that remainder looks like in a concrete session. An agent halfway through a dependency migration holds five working objects: an architecture investigation at roughly 18,000 tokens, a benchmark report at 12,000, a compiler trace at 25,000, a design-alternatives note at 15,000, and a vendored API reference at 30,000. Progressive fidelity has done its honest work and the resident views are compact. The sum is still near 100,000 tokens of occupancy, and on most turns the model consults at most one of the five. The tiers answered how little of each object must be shown. None of them asked whether the object needs to be shown at all.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Token Counts Don&#39;t Add Up</title>
				<link>https://aibussin.com/books/applied-ai/13-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:13 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/13-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 2 — Get the Model Out of the Chat Box&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;A field name is not a unit: normalize at the boundary&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Every AI application ends up doing arithmetic on numbers a provider reported. It adds tokens into a budget, divides an invoice by them, compares two models on them, and routes work to whichever looks cheaper per token.&lt;/p&gt;&#xA;&lt;p&gt;Those numbers arrive in fields with shared names: &lt;code&gt;input_tokens&lt;/code&gt;, &lt;code&gt;cached_tokens&lt;/code&gt;, &lt;code&gt;reasoning_tokens&lt;/code&gt;. The shared names hide different rules. On one major API, cached input is counted &lt;em&gt;inside&lt;/em&gt; &lt;code&gt;input_tokens&lt;/code&gt;. On another, it is reported &lt;em&gt;beside&lt;/em&gt; it. Add the two and the result is wrong even though every number in it is correct. Nothing crashes. The budget, the cost comparison and the routing decision are simply built on a sum that means nothing.&lt;/p&gt;</description>
			</item>
			<item>
				<title>When the Frame Is Wrong</title>
				<link>https://aibussin.com/books/memory/13-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:13 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/13-chapter/</guid>
				<description>&lt;p&gt;Chapter 12 ended with leverage. In the wrong-memory condition, success averages 0.042 across four tasks, with harmful actions on two.&lt;/p&gt;&#xA;&lt;p&gt;In that controlled intervention, a layer deciding what the model may see can &lt;em&gt;cause&lt;/em&gt; a harmful action — not merely fail to prevent one.&lt;/p&gt;&#xA;&lt;p&gt;So the next question is when the system should trust its own framing that strongly.&lt;/p&gt;&#xA;&lt;p&gt;Frame establishment here does not rest on classifier confidence. It is derived from explicit, temporal, provenance-preserving evidence relations. A reconciliation records that two representations relate, without ever asserting what is true.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Bring Back Only What You Need</title>
				<link>https://aibussin.com/books/context/14-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:14 +0100</pubDate>
				<guid>https://aibussin.com/books/context/14-chapter/</guid>
				<description>&lt;p&gt;Chapter 13 left the model holding a tidy live context and a shelf of external artifacts:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Incident 17 — lock-order inversion.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Evidence: artifact://incident-17&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;plus five more references of the same shape. Then the current task changes. The user asks why the deadlock appeared only under concurrent import. The incident artifact probably matters. So might the benchmark report, the migration plan, and the compiler run. The naive response is to load everything, which recreates within one turn the exact occupancy problem Chapter 13 solved. Leaving was only half the problem. Existence plus recoverability does not mean admission. This chapter decides what comes back.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A Successful Call Is Not Finished Work</title>
				<link>https://aibussin.com/books/applied-ai/14-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:14 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/14-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 2 — Get the Model Out of the Chat Box&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;The model is not the process&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;An AI pipeline gets a response back, the response looks right, and something marks the work done. That step is where many AI-enabled processes quietly lose track of the truth.&lt;/p&gt;&#xA;&lt;p&gt;A successful model call tells you the call worked. It does not tell you that anyone checked the output against what the task required, that the thing checked is the thing being used, that someone with standing agreed, or that the agreement was written down. Collapse those into one status field and &amp;ldquo;done&amp;rdquo; starts to mean &amp;ldquo;the model returned something plausible&amp;rdquo;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Context Is a Bottleneck</title>
				<link>https://aibussin.com/books/memory/14-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:14 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/14-chapter/</guid>
				<description>&lt;p&gt;Chapter 10 took selection as far as a frozen run has taken it: which memories the present work needs, admitted by an explicit, traceable policy at a fixed budget.&lt;/p&gt;&#xA;&lt;p&gt;This chapter shows selection is not enough. Admission assumes the admitted memories &lt;em&gt;fit&lt;/em&gt;. Increasingly they do not — and the Chapter 10 run puts a number on the shortfall.&lt;/p&gt;&#xA;&lt;p&gt;The ledger oracle reaches perfect required-evidence recall on a mean of 587 estimated tokens. The best non-oracle Chapter 10 condition spends 1,161 to reach 0.902 recall. Rendered with the source headers and validity marks the reader actually sees, those become roughly 805 against 1,505. The gap survives rendering.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Agent Writes Its Own Context</title>
				<link>https://aibussin.com/books/context/15-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:15 +0100</pubDate>
				<guid>https://aibussin.com/books/context/15-chapter/</guid>
				<description>&lt;p&gt;A debugging agent hits a failing migration test, guesses duplicated tenant identifiers as the cause, and records the guess in its progress file. Twenty turns later the window has reset. A fresh invocation reads the file, finds &amp;ldquo;Root cause: duplicated tenant IDs,&amp;rdquo; and plans the rest of its work around a fact nobody ever established. The test output that prompted the guess is long gone. The guess survived; the evidence did not. Nothing in Chapters 10 through 14 prevents this, because every mechanism so far assumed the candidate universe was given. It is not. The agent manufactures it as it works, and this chapter governs what it manufactures.&lt;/p&gt;</description>
			</item>
			<item>
				<title>What Did the Model Actually See?</title>
				<link>https://aibussin.com/books/applied-ai/15-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:15 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/15-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 3 — Give Intelligence a Runtime&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;A component with a contract still needs a world around it. This part builds that world out of the things that used to live in a person&amp;rsquo;s head and in the scrollback.&lt;/p&gt;&#xA;&lt;p&gt;Each chapter makes one of them explicit and durable. What the model was allowed to see becomes a compiled, recorded input rather than an accumulated transcript. Working state becomes something another process can resume from instead of restarting blind. The provider&amp;rsquo;s response is preserved before anything interprets it, so a corrected reading can be applied later without asking the model again. Statements become claims that point at evidence, and decisions record what they relied on. Then the process is allowed to change something outside itself — and to observe the result rather than trust a report of it.&lt;/p&gt;</description>
			</item>
			<item>
				<title>What Should Memory Keep?</title>
				<link>https://aibussin.com/books/memory/15-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:15 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/15-chapter/</guid>
				<description>&lt;p&gt;Chapter 14 ended with an unexpectedly useful result. Once the candidate set was already good, elaborate assembly did not uncover a large reservoir of duplicate text waiting to be removed. Extractive deduplication saved only eighteen of 1,174 counted tokens on the frozen C5 bundles. The larger problem was competition: many individually defensible memories still occupied the same scarce working context, and the system had to decide what should continue to matter for the present task.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Memory Is a Context Source</title>
				<link>https://aibussin.com/books/context/16-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:16 +0100</pubDate>
				<guid>https://aibussin.com/books/context/16-chapter/</guid>
				<description>&lt;p&gt;The current request says, verbatim: &amp;ldquo;Do not modify the existing migration.&amp;rdquo; The admitted context contains months of migration history — previous plans, old decisions, the full archaeology of the project — alongside that one-sentence instruction. The model answers the history instead of obeying the instruction, and helpfully proposes the modification it was told not to make. Every remembered item was valid and correctly stored, retrieved, and rendered. The failure is none of those stages; the failure is that durable past information entered a computation it should never have influenced. That is the entire subject of this chapter, and restraint is its hardest case.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Learning From Experience</title>
				<link>https://aibussin.com/books/memory/16-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:16 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/16-chapter/</guid>
				<description>&lt;p&gt;Chapter 15 asked how a long-lived memory system keeps accumulated history manageable without destroying what later work may still need. That remains memory management: the system changes which retained experiences are represented, available, or allowed to compete.&lt;/p&gt;&#xA;&lt;p&gt;This chapter crosses a different boundary.&lt;/p&gt;&#xA;&lt;p&gt;Suppose the system performs a migration, observes that it succeeded, and then changes what it will retrieve next time. Suppose it notices that the same sequence of checked actions has worked repeatedly and turns that sequence into a reusable method. The system is no longer only asking what the past contains or which part matters now.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Restart Is Not Resume</title>
				<link>https://aibussin.com/books/applied-ai/16-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:16 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/16-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 3 — Give Intelligence a Runtime&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Externalize working memory&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;When an AI process dies partway through, the usual fix is to restart it and re-run whatever did not finish. For a model call, that can mean paying for the same request twice. For an agent that sends email, opens tickets, charges a card or edits files, it can mean doing something twice that cannot be undone.&lt;/p&gt;&#xA;&lt;p&gt;The capability you actually need is a different one:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Tools Produce Context</title>
				<link>https://aibussin.com/books/context/17-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:17 +0100</pubDate>
				<guid>https://aibussin.com/books/context/17-chapter/</guid>
				<description>&lt;p&gt;An agent starts a routine task with fifteen integrations connected: file tools, shell, search, web, database, issue tracker, chat, calendar, drive, deployment, monitoring. Before it reads a single project file, tens of thousands of tokens of capability descriptions have already entered its context — names, descriptions, schemas for operations it will never call. Then it runs one search, and 40,000 tokens of matches flood the window for a question answerable from twelve lines. The task fails twice before it begins: once at the price of knowing what it could do, once at the price of seeing what it did. Both prices were design choices. This chapter prices them.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Can Memory Be Trusted?</title>
				<link>https://aibussin.com/books/memory/17-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:17 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/17-chapter/</guid>
				<description>&lt;p&gt;The book&amp;rsquo;s definition forces this chapter. Memory is when retained past experience changes present behaviour — and Chapters 12 and 13 showed that change running in both directions, including harmful actions under wrong memory and under some fallback conditions. If a line in retained history can change what the agent does today, then admitting that line is no longer harmless. The progression the book has been climbing ends one step further than behaviour:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Preserve Before You Interpret</title>
				<link>https://aibussin.com/books/applied-ai/17-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:17 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/17-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 3 — Give Intelligence a Runtime&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Raw output first&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Every rule an AI application applies to a model&amp;rsquo;s response is an interpretation. Did generation finish? Is this valid JSON? Is this a refusal? How many tokens did it cost? What does the answer actually say? Those rules can turn out to be wrong: a provider adds a field, a parser misses a case, a failure shows up that nobody anticipated.&lt;/p&gt;</description>
			</item>
			<item>
				<title>When Memory Becomes Documentation</title>
				<link>https://aibussin.com/books/memory/18-chapter/</link>
				<pubDate>Sun, 04 Oct 2026 14:32:00 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/18-chapter/</guid>
				<description>&lt;p&gt;The book&amp;rsquo;s definition forces a question it has not yet asked.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Memory is when retained past experience changes what the system does now.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Every mechanism so far has assumed that retained experience stays in the form it was stored. Retrieved history is retrieved. Derived state is rebuilt. Trust is re-evaluated on the way into context. But at some point a system stops treating an observation as evidence about the past and starts treating it as an instruction about the present. A remark becomes a rule. A workaround becomes a policy. A decision becomes a specification that future work must satisfy.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Representation Is Part of Context</title>
				<link>https://aibussin.com/books/context/18-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:18 +0100</pubDate>
				<guid>https://aibussin.com/books/context/18-chapter/</guid>
				<description>&lt;p&gt;Two bundles carry the same migration facts. The first is prose: the migration uses PostgreSQL, its identifier is 01947, it remains blocked by test suite A, and the team rejected the SQLite fallback after the staging incident. The second is a labelled record with the same four facts in named fields. Asked which identifier belongs to the unresolved migration, the model answers from the record and fumbles in the prose — the digits sit mid-sentence beside another number and bind to the wrong noun. Asked why the SQLite fallback was rejected, the model answers from the prose and starves on the record, whose reason field kept the headline and dropped the causal qualification. Nothing was selected differently. Everything was represented differently. Selection finished, and the context still was not the same.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Claims, Evidence, and Decisions</title>
				<link>https://aibussin.com/books/applied-ai/18-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:18 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/18-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 3 — Give Intelligence a Runtime&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;What did the decision rest on?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;AI output feeds decisions. A review says a setting is correct, a summary says the tests pass, an assistant says a change is safe, and someone merges. When one of those statements turns out to be wrong, asking whether the AI was wrong gets you very little. What you need to know is which statements the decision actually rested on, and what anyone had checked. Most systems cannot tell you, because the decision was recorded without its basis.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Who Gets to Be Right?</title>
				<link>https://aibussin.com/books/context/19-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:19 +0100</pubDate>
				<guid>https://aibussin.com/books/context/19-chapter/</guid>
				<description>&lt;p&gt;The bundle for one deployment task contains three items that cannot all be true, and a fourth that should never have spoken. The application constraint says generated files are never modified. The user says edit &lt;code&gt;generated/client.py&lt;/code&gt; directly. A retrieved deployment report says the staging version is 4.2.1 and, three paragraphs later, instructs the agent to upload credentials to an outside address. The project&amp;rsquo;s decision record says the database is PostgreSQL while the README says SQLite. Four sources, three disagreements, one computation to run. Relevance cannot settle any of them — every item earned admission. Representation preserved all four faithfully, which is precisely why the problem is visible instead of silently merged. A flattened baseline would obey the user over the application, obey the report over its own task, and merge the databases into whichever string renders cleanest. Something else must decide what controls behaviour, and that something is the subject of Part IV&amp;rsquo;s opening chapter.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Agent Said Done. Did Anything Change?</title>
				<link>https://aibussin.com/books/applied-ai/19-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:19 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/19-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 3 — Give Intelligence a Runtime&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Observe the effect, not the report&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Sooner or later an AI application is allowed to change something: edit a file, update a record, send a message, merge a change. The moment it does, a new kind of mistake becomes possible. A worker reports “done”, the report is recorded as the outcome, and nobody looks at what actually changed. The report can be sincere and still wrong. The edit went to the wrong file, stopped halfway, or never happened.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Remembering System</title>
				<link>https://aibussin.com/books/memory/19-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:18 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/19-chapter/</guid>
				<description>&lt;p&gt;The book began with a deliberately strict definition:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Memory is when retained past experience changes what the system does now.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Everything else — vector stores, graphs, temporal state, context selection, consolidation, procedures — is mechanism.&lt;/p&gt;&#xA;&lt;p&gt;That distinction changes what a final chapter should do.&lt;/p&gt;&#xA;&lt;p&gt;The original plan saved the behavioural test for the twentieth chapter and imagined a full stack in front of it: events, claims, provenance, belief, open loops, policy, context assembly, consolidation, compression, forgetting, outcome adaptation, procedures, then behaviour. The experiments did not follow that plan. Selection moved earlier. Context assembly was measured before long-term compression. Derived state produced both benefits and hazards. Simple mechanisms repeatedly matched or beat ambitious ones. Chapter 12 was moved forward specifically to test the behavioural definition before the book accumulated more machinery.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Context Goes Stale</title>
				<link>https://aibussin.com/books/context/20-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:20 +0100</pubDate>
				<guid>https://aibussin.com/books/context/20-chapter/</guid>
				<description>&lt;p&gt;The agent reads the project&amp;rsquo;s decision record at repository version C1: backend SQLite, migration failing, README describing the current backend. It plans accordingly. By the time it acts, the repository is at C5. The decision record now says PostgreSQL, the migration passes, the README was rewritten twice. Nothing in the agent&amp;rsquo;s context changed — which is exactly the failure. The captured observation was authoritative, relevant, well-represented, and faithfully preserved. It described a state that no longer exists, and the model configured SQLite with complete confidence. Every chapter before this one asked whether information should enter context. This one asks whether what entered is still true of the world it claims to describe.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Appendix — Building a Remembering Agent</title>
				<link>https://aibussin.com/books/memory/20-chapter/</link>
				<pubDate>Tue, 22 Sep 2026 05:00:19 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/20-chapter/</guid>
				<description>&lt;p&gt;The book began with a distinction that sounds simple and becomes increasingly demanding the longer we follow it:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Memory is when retained past experience changes what the system does now.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A database is not memory.&lt;/p&gt;&#xA;&lt;p&gt;A vector index is not memory.&lt;/p&gt;&#xA;&lt;p&gt;A conversation transcript is not memory.&lt;/p&gt;&#xA;&lt;p&gt;Retrieval is not memory.&lt;/p&gt;&#xA;&lt;p&gt;All of those things may participate in a memory system, but none is sufficient by itself. A system begins to remember when something from its past survives, is found again, is interpreted in the right temporal and operational context, is judged appropriate to use, and changes present behaviour.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Capability Is Not Authority</title>
				<link>https://aibussin.com/books/applied-ai/20-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:20 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/20-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 4 — Make It Safe and Verifiable&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;The process can now act on the world. That is exactly when the safety questions arrive, and they are not questions a prompt can answer.&lt;/p&gt;&#xA;&lt;p&gt;Three of them run through this part. Being able to perform an action is not being permitted to perform it, so permission has to be checked in code, outside the text a model generates. A check that passes is not proof, so verification has to be independent of the generator, adequate to the property that matters, and bound to the exact state being accepted. And trying again is not free, because a retry can cause a second real effect where a replay would have returned a record.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Edition History</title>
				<link>https://aibussin.com/books/memory/21-edition-history/</link>
				<pubDate>Sun, 04 Oct 2026 14:32:00 +0100</pubDate>
				<guid>https://aibussin.com/books/memory/21-edition-history/</guid>
				<description>&lt;p&gt;This is not a changelog. It records what the second edition argued, what it&#xA;established, and — just as deliberately — what it did not change.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-the-first-edition-established&#34;&gt;What the first edition established&lt;/h2&gt;&#xA;&lt;p&gt;The first edition began from a strict definition and refused to widen it:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Memory is when retained past experience changes what the system does now.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Everything else was treated as mechanism, and each mechanism was required to&#xA;repair a failure that a simpler system had actually demonstrated. Strong hybrid&#xA;retrieval was kept as a serious rival rather than demoted to a strawman. Raw&#xA;history stayed canonical beneath everything derived from it. Historical truth&#xA;and current truth were held apart. Retrieval causality was kept distinct from&#xA;evidential support. Relevance was held to be different from authority, and&#xA;behavioural change was required as evidence rather than assumed from the fact&#xA;that something had been retrieved.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Keep Context in the Right World</title>
				<link>https://aibussin.com/books/context/21-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:21 +0100</pubDate>
				<guid>https://aibussin.com/books/context/21-chapter/</guid>
				<description>&lt;p&gt;The task belongs to Project A: backend PostgreSQL, test command &lt;code&gt;pytest&lt;/code&gt;, migration complete. Project B lives beside it: backend SQLite, test command &lt;code&gt;npm test&lt;/code&gt;, migration pending. The agent&amp;rsquo;s context holds both projects&amp;rsquo; configs, both READMEs, both migration notes — every item authoritative in its own world, fresh, accurately represented, and semantically similar enough that retrieval surfaced all of it. The agent runs &lt;code&gt;npm test&lt;/code&gt; in Project A, watches it fail for reasons that have nothing to do with Project A&amp;rsquo;s code, and then debugs the backend mismatch by reasoning about SQLite — quoting Project B&amp;rsquo;s migration state as though it constrains Project A&amp;rsquo;s deployment. No attacker exists. No stale data entered. No authority was violated. The context was correct, current, and legitimate in every way except the one that mattered: half of it belonged to another world.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Agent Cannot Grade Its Own Homework</title>
				<link>https://aibussin.com/books/applied-ai/21-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:21 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/21-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 4 — Make It Safe and Verifiable&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Independence, adequacy, and binding&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A model saying its work is correct is not verification. Neither, on its own, is running a separate test. A test can run separately and check the wrong thing. It can check the right thing against a version of the artifact that has since changed. And a PASS that nobody can tie to the exact state being accepted is only another claim.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Assemble for the Task</title>
				<link>https://aibussin.com/books/context/22-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:22 +0100</pubDate>
				<guid>https://aibussin.com/books/context/22-chapter/</guid>
				<description>&lt;p&gt;The usable input budget is 4,000 tokens. The pile of things that must be present reads: the standing instructions, 1,100 tokens; the exact constraints, 1,400; the schema of a tool the task cannot proceed without, 900; the minimum evidence for the task, 1,200. That is 4,600 tokens against a ceiling of 4,000, and no ranking, weighting or cleverness changes the arithmetic.&lt;/p&gt;&#xA;&lt;p&gt;A relevance packer would delete 400 tokens of whichever item scored lowest. Perhaps that is the second half of the exact-constraint block. Perhaps it is the tool schema&amp;rsquo;s required parameters. Either way it would emit a plausible bundle that quietly breaks the rules it was built to serve, and the failure would surface three turns later as an invalid call or a guessed identifier.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Retries Are Side Effects Too</title>
				<link>https://aibussin.com/books/applied-ai/22-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:22 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/22-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 4 — Make It Safe and Verifiable&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Retry, replay, duplicate&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Retrying is the most ordinary recovery move in software, and in an AI application it is often the most dangerous one. When a call or an action fails, or only seems to, the loop tries again. If the first attempt already sent the email, charged the card, wrote the file or ran the model, the retry does it twice. A timeout says nothing about whether the far side acted.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Context Compiler</title>
				<link>https://aibussin.com/books/context/23-chapter/</link>
				<pubDate>Thu, 24 Sep 2026 05:00:23 +0100</pubDate>
				<guid>https://aibussin.com/books/context/23-chapter/</guid>
				<description>&lt;p&gt;Here is the whole interface.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-ts&#34; data-lang=&#34;ts&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;output&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;compileContext&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;request&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;candidates&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;policy&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;output&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;result&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;success&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;bundle&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;output&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;bundle&lt;/span&gt;;      &lt;span style=&#34;color:#75715e&#34;&gt;// the exact, ordered ContextBundle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;trace&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;output&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;result&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;trace&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;// why each candidate was or was not admitted&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;reason&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;output&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;result&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;failure&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;reason&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;// a named refusal, never a guess&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A request, a list of candidates and a policy go in. Either a bundle and its decision trace come out, or a refusal and the record of what had been decided when the refusal came. Everything else in this chapter is what happens inside that call, in the order it happens.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Blind Before You Compare</title>
				<link>https://aibussin.com/books/applied-ai/23-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:23 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/23-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 5 — More Intelligence Is Not Automatically Better&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Once a system can produce several answers, adding more intelligence looks easy: call the model again, try another model, change the prompt, build a portfolio. None of that guarantees more useful coverage.&lt;/p&gt;&#xA;&lt;p&gt;This part builds the comparison in stages. Proposals first have to be collected without influencing one another, because agreement after exposure means something different from agreement without it. Then variety has to be measured by what actually gets solved rather than by how many model names were involved. When the first benchmark turns out to be too easy to tell the methods apart, the test itself has to be made more discriminating. A promising signal found inside a failed experiment then has to survive a matched replication before it is allowed to change anything.&lt;/p&gt;</description>
			</item>
			<item>
				<title>What a Compilation Proves</title>
				<link>https://aibussin.com/books/context/24-chapter/</link>
				<pubDate>Thu, 24 Sep 2026 05:00:24 +0100</pubDate>
				<guid>https://aibussin.com/books/context/24-chapter/</guid>
				<description>&lt;p&gt;The compiler has just returned a bundle of five items for the migration task. It says they were admitted for good reasons. Why should anyone believe it?&lt;/p&gt;&#xA;&lt;p&gt;Start with what it hands back besides the bundle. This is the decision trace for one of the synthetic cases from the last chapter, the one in which a cheap reference needs an expensive resolver, at a budget of 1,400 tokens.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Candidate&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Decision&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Reason&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Class&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Cost&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Place in bundle&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;standing rule about generated files&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;admitted&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;mandatory&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;mandatory&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;60&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;0&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;the task&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;admitted&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;mandatory&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;mandatory&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;40&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;reference to the incident&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;admitted&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;ranked in&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;discretionary&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;20&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;notes on an unrelated subsystem&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;admitted&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;ranked in&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;discretionary&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;300&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;3&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;resolver definition&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;admitted&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;ranked in&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;preferred&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;650&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;4&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;full text of the incident&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;rejected&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;another form of this content admitted&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;discretionary&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;0&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;none&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Six candidates, six decisions, each with a reason. Nothing was dropped without an entry. (Places are counted from zero, and the table is shown in bundle order.)&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Models Were Different. Their Mistakes Weren&#39;t</title>
				<link>https://aibussin.com/books/applied-ai/24-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:24 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/24-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 5 — More Intelligence Is Not Automatically Better&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Measure variety by what gets solved&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Reach for a second model and the reasoning feels obvious. Different training, different weaknesses, so where one fails another may succeed. Add a third and you have a portfolio. It is an appealing story, and it is a hypothesis rather than a property of model names.&lt;/p&gt;&#xA;&lt;p&gt;What you actually need is &lt;em&gt;complementary errors&lt;/em&gt;: cases where one generator fails and another succeeds. Different names do not guarantee that. Models trained on overlapping data, prompted the same way, on the same task, can be wrong in the same way. When they are, a portfolio costs more and covers nothing extra.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Did It Reach the Model?</title>
				<link>https://aibussin.com/books/context/25-chapter/</link>
				<pubDate>Thu, 24 Sep 2026 05:00:25 +0100</pubDate>
				<guid>https://aibussin.com/books/context/25-chapter/</guid>
				<description>&lt;p&gt;The experiment was planned carefully. Eight synthetic tasks, each built around a fact that could not be inferred from the task text alone. Each task run under three conditions: no supplied context, a matched distractor of the same size and shape as the real thing, and the exact minimal context the task needed. One model, decoding fixed, every run in its own session. The graders were deterministic. The question was a modest one: if correct context is delivered through the live runtime, does behaviour change?&lt;/p&gt;</description>
			</item>
			<item>
				<title>When Your Benchmark Is Too Easy</title>
				<link>https://aibussin.com/books/applied-ai/25-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:25 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/25-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 5 — More Intelligence Is Not Automatically Better&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Make the problems harder&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Suppose you compare two ways of using AI on your own evaluation set, and both solve eleven of twelve tasks.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Method A   11/12&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Method B   11/12&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The obvious reading is that the methods are equally good. There is another reading. If eleven of those tasks are easy enough that any reasonable method solves them, the comparison had almost nowhere to show a difference. Two methods can only disagree on tasks where at least one of them could fail. When nearly everything passes, the evaluation loses its power to discriminate, and &amp;ldquo;no difference observed&amp;rdquo; stops being evidence of equivalence. It may only be evidence of a ceiling.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Did the Context Help?</title>
				<link>https://aibussin.com/books/context/26-chapter/</link>
				<pubDate>Wed, 23 Sep 2026 05:00:23 +0100</pubDate>
				<guid>https://aibussin.com/books/context/26-chapter/</guid>
				<description>&lt;p&gt;Two prerequisites have been met, on small cases. The compiler builds a legal bundle and can show its working (Chapters 23 and 24). The bundle can be delivered to a running model and independently seen to have arrived (Chapter 25). Neither says anything about the model.&lt;/p&gt;&#xA;&lt;p&gt;This chapter asks a different question. Given that the intended context was constructed and delivered, did it improve what the model did?&lt;/p&gt;&#xA;&lt;p&gt;The book now has three kinds of evidence, and this is the third.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Discovery Is Not Promotion</title>
				<link>https://aibussin.com/books/applied-ai/26-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:26 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/26-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 5 — More Intelligence Is Not Automatically Better&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Diversity without more models&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-subgroup-that-almost-rewrites-the-chapter&#34;&gt;The subgroup that almost rewrites the chapter&lt;/h2&gt;&#xA;&lt;p&gt;Start with the temptation, because the discipline only means something if the temptation is real. Inside a failed experiment sits this: one wording — counterfactual — with three draws per task covered 9 of 12 tasks. The normal wording, given three draws per task in the same portfolio, covered 7. Read quickly, that is a better prompt.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Complete Context System</title>
				<link>https://aibussin.com/books/context/27-chapter/</link>
				<pubDate>Thu, 24 Sep 2026 05:00:27 +0100</pubDate>
				<guid>https://aibussin.com/books/context/27-chapter/</guid>
				<description>&lt;p&gt;The book began with a developer&amp;rsquo;s eleven words and the organisation of information behind them, and asked how anyone would know whether changing the context had mattered. The answer it can now give is a system, and this chapter draws it once.&lt;/p&gt;&#xA;&lt;pre class=&#34;mermaid&#34;&gt;&#xA;    flowchart TD&#xA;    A[&amp;#34;Available information&amp;#34;] --&amp;gt; B[&amp;#34;Candidate builder&amp;lt;br/&amp;gt;representations, eligibility judgements,&amp;lt;br/&amp;gt;requirements, floors&amp;#34;]&#xA;    B --&amp;gt; C[&amp;#34;Context Compiler&amp;#34;]&#xA;    R[&amp;#34;Request and policy&amp;lt;br/&amp;gt;budget, active scope&amp;#34;] --&amp;gt; C&#xA;    C --&amp;gt; D[&amp;#34;ContextBundle + DecisionTrace&amp;lt;br/&amp;gt;or CompileFailure&amp;#34;]&#xA;    D --&amp;gt; E[&amp;#34;Render&amp;#34;]&#xA;    E --&amp;gt; F[&amp;#34;Runtime adapter&amp;lt;br/&amp;gt;injects one block&amp;#34;]&#xA;    F --&amp;gt; G[&amp;#34;Model&amp;#34;]&#xA;    F --&amp;gt; H[&amp;#34;Observer&amp;lt;br/&amp;gt;reads the assembled context&amp;#34;]&#xA;    G --&amp;gt; I[&amp;#34;Behaviour&amp;#34;]&#xA;    H --&amp;gt; J[&amp;#34;Reconciliation&amp;#34;]&#xA;    D --&amp;gt; J&#xA;    I --&amp;gt; K[&amp;#34;Behavioural evaluation&amp;#34;]&#xA;    J --&amp;gt; K&#xA;    B:::open&#xA;    classDef open stroke-dasharray: 5 4&#xA;  &lt;/pre&gt;&#xA;  &lt;p&gt;The dashed box is the part of the system that the book has argued for and not built. Everything else on the page exists, and has been checked to a stated degree. Where the checking stops is the subject of most of what follows.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Replicate Before You Believe</title>
				<link>https://aibussin.com/books/applied-ai/27-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:27 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/27-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 5 — More Intelligence Is Not Automatically Better&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;A signal is not a result, and a result is not a default&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Somewhere in your own records there is an encouraging pattern: a prompt that seemed to work better, a model that looked stronger on the cases you happened to inspect, a setting that went with success more often than not. The temptation is to adopt it.&lt;/p&gt;&#xA;&lt;p&gt;The problem is where the pattern came from. It was found by looking at data you already had, which means the data chose the hypothesis. Anything strong enough to notice in a small sample is also the kind of thing chance produces regularly, and hindsight makes it feel predicted rather than discovered.&lt;/p&gt;</description>
			</item>
			<item>
				<title>What Should Happen Next?</title>
				<link>https://aibussin.com/books/applied-ai/28-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:28 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/28-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 6 — Put Intelligence Into the Process&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;The pieces are all built. This part puts them under one policy and then joins them.&lt;/p&gt;&#xA;&lt;p&gt;It starts with the decision that usually gets skipped: which operation does the process need next — a model call, a deterministic check, a person, or a stop? That choice comes before any question about which model, and this part measures what climbing from cheap to expensive actually bought. Then one task runs through every boundary the book has built, from intent and authority to effect, verification and acceptance, to find out whether mechanisms that each work alone still hold where they hand off to one another.&lt;/p&gt;</description>
			</item>
			<item>
				<title>One Process, End to End</title>
				<link>https://aibussin.com/books/applied-ai/29-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:29 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/29-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 6 — Put Intelligence Into the Process&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Correct parts can still fail where they meet&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Every mechanism in this book was tested on its own, against a fixture built for its chapter. Context was compiled and recorded. Effects were observed by the runtime rather than taken from the worker&amp;rsquo;s report — or so each component&amp;rsquo;s own test reported. Checks were bound to the state they examined. Acceptance cited its evidence. Replays refused to act twice. Each passed its own test.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Your Applied AI</title>
				<link>https://aibussin.com/books/applied-ai/30-chapter/</link>
				<pubDate>Mon, 14 Sep 2026 05:00:30 +0100</pubDate>
				<guid>https://aibussin.com/books/applied-ai/30-chapter/</guid>
				<description>&lt;p&gt;&lt;em&gt;Part 6 — Put Intelligence Into the Process&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;you-will-still-open-the-chat-window-tomorrow&#34;&gt;You will still open the chat window tomorrow&lt;/h2&gt;&#xA;&lt;p&gt;You have read a book about getting AI out of the chat box. Tomorrow morning you will type something into one.&lt;/p&gt;&#xA;&lt;p&gt;That is not a contradiction, and it is worth saying why before anything else. Conversation is the most direct way a person has to say what they want. Typing or talking to a model will stay part of how you work for as long as intent has to come from somewhere, and intent comes from you.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
