<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>The Handover</title><description>Vetted guidance for AI agents — context files, prompts, processes and guides.</description><link>https://the-handover.org/</link><language>en-GB</language><item><title>Nothing was wrong, or nothing was examined</title><link>https://the-handover.org/docs/nothing-was-wrong-or-nothing-was-examined/</link><guid isPermaLink="true">https://the-handover.org/docs/nothing-was-wrong-or-nothing-was-examined/</guid><description>Three checks that passed because they had no subjects, and why the fix is to make each one declare how many things it looked at.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>testing</category><category>verification</category><category>assertions</category><category>false-negatives</category><category>ci</category><category>agents</category><author>Leon Mallett</author></item><item><title>You cannot find it by re-reading the thing that is wrong</title><link>https://the-handover.org/docs/you-cannot-find-it-by-re-reading/</link><guid isPermaLink="true">https://the-handover.org/docs/you-cannot-find-it-by-re-reading/</guid><description>Four cases where a description and the thing it described drifted apart, none of which was discoverable by reading the description again.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>documentation</category><category>drift</category><category>review</category><category>testing</category><category>process</category><category>agents</category><author>Leon Mallett</author></item><item><title>Four ratios, four different failures</title><link>https://the-handover.org/docs/four-ratios-four-different-failures/</link><guid isPermaLink="true">https://the-handover.org/docs/four-ratios-four-different-failures/</guid><description>Four ratios used to score code quality, and four different reasons each one measured something other than what it claimed.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>metrics</category><category>goodhart</category><category>code-quality</category><category>measurement</category><category>thresholds</category><category>tooling</category><author>Leon Mallett</author></item><item><title>We could not get ground truth, and it took three attempts to accept it</title><link>https://the-handover.org/docs/we-could-not-get-ground-truth/</link><guid isPermaLink="true">https://the-handover.org/docs/we-could-not-get-ground-truth/</guid><description>Three attempts to validate a scoring tool against human judgement, and why all three failing was evidence for the tool&apos;s premise rather than against it.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>validation</category><category>evaluation</category><category>ground-truth</category><category>tooling</category><category>methodology</category><category>testing</category><author>Leon Mallett</author></item><item><title>When the tool disagrees with you, neither of you gets to win</title><link>https://the-handover.org/docs/when-the-tool-disagrees-with-you/</link><guid isPermaLink="true">https://the-handover.org/docs/when-the-tool-disagrees-with-you/</guid><description>What to do when a tool built to outrank your judgement is wrong, given that overruling it destroys the only property it had.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>tooling</category><category>automation</category><category>authority</category><category>code-review</category><category>process</category><category>agents</category><author>Leon Mallett</author></item><item><title>Working with AI is a handover problem</title><link>https://the-handover.org/docs/working-with-ai-the-system/</link><guid isPermaLink="true">https://the-handover.org/docs/working-with-ai-the-system/</guid><description>Why every session starts cold, what follows from that, and the four layers that turn context into something an agent can be handed.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate><category>general</category><category>guides</category><category>method</category><category>context</category><category>handover</category><category>system-design</category><category>memory</category><category>agents</category><author>Leon Mallett</author></item><item><title>Writing about a thing is not doing it</title><link>https://the-handover.org/docs/writing-about-a-thing-is-not-doing-it/</link><guid isPermaLink="true">https://the-handover.org/docs/writing-about-a-thing-is-not-doing-it/</guid><description>Six ways a code scanner mistook writing about a practice for following it, and a seventh found inside the check built to prevent the other six.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>static-analysis</category><category>false-positives</category><category>detection</category><category>tooling</category><category>evidence</category><category>agents</category><author>Leon Mallett</author></item><item><title>Working agreement for an agent in this repository</title><link>https://the-handover.org/docs/working-agreement/</link><guid isPermaLink="true">https://the-handover.org/docs/working-agreement/</guid><description>What may be run without asking, what must stop first, and how to report what actually happened.</description><pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>rootnotes</category><category>workflow</category><category>git</category><category>commits</category><category>review</category><category>autonomy</category><category>reporting</category><author>Leon Mallett</author></item><item><title>Operating something that is live, and what an agent may do during an incident</title><link>https://the-handover.org/docs/operational-runbook/</link><guid isPermaLink="true">https://the-handover.org/docs/operational-runbook/</guid><description>Stop the bleeding before diagnosing, record while acting, and the autonomy rules that matter most when they are under pressure.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>rootnotes</category><category>operations</category><category>incidents</category><category>runbook</category><category>rollback</category><category>oncall</category><category>observability</category><author>Leon Mallett</author></item><item><title>Wiring Polar billing and webhooks without cutting off paying customers</title><link>https://the-handover.org/docs/polar-billing-webhooks/</link><guid isPermaLink="true">https://the-handover.org/docs/polar-billing-webhooks/</guid><description>An eligibility gate the sandbox does not enforce, a signature scheme that deviates from the spec it cites, and the webhook orderings that zero a live subscription.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>polar</category><category>billing</category><category>webhooks</category><category>hmac</category><category>subscriptions</category><category>merchant-of-record</category><author>Leon Mallett</author></item><item><title>Documentation standard for agent-maintained projects</title><link>https://the-handover.org/docs/documentation-standard/</link><guid isPermaLink="true">https://the-handover.org/docs/documentation-standard/</guid><description>A linked set of documents with defined sections and relationships, rather than one long file that narrates the code.</description><pubDate>Tue, 25 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>rootnotes</category><category>documentation</category><category>context-file</category><category>vault</category><category>decision-log</category><category>conventions</category><author>Leon Mallett</author></item><item><title>Accessibility for an agent building and testing interfaces</title><link>https://the-handover.org/docs/accessibility-commitment/</link><guid isPermaLink="true">https://the-handover.org/docs/accessibility-commitment/</guid><description>The conformance level, what gets verified and how, and the failures an agent introduces without noticing.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>design</category><category>rootnotes</category><category>accessibility</category><category>wcag</category><category>screen-readers</category><category>keyboard</category><category>testing</category><category>inclusive-design</category><author>Leon Mallett</author></item><item><title>Data handling and privacy for an agent working with real data</title><link>https://the-handover.org/docs/data-handling-and-privacy/</link><guid isPermaLink="true">https://the-handover.org/docs/data-handling-and-privacy/</guid><description>What counts as personal data, where it must never end up, and the changes that quietly widen what you hold.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>general</category><category>rootnotes</category><category>privacy</category><category>gdpr</category><category>personal-data</category><category>logging</category><category>retention</category><category>data-residency</category><author>Leon Mallett</author></item><item><title>Design system context for an agent building interfaces</title><link>https://the-handover.org/docs/design-system-context/</link><guid isPermaLink="true">https://the-handover.org/docs/design-system-context/</guid><description>Why an agent drifts a visual language one plausible value at a time, and the rules that stop it.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>design</category><category>rootnotes</category><category>design-system</category><category>tokens</category><category>accessibility</category><category>ui</category><category>states</category><category>context-file</category><author>Leon Mallett</author></item><item><title>Faking an external service you do not own</title><link>https://the-handover.org/docs/faking-external-services-for-tests/</link><guid isPermaLink="true">https://the-handover.org/docs/faking-external-services-for-tests/</guid><description>A stateful fake plus a control API, so a real app runs a full journey with no live calls — and the isolation you must build before the first run.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>testing</category><category>integration</category><category>http</category><category>e2e</category><category>fixtures</category><category>isolation</category><author>Leon Mallett</author></item><item><title>Multi-language support for an agent writing interface code</title><link>https://the-handover.org/docs/multi-language-support/</link><guid isPermaLink="true">https://the-handover.org/docs/multi-language-support/</guid><description>Why concatenating a sentence breaks translation, and the assumptions in code that only hold for one language.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>writing</category><category>rootnotes</category><category>i18n</category><category>l10n</category><category>localisation</category><category>translation</category><category>rtl</category><category>pluralisation</category><author>Leon Mallett</author></item><item><title>UI testing an agent can write and run itself</title><link>https://the-handover.org/docs/ui-testing-agents-can-run/</link><guid isPermaLink="true">https://the-handover.org/docs/ui-testing-agents-can-run/</guid><description>Drive interfaces by stable identity rather than pixels, in tiers, so tests are headless, deterministic and fan out.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>testing</category><category>ui</category><category>playwright</category><category>accessibility</category><category>e2e</category><category>agents</category><category>ci</category><author>Leon Mallett</author></item><item><title>Language and editorial guide for agent-written copy</title><link>https://the-handover.org/docs/language-editorial-guide/</link><guid isPermaLink="true">https://the-handover.org/docs/language-editorial-guide/</guid><description>Voice, mechanics and error-message rules, and why inconsistent terminology costs more than any single bad sentence.</description><pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate><category>writing</category><category>rootnotes</category><category>editorial</category><category>voice</category><category>tone</category><category>microcopy</category><category>error-messages</category><category>terminology</category><category>context-file</category><author>Leon Mallett</author></item><item><title>Business context for an agent working on commercial software</title><link>https://the-handover.org/docs/business-context/</link><guid isPermaLink="true">https://the-handover.org/docs/business-context/</guid><description>The commercial facts an agent cannot read from a repository, and the decisions that go wrong without them.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate><category>general</category><category>rootnotes</category><category>business-context</category><category>commercial</category><category>licensing</category><category>jurisdiction</category><category>context-file</category><category>governance</category><author>Leon Mallett</author></item><item><title>Running a local neural TTS model, and the artifact that changed the runtime</title><link>https://the-handover.org/docs/local-neural-tts-on-candle/</link><guid isPermaLink="true">https://the-handover.org/docs/local-neural-tts-on-candle/</guid><description>Why a model correct op-by-op can still sound wrong, and the CPU hot paths a naive port leaves on the table.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>tts</category><category>kokoro</category><category>candle</category><category>rust</category><category>onnx</category><category>local-ai</category><category>numerical-precision</category><author>Leon Mallett</author></item><item><title>Your pattern matches the shape you pictured</title><link>https://the-handover.org/docs/patterns-narrower-than-reality/</link><guid isPermaLink="true">https://the-handover.org/docs/patterns-narrower-than-reality/</guid><description>Two ways text scanning silently misses what it exists to find — soft line wraps, and identifiers in an unexpected form.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>regex</category><category>scanning</category><category>secrets-detection</category><category>text-processing</category><category>false-negatives</category><author>Leon Mallett</author></item><item><title>Test output against the tools people actually have</title><link>https://the-handover.org/docs/test-against-the-tools-people-have/</link><guid isPermaLink="true">https://the-handover.org/docs/test-against-the-tools-people-have/</guid><description>A file format verified only by the reader you wrote is verified against your own assumptions.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>file-formats</category><category>zip</category><category>interoperability</category><category>testing</category><category>unicode</category><author>Leon Mallett</author></item><item><title>Verification that cannot fail</title><link>https://the-handover.org/docs/verification-that-cannot-fail/</link><guid isPermaLink="true">https://the-handover.org/docs/verification-that-cannot-fail/</guid><description>Three ways a passing check reports success without ever being able to report anything else.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>verification</category><category>testing</category><category>ci</category><category>shell</category><category>exit-codes</category><category>agents</category><author>Leon Mallett</author></item><item><title>Testing a desktop app on a disposable Windows VM</title><link>https://the-handover.org/docs/windows-vm-testing-for-desktop-apps/</link><guid isPermaLink="true">https://the-handover.org/docs/windows-vm-testing-for-desktop-apps/</guid><description>Driving an interactive Windows session over SSH, and why testing as an admin proves nothing about permissions.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>windows</category><category>azure</category><category>vm</category><category>testing</category><category>desktop</category><category>installers</category><category>permissions</category><author>Leon Mallett</author></item><item><title>Getting a new domain past security filters</title><link>https://the-handover.org/docs/new-domain-reputation/</link><guid isPermaLink="true">https://the-handover.org/docs/new-domain-reputation/</guid><description>Two independent causes of a false-positive block, only one of which you can do anything about.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>dns</category><category>domains</category><category>reputation</category><category>filtering</category><category>launch</category><category>cloudflare</category><author>Leon Mallett</author></item><item><title>Affiliate links on a content site</title><link>https://the-handover.org/docs/affiliate-links-on-a-content-site/</link><guid isPermaLink="true">https://the-handover.org/docs/affiliate-links-on-a-content-site/</guid><description>What you link to decides your tooling, and the consent rules decide whether a cookieless story survives.</description><pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate><category>general</category><category>guides</category><category>affiliate</category><category>monetisation</category><category>disclosure</category><category>consent</category><category>gdpr</category><category>editorial-trust</category><author>Leon Mallett</author></item><item><title>Ship edge deployments on a custom domain, never the platform subdomain</title><link>https://the-handover.org/docs/custom-domains-for-edge-deployments/</link><guid isPermaLink="true">https://the-handover.org/docs/custom-domains-for-edge-deployments/</guid><description>Free platform subdomains are blocked as a category by security filters, so a subset of real users silently fails.</description><pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>cloudflare</category><category>workers</category><category>pages</category><category>dns</category><category>custom-domain</category><category>reputation</category><author>Leon Mallett</author></item><item><title>Signed self-updates for a desktop app, hosted on object storage</title><link>https://the-handover.org/docs/desktop-app-signed-self-updates/</link><guid isPermaLink="true">https://the-handover.org/docs/desktop-app-signed-self-updates/</guid><description>Wiring an updater keypair, a version manifest and a public bucket, and the flags that make uploads silently do nothing.</description><pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>tauri</category><category>updater</category><category>minisign</category><category>r2</category><category>object-storage</category><category>releases</category><category>desktop</category><author>Leon Mallett</author></item><item><title>Drafting email an agent does not send</title><link>https://the-handover.org/docs/drafting-email-an-agent-does-not-send/</link><guid isPermaLink="true">https://the-handover.org/docs/drafting-email-an-agent-does-not-send/</guid><description>The draft-and-hand-over boundary for outbound email, and the ways email rendering differs from the web.</description><pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate><category>general</category><category>guides</category><category>email</category><category>newsletter</category><category>outbound</category><category>human-review</category><category>boundaries</category><author>Leon Mallett</author></item><item><title>Signing and notarising a macOS app for direct distribution</title><link>https://the-handover.org/docs/macos-signing-and-notarisation/</link><guid isPermaLink="true">https://the-handover.org/docs/macos-signing-and-notarisation/</guid><description>The certificate types, the notarisation flow, and the build setting that silently ships an unnotarised DMG.</description><pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>macos</category><category>codesign</category><category>notarisation</category><category>gatekeeper</category><category>tauri</category><category>distribution</category><author>Leon Mallett</author></item><item><title>Contributing</title><link>https://the-handover.org/docs/contributing/</link><guid isPermaLink="true">https://the-handover.org/docs/contributing/</guid><description>How to submit a document, what happens to it during review, and what rights you keep.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>general</category><category>guides</category><category>contributing</category><category>review</category><category>licensing</category><category>attribution</category><author>The Handover</author></item><item><title>Killing processes safely on a shared machine</title><link>https://the-handover.org/docs/killing-processes-shared-machine/</link><guid isPermaLink="true">https://the-handover.org/docs/killing-processes-shared-machine/</guid><description>Why process-selection commands over-select silently, and the inspect-then-kill pattern that catches it.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>shell</category><category>processes</category><category>lsof</category><category>pkill</category><category>agents</category><category>shared-machine</category><author>Leon Mallett</author></item><item><title>Handling live secrets in AI coding sessions</title><link>https://the-handover.org/docs/live-secrets-in-ai-sessions/</link><guid isPermaLink="true">https://the-handover.org/docs/live-secrets-in-ai-sessions/</guid><description>Getting a credential from its store into its destination without it ever appearing as text the assistant emits.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>secrets</category><category>credentials</category><category>keychain</category><category>transcripts</category><category>agents</category><author>Leon Mallett</author></item><item><title>Supply-chain security baseline for AI-assisted development</title><link>https://the-handover.org/docs/supply-chain-baseline-ai-development/</link><guid isPermaLink="true">https://the-handover.org/docs/supply-chain-baseline-ai-development/</guid><description>What an agent should check before installing a dependency, and which files it must never modify without a shown diff.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>coding</category><category>guides</category><category>supply-chain</category><category>dependencies</category><category>npm</category><category>lockfiles</category><category>install-scripts</category><category>ci</category><author>Leon Mallett</author></item><item><title>The canon</title><link>https://the-handover.org/docs/canon/</link><guid isPermaLink="true">https://the-handover.org/docs/canon/</guid><description>Seven invariants every document in this library must satisfy, and what happens to one that does not.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate><category>general</category><category>guides</category><category>canon</category><category>safety</category><category>standards</category><category>vetting</category><author>The Handover</author></item></channel></rss>