Blog
Deep dives on AI engineering, Rust, and the systems that run agents safely in production. The full archive lives on Substack.
The Surface Problem
draft
Most coding agents are a place you go. Aster 0.4.0 makes it a thing that shows up where you already are, by keeping the state in a file instead of in the app. Aug 2026 The Model Swap
draft
A harness shaped around one model hides the bugs that only a different model will show you. Swapping the model is the cheapest audit you can run on your own scaffolding. Aug 2026 The Portable Part
draft
Aster now supports Agent Plugins, the open standard for extending agents, and connects to MCP servers it does not run itself. The standard is small on purpose, and knowing what it leaves out is the useful part. Aug 2026 Building Aster
Lessons from building an open-source coding agent in Rust. Almost every one reduces to the same move: give the model less, and make it prove more. Aug 2026 Context Rot
Claude auto-compacts after N messages for a reason: models get worse as a session grows. This is why context rot happens, what compaction really costs, and how you move information across sessions without losing the pieces that matter. Jul 2026 What is Harness Engineering
draft
7-part series
A harness is everything in an agent except the model. This is the map for a whole series: the five subsystems, the H0 to H3 ladder, the design principles, and the traces that turn a finished task into something you can actually verify. Jul 2026 Context, Harness, Loop
The model is fixed. Everything that makes one agent reliable and another useless lives in three layers around it: what it sees, what it can do, and how its steps become a task. Jul 2026