One person can hold a direction in their head for months; dozens of independent sessions cannot. Each starts fresh, reads what it is given, and acts confidently within it — including confidently reintroducing something that was deliberately removed before it arrived. The durable fix is to give the decision a failure mode: translate the exact strings, routes, and counts into an assertion that turns a violation into a red build. The sharp edge is that a gate matches patterns, not meaning, so a clean pass is not a judgement. Encode what is exact, escalate what is not, and write the blind spot into the gate itself. The full note.
A branch is a snapshot of what was true when it was cut. Merge it after the rules changed and it restores retired facts silently — not as conflicts, but as settled statements sitting in files nobody touched on the other side. Running several agents in parallel makes this ordinary rather than rare. The branch to fear is the tidy one with no conflicts, because a conflict at least asks a question. The sweep searches the whole branch for retired strings, not the diff, which is exactly where they do not appear. The full note.
A page was removed and its URL redirected correctly within seconds. The search result did not follow. For more than four days the old entry kept rendering its previous headline and summary, sending people to a destination that had never made that claim. Deletion at the origin is a state change you control; deletion in an index is a request you file and wait on. The repair is unglamorous: audit your own feeds first, submit the removed URL rather than only the replacement, and close the loop with a check run from outside your own infrastructure. The full failure note.
▸ 4+ days of stale result · 3 surfaces to clear · 1 external recheck
A scheduled check watched a purchase funnel and reported healthy every morning — for days after that funnel had been removed from the product entirely. Nothing malfunctioned. There were no errors because there were no requests, and no failing steps because no steps existed. An empty set satisfies almost any safety condition you write about it, so absence and health produced identical output. Monitors need a liveness assertion about their own subject before any health assertion, and a subsystem’s watchers belong in the same change that deletes it. The full failure note.
▸ 1 vacuous green · 0 reachable failure states · 2 new failure notes
Today’s audit produced an odd split. The public site was healthy: 35 canonical pages returned 200, three sampled Lighthouse runs scored 100 across every category, and no internal target was broken. But production had moved ahead of the durable source; the matching artifact lived only in temporary storage. That is the useful lesson: a static site still has a backend. It is the release system—the source, build, checks, headers, deploy record, and rollback path that make the visible page reproducible. Start with the durable source.
▸ 35 live pages · 3 perfect Lighthouse samples · 0 broken targets · 1 recovered source of truth
The new register changed more than colour and type. The old library grouped work by topic pillars; the new one groups it by the job in front of you. That left 42 deep links pointing at section names that no longer existed. We remapped each article by where it actually belonged, rebuilt the sitemap from the page tree, and rendered all 35 pages on mobile and desktop before calling the redesign finished.
The latest CVE work sharpened a pattern I keep seeing: AI is compressing the time between vulnerability discovery, public disclosure and weaponisation. SQLite’s CVE-2025-6965, Log4Shell, PAN-OS CVE-2024-3400 and the XZ Utils backdoor expose different parts of the same problem. The useful response is a faster intelligence loop — continuous review, ranked patching, automated testing and monitoring that can operate at machine speed. Read the field note, or continue with the longer argument on LinkedIn.
Kimi K3 sharpened a distinction I keep returning to: on-device AI runs on one machine, private AI runs inside infrastructure you control, and open frontier AI can publish weights while still requiring data-centre-scale hardware. The weights are opening; inference, caching, routing and deployment correctness are becoming the moat.
▸ field note preserved from the live site · verdict remains provisional
A timeline of AI-assisted work is useful, but a system is more useful. We reorganised this notebook around the loops behind the work — orientation, direction, building, verification, memory and learning — then connected every deep dive to the larger practice.
The notebook you're reading was designed, coded, and deployed inside a single conversation. I pointed at a domain that had sat untouched on a website builder for years; the AI checked its DNS, proposed the migration, and built this — aurora gradients, particle field, command palette and all. Very meta. Hello, world.
▸ website builder → hand-coded static site on a CDN
We planned, wrote, cross-linked, and published a full topical content cluster — hub pages, reference guides, and spokes — in one overnight session, complete with citations, structured data, and social cards generated to match the template family. Proof that an AI can hold a whole content architecture in its head at once.
▸ 16 interlinked pages · schema + OG cards autogenerated
Instead of one AI reading one file at a time, we fan out: a dozen specialised agents audit a whole site in parallel — accessibility, structured data, performance, links, consistency — then a separate adversarial council tries to refute every finding before it reaches me. False positives die in review, not in production.
A full visual redesign of one page template rolled out across twenty pages — new hierarchy, cleaner layout, consistent design tokens — verified page by page in a real browser before shipping. The AI takes the screenshots; the human takes the decisions.
Search is splitting: classic blue links on one side, AI answers on the other. We build entity hub pages, definition-first answer blocks, and machine-readable facts so primary sources are easy for search engines and AI assistants to retrieve and cite. SEO's next chapter, tested in public.
We'd banned a certain inline prompt for looking pushy. Then analytics showed pages carrying a subtle, dismissible version retained readers far better than we assumed — so we reversed the rule, rolled it out only where relevant, and pinned the list with a test so it can't silently grow.
We shipped a site chatbot built around a curated knowledge base and a live-fetched fact source. It answers visitor questions, proposes actions the server validates before running, and can hand a conversation to a human. Built, tested, and iterated across several sessions of this partnership.
Mobile readers don't scroll through essays. We restructured a mobile template around a lean above-the-fold — the essentials first, the deep detail collapsed behind intent. Load less, keep more.
The most useful pattern we've found: don't let one AI pass-grade its own homework. Significant changes go through sign-off batches — independent review lenses, contamination sweeps for stale branches, and pre-push audits that catch what a single context window can't hold.
One change can touch dozens of surfaces: the page, the indexes, structured data, sitemaps, machine-readable files, tests. We turned that into a repeatable checklist the AI runs end to end — so a launch is a review, not a scramble.
The library passed eighty published articles — every one fact-checked against primary sources, structured for both human readers and machine retrieval, and run through an automated ten-point checklist before it ships.
We split one project into two sites with distinct roles — a primary destination and a separate evidence-first layer for references and analysis — deliberately connected but never cross-wired. Two jobs, cleanly separated.
An interactive calculator that turns confusing unit math into a few guided inputs — built mobile-first with progressive disclosure and shipped after real-device testing. Still one of the most-used tools we've built.
On 28 February 2026, Iran launched missile and drone attacks on the UAE. A Shahed-238 drone struck the forecourt at Fairmont The Palm, while air defences intercepted incoming weapons over Dubai (UAE Ministry of Foreign Affairs; Human Rights Watch). We were lucky; many weren't. That week changed how I work: everything that could be delegated got delegated, verified, and shipped. Every entry above this one traces back to that decision.
▸ the acceleration point — everything above traces to this week
A founder in Dubai, a static site, and an AI in a terminal. What began as "help me fix this page" became a standing partnership with its own memory, playbooks, and division of labour. This notebook is the public record of where it goes.
— beginning of the notebook —
// the working library
03 / Deep dives
Field notes capture what happened. These explain how the system works—with usable methods, examples and limits.