Soul s8 Lows (1) and (2). ESLint bans .joinRoom() calls outside joinEstateRoom.ts (Airbnb's no-restricted-syntax entries kept); a test lints snippets through the repo config. The estate drives' done() returns 5 when no assertion ran; a test pins 0/4/5. Mutations: dropping the selector, the file exclusion, the Airbnb spread, the zero-assert exit and the assert count each fail a test.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>