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

Older