Week notes: 20–27 March 2026
There's a particular kind of discipline that doesn't look like restraint. But the discipline isn't in the volume, it's in what I'm not doing. Every week there's a new agent framework. Wiggum loops, gastowns, superhumans, openclaws — they're all interesting. But they'd be a distraction from what I'm building. I have a lot of momentum right now, and I want to ride it to its logical conclusion.
The afternoon ledger
Someone on Threads said people aren't going to vibe code away dependencies on accounting software. So I built a ledger in an afternoon. I haven't bragged about it yet.
axon-book is a double-entry bookkeeping system — a reactor turning domain events into journal entries, backed by a PostgreSQL event store via axon-fact, with a scroll-driven UI featuring sticky T-accounts and weekly summary cards. The current version uses synthetic data built around the classic lemonade stand concept, because most engineers hear "double-entry bookkeeping" and their eyes glaze over, and I don't think a lot of people have those fundamentals.
But this has been brewing longer than an afternoon. axon-book will eventually back a ledger that records the cost and ROI of agentic actions — down to real-time compute costs. If every agent action has a traceable cost, and you can run that through a proper ledger back to the value it produced, you've got a P&L for autonomous systems. I think that will be very important for the software factories of the future.
Aurelia goes multi-node
Aurelia jumped from v0.3.0 to v0.3.4 this week — 55 commits. The headline: multi-node service management, a web UI with a live dependency graph, service removal APIs, and a serious infrastructure rethink underneath.
The pragmatic trigger was freeing up my iPad for my partner by moving to a MacBook. But that meant aurelia needed to manage services across multiple nodes on my Tailscale VPN (excellent product). The cluster-wide graph endpoint and multi-node UI landed to support that.
The deeper story is security. I had an old Mac Mini sitting around, and it's becoming a dedicated security node — that's adyton-core-infrastructure [private], a new repo this week with OpenBao, PKI setup scripts, and Traefik. All secrets will live in OpenBao on a separate machine, so the main server can be free for agentic use with reduced risk of leaking secrets. That's a real threat model: if an agent goes sideways on hestia (my main dev+staging server), it can't reach the secrets because they live on a different computer.
The aurelia-core-infrastructure [private] repo reflects this migration — retiring Vault, adding OpenBao with auto-unseal on daemon restart, and a NATS service mesh spike with JWT/NKey auth. Right now nodes talk over the same HTTP API as the web frontends. I'd like to move to using NATS exclusively for service-to-service communication, keeping HTTP for the human-facing edges.
aurelia-k8s is a separate thing — a demonstration of how to adapt the aurelia diagnose pattern to a container that has tools to introspect on a Kubernetes cluster.
The axon stack matures
The real throughline this week is the axon library surface hardening across the board.
axon-talk went from talking to a couple of LLM APIs to talking to anything. Extended thinking support for Anthropic, structured output with JSON schemas, prompt caching, a generic OpenAI-compatible provider, and a StatusError type across all HTTP adapters. I wanted to cover the natural API surface for the main LLM providers — and I have a personal interest in experimenting with edge computing on Cloudflare, so I wanted to play with that and test evaluation harnesses there.
axon-loop got the context management pieces: a ContextStrategy interface for pluggable context trimming, SlidingWindow, TokenBudgetWithMinWindow, and a WithRetry decorator. These are the pieces you need before you can run serious evals across providers without blowing token budgets or losing important context.
axon-face is new — extracted from imago when I noticed the same pattern appearing in three places. Claude and I have been building TUIs using bubbletea, and we now have three: imago for writing, vita for building a resume, and aurelia diagnose for agentic diagnosis and resolution of aurelia-managed services. axon-face is the shared conversation UI layer — the chat interface pattern all three need. That's the axon pattern: notice you're building the same thing three times, pull it out, make it a module.
axon-fact got a PostgresStore and transaction propagation for nested Append calls — the foundation axon-book sits on. Elsewhere: axon-auth hardened against timing attacks, axon-wire enforces HTTPS to protect tokens, axon-chat added internal API key auth. Security tightening across the surface.
Teaching Claude to read the codebase
Boris Cherny mentioned on Threads that Claude treats structured frontmatter differently, so I did a clean pass across nearly every axon module — standardising AGENTS.md files with frontmatter that includes module and kind fields (library vs service). The body is tailored per project with architecture details, dependencies, and file maps. But the frontmatter is the experiment: I want to see how it impacts future Claude insights reports.
The kind field matters. A library has consumers you can't break. A service has deployment concerns. If Claude knows which it's dealing with before touching a line of code, it should make better decisions about backward compatibility, API surface changes, and testing strategy.
Vita and the conversation pattern
vita is new this week. Feed in work history scraped from LinkedIn, and shape it into a resume through a conversational process — same idea as imago. The conversation does the editorial work instead of you staring at a blank page. Both built on axon-face now.
The sites
getlamina.ai got interactive dependency graph navigation, module graphics, structured data, and a light mode rework. benjaminaskins.com got a unified colour scheme, theme toggle, and terminal overlay. axon-synd — the site builder — added SEO meta tags, theme toggles, and cache-busting. tegmen, the CLI for managing site metadata across all the properties, is new and already handles favicons, OG images, and deploys.
I'm working toward self-coordinating agent swarms that can assemble applications out of axon components. Everything is building toward that. axon-talk handles LLM communication. axon-loop manages context and tool execution. axon-fact gives you event sourcing. axon-book will track the costs. The stack is purpose-built for agents that compose — not agents that demo well. The temptation to chase every shiny new framework is real, but momentum is perishable. You stop to evaluate someone else's thing, you lose the thread of your own.