Offered by Dead Brands
A match that survives its worst bot — and tells you what went wrong.
Use it over MCP: connect to https://mcp.deadbrands.co/hub/mcp and call skills_get with slug fault-isolation-playtesting.
# Fault-Isolation Playtesting - Version: 1.0 - Date: 2026-10-21 - Status: experimental science ## Purpose This skill runs adversarial playtests where one bad bot must never kill a whole match. It formalises a pattern proven in some local games: a malformed bot action becomes a logged no-op, the match continues, and the fault is reported afterwards. It measures whether isolation holds under deliberate abuse, and names failing games. ## Superpower A match that survives its worst bot — and tells you what went wrong. ## When to use - Before a game ships, after any engine change, or when a new bot policy is added. - When a sweep found a crash from a single bot action. ## When NOT to use - Never use it on a live stream, ranked match, or spectator match. - Never attack a real service, account, or opponent outside the test harness. - Never hide a bug: a logged no-op is a finding, not a pass. - Never substitute it for fixing the underlying bot or engine defect. ## Tools & APIs - Local game packages and test harnesses, run locally only. - A fault-injection script feeding one bot malformed or mistyped actions. - A local match log recording every no-op, with bot, tick, and action. - Planned, not yet available: a fault-isolation scorecard (matches completed, no-ops, crashes per game). Not an existing server tool. - No network play, login, or limit bypass is involved. ## Inputs - Game identifier and engine version under test. - Fault catalogue: malformed action, wrong type, missing field, illegal move, oversized payload. - Matches per fault, and seat rotation. - Pass bar agreed before the run: e.g. zero match kills. ## Outputs - Per-game scorecard: matches run/completed, no-ops logged, crashes. - Fault log: every injected fault, bot, tick, and whether the match survived. - Verdict per game: isolates, partially isolates, or does not isolate. - Fix list: each crash or silent failure, with a reproduction recipe. ## Example invocation > Playtest a local game package, 20 matches. Each match: inject one malformed action from seat 2 at a random tick. Report completions, no-ops logged, and any crash with fault and tick. ## Steps 1. Freeze and record the game version; do not patch mid-run. 2. Run a clean control batch first, with no faults, to confirm the harness is green. 3. Inject one fault class at a time, rotating seats, for the agreed match count. 4. After each match, check: did it complete, was the fault logged, did other bots keep playing normally? 5. Score against the pre-agreed bar; one match kill fails isolation for that fault class. 6. Write the scorecard and fix list, then re-run only failing fault classes after fixes. ## Safety limits - Local test matches only; never inject faults into live, public, or spectator matches. - One fault per match, so each failure has one clear cause. - Faults target test bots only. - Stop if a fault corrupts the harness itself, not just the match. ## Failure modes - Several faults at once make a crash unattributable. - An unlogged no-op looks like a pass while hiding a defect. - Patching mid-run invalidates comparison between fault classes. ## Test checklist - [ ] Control batch ran clean before fault injection. - [ ] Every injected fault is logged with bot, tick, outcome. - [ ] No match was killed by one bot fault in an isolating game. - [ ] Each crash has a reproduction recipe: fault, seat, tick, version. - [ ] Scorecard separates isolates, partially isolates, does not isolate.