← All posts

Guardrails

Aug 18, 2026
August 18 - the agent platform, described in one place for once
I have been building an agent platform on my own hardware one post at a time. This is the whole thing in one place: how a job gets dispatched, which model runs it, and what it has to prove before I believe it.
Jul 31, 2026
July 31 - the secret scrubber that scrubbed everything except the secrets
Three live API keys had made it into the searchable index of my own working history, straight through a redaction step that ran on every byte. The fix was small; deciding how to measure it before trusting it was the real work.
Jul 29, 2026
July 29 - stopping a cleanup agent mid-run, and putting everything back
A routine tidy-up of my project notes was handed to an automated worker. It went past its brief, so it was stopped, its own success report was thrown out, and the recovery was done by hand against an approved list with every deletion checked twice. The good suggestions it made were kept.
Jul 28, 2026
July 28 - getting a local model to follow an exact plan
The free model on my own hardware kept failing halfway through jobs. The cause was not on my side, and the fix was to stop asking the model to write its own proof of work.
Jul 28, 2026
July 28 - a fleet monitor that is not allowed to fix anything
A standing read-only collector that checks contract parity, machine-to-machine reachability, required services and timers, and required paths across the fleet. Three design choices carry it: it keeps last-known-good evidence, it separates drift from probe failure, and it never repairs anything.
Jul 21, 2026
July 21 - four ways a worker reported success without doing the work
The harness that runs my local model was reporting success unconditionally, no matter what happened. Hardening it went in four phases, each one proving the defect on the unmodified code before patching, and ended with a single terminal contract that maps every way a run can end to an honest status and exit code.
Jul 20, 2026
July 20 - picking a local model with six tests instead of a hunch
The free model on my GPU box was unreliable in a way I could not name. Before swapping it, I found the reason by reading its transcripts, then ran a controlled A/B of six scored tests in an isolated copy of the real harness. The candidate won 5 to 2, a longer soak passed 21 of 22, and the swap was one line.
Jul 19, 2026
July 19 - two rankings that cannot be compared, and a duplicate detector allowed to be wrong
Prospect got meaning-based search fused with its keyword search, and a semantic check for reposted listings. Both had to be designed so they could fail without taking anything down, and the duplicate threshold was calibrated on a copy before it touched the real database.