Build Logs

The 404 wasn't routing: the gate was eating the error

Wiring a new pipeline stage, the persona enrichment endpoint returned 404. An hour of route debugging later, the real cause was a formation integrity gate silently rejecting config with a missing schema field.

What AI assistants leave behind

AI assistants generate forensic artifacts in at least four distinct places, each with different custody and retention. Most incident response playbooks don't have a track for this surface. They should.

AI Safety vs Security: Why the Distinction Matters

Security practitioners keep getting handed safety frameworks for security problems. Here's why that fails and what to use instead.

Oversight as Ritual

Human approval gates on AI agents feel like oversight. Most of the time, they aren't. Here's what real oversight looks like.

Small Models Invert the Specialization Argument

Adam Smith said specialization creates efficiency. He was right. He also assumed specialists are scarce. SLMs just made that assumption wrong.

Drift Is the Model Doing Its Job

Behavioral drift in production AI isn't a malfunction. It's optimization. That distinction changes where drift detection belongs in your security program.

Three things at once

My memory layer went down because of three independent problems that only mattered together. Any one of them alone would have been fine. All three at once killed it. Here is how you diagnose something like that without going in circles.

Console noise, Vercel previews, and the fix that broke CORS

Vercel injects a toolbar into preview deployments. The toolbar calls Sentry and FedCM. Both fail in an unconfigured preview environment. The console fills with 403s. The smoke tests fail. None of this is your code, and the obvious workaround makes things worse.

Approve From Anywhere

I built a Telegram bot to approve GitHub PRs from my phone. Then I built a gate to stop myself from approving them too fast. This is the story of the gate.

Hardening an Autonomous Agent Fleet: Egress Controls, Credential Monitoring, and a Routing Surprise

Five security improvements shipped to a four-pod autonomous build agent cluster: deny-all egress, non-root execution, IDS log hygiene, credential expiry monitoring, and what we found when the overlay network could not reach the LAN.

The tool permissions your agent doesn't need are the ones that will bite you

An audit of my agent orchestration access policy found a remote execution permission that had been live for months and used exactly zero times. Unused permissions are not untidy. They are the attack surface.

My agent couldn't read its own name for months

A template variable rendering bug silently corrupted agent identity injection across the entire fleet. Health checks passed. Uptime was green. Nobody noticed until a human read the output.

My AI system builds itself, that's the point

On August 31, 2026, one of the agents in the fleet was dispatched to write the spec for how agents write articles. It wrote the spec. By afternoon, the fleet was using that spec. This is either very exciting or mildly alarming, depending on how you feel about bootstrapping.

Writing to the Next Session

A session handoff that reads like a changelog isn't a handoff system. It's a note to yourself that the agent cannot use. Here's what recovery actually needs.

First fleet dispatch: a 25% success rate and the lessons it bought

Four autonomous AI agents dispatched overnight to four containers. One succeeded. One got halfway. Two never started. This is the honest failure report.

I Built an Autonomous AI Agent Fleet and 75% of It Broke

Four parallel AI agent instances picking up work items and producing PRs. What worked, what didn't, and why the first fleet run had a 25% success rate.

CB4A: content-based 4-tier authorization for AI tool calls

Building a tool call authorization gate that classifies every agent action into four tiers, routes through a fast path or semantic analysis, and puts a human in the loop when it matters.

Agent-written CI: 18 of 19 tests and the regex the agent couldn't read

An autonomous agent wired a pytest CI gate onto an authorization service, pushed the branch, and watched 18 of 19 tests pass. The one failure was a regex mismatch that required a human to read and understand. The collaboration pattern is the lesson.

ISA-driven development: structured contracts for autonomous AI agents

Ad-hoc prompting fails for complex agent work. ISAs (Intelligent Service Agreements) replace it with structured, auditable work contracts that actually scale. Here is what we learned shipping them.

prom-memory: building episodic memory for an AI system that actually remembers

Lessons from production episodic memory. Structured storage, full-text search, vector embeddings, heat decay, and a fact type taxonomy that makes structured forgetting possible.