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.

  1. The pipeline catches up

    Advancing the GitHub Actions pnpm setup action to version 6.1.0, bringing native pnpm 12 compatibility to CI workflows.

  2. A scaffold for the workbench

    Migrating the devcontainer from a bespoke compose stack to a standardized single-container scaffold supporting four distinct AI assistant CLIs.

  3. Headroom for the replay

    A flaky leaderboard test traced back to tests repeatedly rediscovering deterministic scores and an arbitrary rate limit cap.

  4. The wrapper that only looked for two

    A devcontainer rebuild failure on Apple Silicon traced back to a browser launcher that matched x86 and legacy Chromium cache paths but missed ARM64.

  5. The package manager that promoted itself

    A background update quietly pushed pnpm across a major version, breaking devcontainer startup until major-version ceilings and read-only manifest guards took hold.

  6. The server that ran somewhere else

    Wiring up Sentry hosted Model Context Protocol server inside the devcontainer, routing remote HTTPS queries through the egress firewall, and keeping access tokens out of version control.

  7. Three aliases, one posture

    Fixing a mount-namespace bug that broke git worktrees across autonomous CLI aliases, dropping phantom sandboxes, and persisting workspace ownership across container rebuilds.

  8. The score was only true here

    An end-to-end test hardcoded Norwegian replay scores derived on a local dev database, only to fail on CI because identical words walked into a different fruit queue.

  9. Primary sources behind the firewall

    Opening outbound access for primary compliance documentation through the devcontainer firewall, balancing a default-deny sandbox with authoritative research.

  10. A small maintenance window

    Nineteen package updates and a devcontainer feature refresh, confined to the manifest and lockfiles.