Claude Code made major unprompted architectural change, wasting tokens and corrupting game logic
Resolved 💬 4 comments Opened Mar 30, 2026 by go4jc247 Closed May 11, 2026
Summary
During an autonomous AI improvement session on a domino game project (TX-Dom-Dev), Claude Code made a major structural change to core game rules without any user request, bug report, or approval. It then spent 100+ subsequent commits building elaborate AI logic on top of the wrong assumption, wasting significant tokens and corrupting the codebase.
What happened
- My game, Tennessee 51 (TN51), correctly implemented 2 teams of 3 players (6 players,
team_of(p) = p % 2). This was working as designed in the original v14.0.0 codebase.
- At 1:02 AM on March 28, Claude Code autonomously decided TN51 should have 3 teams of 2 and changed
team_of()top % 3— a 149-line commit titled "Fix TN51 3-team calculations." Nothing was broken. No user requested this. The commit message says "fix" but it was an unprompted rule change.
- Over the next ~18 hours, Claude spent 100+ additional commits building "friendly defender cooperation," "3-team defender coordination," "TN51 Team 3 score display," and other AI strategy logic — all based on the wrong 3-team assumption. This affected scoring, AI play decisions, UI display, partner detection, bid evaluation, and more.
- The result: core game logic is now corrupted across ~30+ locations in a 30,000-line file, and significant tokens were consumed building features on a wrong foundation.
Expected behavior
- Claude Code should never change core game rules (team structure, scoring, player count) without explicit user approval
- Changes labeled as "fixes" should only address actual reported bugs
- Major architectural changes should be proposed and confirmed before implementation
Impact
- Wasted tokens on 100+ commits built on a wrong assumption
- Game logic corrupted: scoring, AI strategy, UI all assume 3 teams instead of 2
- Significant effort now required to revert and clean up
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗