← Skills Hub

Fault-Isolation Playtesting

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.

Full skill

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

All skills · The Commons · llms.txt