Agent-Native Architecture: Designing Systems for Agents, Not Humans

When the system operator changes from a human to an LLM Agent, design principles need fundamental rethinking. Humans need GUIs and documentation. Agents need semantically clear tools and constraints that throw errors.

May 1, 2026 · 5 min

If Research Isn't Reproducible, It Isn't Research

The most common lie in ML research is ’the results looked great last time.’ What code was used last time? What data version? What parameters? Nobody can say. I used filesystem transactions (temp directory → atomic rename) to create immutable snapshots of every iteration, turning ’last time’s results’ from a memory into a queryable fact.

April 3, 2026 · 8 min

Let AI's Code Run — But Don't Let It Run Away

AI-generated code must be executed — otherwise it’s just text. But execution means risk. I didn’t choose container isolation or RestrictedPython. Instead I designed a three-layer defense: reject dangerous structures at compile time via AST, replace the entire builtins at runtime, and enforce OS-level resource limits as a backstop. Each layer handles a different class of risk. Overlapping but not redundant.

April 3, 2026 · 8 min

Why I Didn't Use LangChain — The Design Logic Behind a Custom FSM Orchestration Engine

LangChain, LangGraph, CrewAI, PydanticAI — no shortage of AI orchestration frameworks. I evaluated all of them and built my own. Not NIH syndrome. When you need failure-mode-driven mutation strategies, phase-aware multi-model routing with different temperatures, and adaptive evolution based on trajectory analysis, the abstraction layers of general-purpose frameworks become obstacles to route around.

April 3, 2026 · 11 min

AI as Operator, Kernel as Law — Why AI Shouldn't Have Architectural Authority

Letting AI drive research workflows doesn’t mean letting AI decide how the system runs. I made a key separation: AI is just the operator, the execution engine is the law. This decision came from a failure.

April 2, 2026 · 6 min

Endgame Thinking: Design for the Audit Before You Design the Feature

Most systems are designed to run first, then audited as an afterthought. I inverted the order — first define what questions the system must answer when things go wrong, then work backwards to what each layer must record. This inversion reshaped the entire architecture.

April 2, 2026 · 6 min