Last Monday morning I had six terminal tabs open. One was a coding agent halfway through an API endpoint in one of our line-of-business systems. Another was watching a build in a second repo. Two more were parked on paused agents I was going to come back to. The last two I actually needed to...
A plan from Claude comes back as text. Useful text, mostly in the right order, but still a long Markdown document I'm supposed to read top to bottom in a chat window before I let an agent run with it.For a short plan, that's fine. For a real one (a dozen-plus tasks, a dependency graph, a test...
Monday morning, I ask Claude Code to review a plan. I get this:| Conflicts | Gaps | Verdict | |------------------|------------------|-------------------| | Auth ADR breach | No NFR for p99 | major-conflicts | Friday night, same plan, slightly different phrasing...
People often ask me what the best programming language is to use with LLMs. One of the strongest options, in my opinion, is Rust. However, before choosing it, you first need to ask yourself whether it’s worth picking a language with manual memory management instead of one with a garbage...
Do the hard thing today to make tomorrow easy. 1. Safety Correctness is necessary but not sufficient for safety. To be safe, a program must not only run correctly. It must apply defense-in-depth and verify itself while running, to run correctly or else shut down if it detects that it has...
Last week I closed the lid and went to make dinner. When I came back, a 40-file refactor was done. It ran in tmux on a VM I can snapshot and throw away. I didn't have to sit there and watch it.That only works because of where it ran. The work wasn't on my Windows machine with all my usual keys and...
A year ago, smoke tests on my projects were a luxury: too expensive to justify, too slow to run on every PR, too hard to maintain alongside a fast-moving codebase. Today they're the default output of every feature cycle. Not because I added a QA team. Because I built an AI-orchestrated development...
Ops sees "Completed" and closes the ticket. The approval is still sitting in Slack. Nobody follows up because the workflow is already marked done. That is what you get when you treat every human-in-the-loop (HITL) interrupt the same and use the wrong primitive to pause: zombie workflows, audit...
9 min readAgentic AI does not introduce new classes of bugs.It amplifies assumptions that were never made explicit.The better the model, the more convincing the output — and the harder the failure is to detect.In production systems, these failures don’t look like hallucinations.They pass...