Notes on building software with AI agents
What actually breaks when you hand implementation to a coding agent — context loss, the last 30%, specs that drift, tests that verify nothing — and what to do about it.
Context engineering for coding agents
What to put in an agent's context window and what to keep out: project instructions, retrieved code, the task spec, and history you barely control.
Planning mode vs. just prompting
When making an agent plan before it writes code pays for itself, when it is pure ceremony, and what separates a useful plan from a restated prompt.
Acceptance criteria that actually work
Treat acceptance criteria as executable contracts, not prose wishes. What makes a criterion verifiable, plus a rewrite table of common bad ones.
Drift between the spec and the code
The doc says one thing, the code does another, and nobody notices until an incident. Why agents make it worse, and what you can actually detect.
How to write specs for coding agents
A practical guide to specs an LLM can execute — non-goals, verifiable criteria, named interfaces, and decisions with rationale that survive review.
AI-generated tests that verify nothing
A taxonomy of tests that pass without checking anything, why agents produce them, and the one heuristic that catches all five kinds in review.
ZeNorm vs. AWS Kiro
Kiro closes the loop inside its own IDE with click-through approvals. ZeNorm gates on a score and hands off to your agent. A mechanism comparison, honestly.
ZeNorm vs. GitHub Spec Kit
Spec Kit is free MIT-licensed prompt templates run by your own agent. ZeNorm runs a server that refuses. A mechanism comparison, and when Spec Kit wins.
ZeNorm vs. Traycer
Traycer plans and reviews inside your editor. ZeNorm refuses to emit tasks until the spec scores. A mechanism-level comparison, with when to pick Traycer.
The 70% problem in AI-assisted coding
Why agents get a feature 70% done in minutes and the last 30% takes longer than writing it yourself — and what to do about it.
Code review when an AI wrote the code
Reviewing agent-generated code is a different job from reviewing human code. Most teams run the human process against it and get burned.
Why AI coding agents lose context
The mechanics of context loss in long agent sessions — what gets evicted, why compaction is lossy, and what actually survives a session boundary.
Scoping work for AI agents
How to size a task so a coding agent can finish it coherently: decision count over line count, vertical slices over layers, and dependency order.