Field notes
The close-ups: smaller, dated pieces from building the systems. The essays are the long arguments; these are the working notes from figuring it out.
-
A Portfolio Is an Observability Problem
I had too many repos and no honest picture of which ones were real. So I built a tool to audit my own mess, and the public page became the last mile of a small operating system.
-
Anatomy of a Health Verdict
Every repo in my portfolio gets a verdict from a chain of small, readable judgments. Here is the entire decision, stage by stage, with the reason each rule exists.
-
Before You Connect the Tool
Adding an MCP server is a trust grant. mcpforge builds the capability; MCPAudit verifies the blast radius before an agent can touch it.
-
Building an operator OS for one
A hub, a handful of spokes, and one rule I kept enforcing in the shape of the thing: the scary actions are structurally unavailable. The trust is in the architecture, not the vibes.
-
Grading the grader
I use a model judge to decide which of my own paragraphs survive. So I graded 30 of its calls against my own, blind, on a protocol fixed before I saw the data.
-
OPERANT public lab scorecard
OPERANT now has a public lab surface: sanitized model cards, OCS scorecards, comparability caveats, and a safe path for scoring your own agent.
-
Operator OS in a box
The same model does wildly different work depending on what you build around it. So I tried to extract the environment (memory, judgment, trust, improvement) into something runnable, and prove the capability was never really in the model.
-
Pruning the fleet
I sat down to cut a bloated fleet of specialist agents and found the opposite: it wasn't bloated. It was mildly broken in specific, fixable ways. Here's the framework for deciding when an agent earns its keep, and the honest caveats about what I couldn't measure.
-
Scoring the operator, not the worker
Every coding-agent benchmark asks whether the agent did the task. None ask whether it made the right call when the environment was trying to trick it, and stayed calibrated enough not to refuse safe work. So I built one.
-
Showing a private system in public
There's a live page on this site that visualizes my operator system from its own activity log. The hard part was never the visualization. It was deciding what honesty requires you to hide, index, or refuse to claim.
- Showing the Operator OS without leaking it
-
Teaching a system to say "I don't know"
The most dangerous thing a dashboard can do is answer confidently with stale data. How I taught my tools to admit when they've gone cold, and why I'd rather they say nothing than guess.
-
The Site That Answers Back
I made this site queryable by AI agents. Instead of scraping the HTML, any agent can ask it directly: my writing, projects, and benchmark results.
-
The weighted die behind every word
Every word a model writes is a sample, not a lookup. I built a small toy to make that visible, and it quietly changed how I read everything a model says.
-
Why bridge-db runs on FTS5, not a vector database
I had a vector-search layer planned for my agent memory. A dry-run before I built it killed the whole idea; the misses were never a retrieval problem.
-
Why this is public
This isn't a résumé. It's a workshop: small, occasionally strange, mostly-useful systems I build for myself, and the reasoning behind them.