Writing
Essays and notes on making enterprise AI work.
A new piece every week: strategy, governance, platforms and agents, written from inside the job rather than from the conference stage.
Subscribe by RSSA2AAI governanceAI strategyAgentic AIArchitectureBookData governanceEngineeringEnterprise AIEvaluationGenerative AIInteroperabilityLocal inferenceMBSEMCPOpen sourceProcessRequirementsRetrievalSecuritySmall modelsSylangTechnical communicationValue stream mappingWebWriting
2026
- Two locks on a static siteThis site is static, but it has a private studio where I write and keep documents. It is guarded twice: once at the edge by an identity service, and again inside the code by checking the signed token myself. Why one lock is not enough, and the ten tests that prove the second one.
- Zero inline scripts, and the six things that broke on the wayThis site runs under a Content Security Policy that only allows scripts from its own files. Getting there took six fixes, most of them in places I did not expect: the build tool, a syntax highlighter, a page-turn library and a diagram renderer.
- Turning a web page into a book: pagination, page turns and fullscreenMy book is HTML. I wanted it to read like a book: real pages, a page turn, fullscreen that survives the next chapter, and a front page you can always get back to. How the reader measures pages in the browser, and what it costs.
- An AI harness that can't lie quietlyYou cannot stop a language model from inventing a fact. You can build the harness around it so that an invented fact has nowhere to hide. The design of the small, private AI editor I use for documents that must stay true.
- Editing 80,000 words: volume in parallel, correctness by machine, judgment by meHow I ran a full reader-first edit of a 17-chapter technical book with AI agents, without losing a code sample or a diagram. One brief, nine batches, a validator that compares every file against the original, and a human read at the end.
- Write for the reader, not the auditorTechnical writing drifts into a defensive voice: passive, long, careful, addressed to nobody. I rewrote my 80,000-word book against nine rules and measured the result. Sentences got shorter, boxes got smaller, and the reader finally got addressed.
- Why the title says MBSE for AI, and why I nearly flipped itMonths after naming my book, I could not remember why it read "MBSE for AI" and not the other way round. Working it out again gave me a simple test for naming any AI initiative: put the thing you are changing first.
- AI’s only real novelty is speedFor most enterprises, AI does not do anything new. It does what we already knew how to do, at a cost and pace that change which work is worth doing. That is where strategy should start.
- Tool calling is the benchmark that mattersI benchmarked ten open models for agent work on my own GPU server and a laptop. Tokens per second got all the attention. The result that decided everything was whether the agent loop survived its second turn.
- Decks as dataAsking a model to produce a PowerPoint file gives you something hard to edit and impossible to govern. I built a deck generator that treats a presentation as structured data first. Sixteen components, twenty tests, and one rule that settled every argument.
- Find the value stream before you add AIMost AI use cases are picked by asking people what they would like automated. I am building ValueAI to start somewhere else: map where the time actually goes, from four kinds of evidence, then decide where AI belongs.
- Rebuilding Sylang on the data platformSylang started as a text language in git, the way my old architecture language worked. This summer I moved its source of truth into the customer's own data platform. The decisions, the trade-offs, and the numbers behind them.
- Isolation is not a promptRunning one agent framework for several users, I hit session and memory leaking between instances. The fix was not a better system prompt. It was operating-system isolation and a small control plane.
- A2A is a contract, and most agents break itI registered two of my own agents in Gemini Enterprise over the A2A protocol. Registration failed on validation because the agent's responses were off-spec. What broke, how a small proxy fixed it, and what it means for agent interoperability in the enterprise.
- Searching requirements without sending them anywhereThousands of requirements and test cases, and a hard rule that none of it leaves the building. The self-hosted retrieval design I am testing, and the two choices that matter most.
- Small models don’t know EARS. So I’m testing before I train.I tried open models up to 12B on a simple job: rewrite an existing requirement into EARS notation without inventing anything. None did it reliably. Here is the evaluation I built before training a 350M helper model.
- One MCP layer instead of 500 integrationsWhen every AI client wants to talk to every engineering tool, the integration count grows as a product, not a sum. The arithmetic behind why I put one MCP layer in front of an enterprise engineering tool estate.
- Why I wrote a book: MBSE for AI, not AI for MBSEEvery engineering company is asking which AI tool to bolt onto its modelling stack. I think that is the wrong question, and I wrote seventeen chapters on why. What is in the book, what is finished, and who it is for.