dev-environment

  1. Six agents, two branches

    The reasoning behind the devcontainer firewall, MCP wiring, CLI lifecycle, SSH signing, and build ordering lived only in scattered commit messages. A wayfinder map turned it into five permanent ADRs, produced by six agents working in true parallel.

  2. A greedy regex that ate the leading major version digit

    A greedy wildcard in version string extraction stripped leading digits from major version numbers, causing pnpm 11.19.0 to be parsed as 1.19.0.

  3. Breaking a self-referential devcontainer script loop

    Invoking pnpm inside a container startup script re-triggered the pnpm binary wrapper itself. Guarding execution with environment flags broke the infinite loop.

  4. Healthy before active

    Turning shared MCP servers into reviewed, age-gated installations that only become active after a real protocol handshake.

  5. 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.

  6. 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.

  7. 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.

  8. Done is not committed

    Context7 and browser automation reach all three developer CLIs, after live verification exposes two integrations lost with an ephemeral worktree.

  9. The fourth status line

    A stale three-tool test turned pnpm support into a devcontainer startup failure, and the repair had to model the new update path properly.

  10. The fourth tool in the manifest

    Bringing pnpm into the developer-tool update policy, replacing manual version chores while keeping CI reproducible.