The agent said SUCCESS. The linter disagreed.
An AI repair agent declared success the moment the code compiled. The linter disagreed, and the gap between those two is the whole story.

An AI repair agent declared success the moment the code compiled. The linter disagreed, and the gap between those two is the whole story.

Hundreds of malicious package versions across three ecosystems, and the uncomfortable fact that installing one runs arbitrary code.

The junior developer pipeline is collapsing, and the cause is not the thing everyone is blaming. Who is left when the greybeards retire.

An export-control directive suspended my AI assistant mid-task, which is a useful lesson in what you are actually depending on.

Building an AI dungeon master to test a Go chat client, and the bug that kept resurrecting a goblin the player had definitively killed.

Agentic AI gives senior engineers a lift and juniors a drag, which tempts firms to automate away the entry level entirely.

The cash prize for anything that looked like a finding was the accelerant, and AI only made plausible-looking reports free to produce.

A lowest-common-denominator AI interface throws away what each provider is good at. When to route through an abstraction and when to drop below it.

Five AI providers behind one Go interface, including one that shells out to a locally authenticated CLI for networks that allow no API calls.

Persisting an AI conversation in Go: snapshot the messages, prompt and tool metadata, and deliberately never the handlers or the API token.
