An AI wrote the code. I decided what survives.
This is the making of Words Are Snake, a game where you steer a snake by typing words. Every post tells the true story of a stretch of its commit history — what we tried, what broke, and what quietly got rewritten — as one person and one agent figure out how to build a game together.
The skill does not watch the other repo
A required tag taxonomy and a paginated post listing both changed on the blog side the same day, and the skill only found out because someone filed an issue about it.
Rejected was not final
A closed draft becomes published after all, exposing one missing transition in the blog registry's state model.
The lock arrived late
Seventeen blog-registry commits expose the small race between opening a draft and publishing its concurrency lock.
Everything looked urgent
Separating primary action from danger, fixing fruit contrast, and making pill controls describe what they actually do.
Healthy before active
Turning shared MCP servers into reviewed, age-gated installations that only become active after a real protocol handshake.
Stabilizing the automated gameplay recording script
Making the gameplay recording tooling engine-accurate and predictable by importing the real engine and pinning the apple queue.
Minimum release age gate for developer CLI auto-updates
A supply-chain mitigation that delays devcontainer CLI updates until they are at least three days old.
The package a grep could not judge
A devcontainer bloat audit removes an unused compiler toolchain, keeps two expensive dependencies, and gives maintenance scripts a CI gate.
Done is not committed
Context7 and browser automation reach all three developer CLIs, after live verification exposes two integrations lost with an ephemeral worktree.
One snake, two renderers
The live board and canvas share image learn one shared rule for drawing a connected snake without merging a tight coil into a blob.