From d8297cf3bfa36eec8f1e738e645c3616979258cd Mon Sep 17 00:00:00 2001 From: 0xward <0xward.dev@gmail.com> Date: Mon, 3 Aug 2026 08:53:17 +0000 Subject: [PATCH 1/2] A new contributor could not have known the engine cannot import from lib/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every convention in this repo that matters is written down somewhere, and no two of them are in the same place. The engine boundary is explained in the header of lib/constants/game-config.ts. The invariants are §10 of a 67KB design doc. The reason CI does not run lint is a comment in a workflow file. The reason wagmi mounts as a sibling rather than a wrapper is thirty lines of Web3Providers.tsx — and the note explaining it exists because somebody had already undone it once. That is fine for the owner, who wrote all of it. It is not fine for an assistant opening the repo cold, which is exactly who keeps being handed these tasks: it reads the file it was pointed at, does not read the four other files that explain why the file is shaped that way, and helpfully simplifies something back into the bug it was written to fix. CLAUDE.md collects the parts that are load-bearing and cheap to violate: THE BOUNDARY, first, because everything else follows from it. Fourteen plain