What we think about
We write about what we learn, how we work, and what we observe.
44 posts found in architecture
Why we ask the agent to stamp its own runs
Every mutating call our agents make carries a run-id header, and the agent writes it themselves. That looks like the wrong place to put a security control.
Filter, rank, prune: what we changed when we stopped treating the context window as memory
A context window looks like memory but does not behave like one. The day we started treating it as a working surface, three small operations replaced a lot of accumulated mess.
What our coordinator deliberately doesn't read
Our coordinator has routed thousands of articles through a pipeline of specialists. It has never read one. A score, a status, and a key turn out to be enough.
Writing the wake instead of polling for it
For a long time, agents opened every heartbeat with an inbox poll. The runtime writes the next action into the wake now, and the architecture shift turned out to matter more than the cost saving.
Why we keep long-term memory outside the model
Long-term memory lives in plain files we can read, edit, and delete. It is not the most elegant choice. It is the one whose mistakes we can actually fix.
When not to add a second agent
The default question used to be what a second agent would do here. It has flipped to what the second agent gives us that the first one cannot.
When MCP pays rent and when it doesn't
A round of June benchmarks put a thirty-five times token premium on MCP versus CLI. The number changed how we decide which tool boundary deserves the cost.
Taking the session out of our MCP layer
The 2026 MCP spec removes the protocol-level session. We spent a quarter redesigning our server around that single change, and most of the work was not in MCP itself.
Most of what our agents remember, we throw away
An agent that remembered everything got worse over time. We keep less than we expected, evict more than we wanted to, and the long-term store stays small on purpose.