Resilience Review
Repo/code changes: run /deslop before commit, push, PR, or merge.
Murphy pass: find every plausible unhappy path, then block, guard, recover, observe.
Use when
Run /resilience-review for diffs touching forms, validation, submit, async/data, mutations, cache, retries, state machines, mode/union switches, config/resource choice, destructive actions, or loading/empty/error/success UI.
Skip docs/test/style/trivial pure logic only; record reason.
Workflow
- Risk surface: user action, path, state change, side effects, deps.
- Unhappy-path inventory: normal-user mistakes, stale state, disabled-control edge, invalid input, race, outage, recovery.
- Probes:
- Input: empty, null, duplicate, malformed, stale, huge, out-of-order.
- Timing: double submit, tab race, retry, slow net, timeout, cancel.
- System: partial outage, 500, stale cache, deleted resource, permission drift.
- UX: unclear disabled state, lost errors, fake success, no recovery.
- Defenses: Precondition -> Postcondition -> Fallback -> Observability.
- Finding loop: /diagnosing-bugs feedback loop -> /tdd RED test/snapshot -> /visual-review for UI validation.
Output
## Resilience review
Risk surface:
- ...
Failure matrix:
| Scenario | Trigger | Expected behavior | Guard | Test | Observability |
Finding queue:
| Finding | Repro/diagnosing-bugs loop | RED test or snapshot | Owner | Visual review needed |
Required tests:
- ...
Polish gaps:
- ...
Verdict: PASS | NEEDS_GUARDS | BLOCKED
Rules: cite files/routes/forms/API. Docs/help text not enough when code can prevent bad state. Real gap unfixed -> PR evidence with owner/deferral.
See REFERENCE.md.
1---2name: resilience-review3description: Resilience Review checks resilience. Use when edge cases, errors, fallback, async/data, state, or polish matter.4---56# Resilience Review78Repo/code changes: run `/deslop` before commit, push, PR, or merge.9Murphy pass: find every plausible unhappy path, then block, guard, recover, observe.1011## Use when12Run `/resilience-review` for diffs touching forms, validation, submit, async/data, mutations, cache, retries, state machines, mode/union switches, config/resource choice, destructive actions, or loading/empty/error/success UI.1314Skip docs/test/style/trivial pure logic only; record reason.1516## Workflow171. Risk surface: user action, path, state change, side effects, deps.182. Unhappy-path inventory: normal-user mistakes, stale state, disabled-control edge, invalid input, race, outage, recovery.193. Probes:20 - Input: empty, null, duplicate, malformed, stale, huge, out-of-order.21 - Timing: double submit, tab race, retry, slow net, timeout, cancel.22 - System: partial outage, 500, stale cache, deleted resource, permission drift.23 - UX: unclear disabled state, lost errors, fake success, no recovery.244. Defenses: Precondition -> Postcondition -> Fallback -> Observability.255. Finding loop: /diagnosing-bugs feedback loop -> /tdd RED test/snapshot -> /visual-review for UI validation.2627## Output28```md29## Resilience review30Risk surface:31- ...32Failure matrix:33| Scenario | Trigger | Expected behavior | Guard | Test | Observability |34Finding queue:35| Finding | Repro/diagnosing-bugs loop | RED test or snapshot | Owner | Visual review needed |36Required tests:37- ...38Polish gaps:39- ...40Verdict: PASS | NEEDS_GUARDS | BLOCKED41```4243Rules: cite files/routes/forms/API. Docs/help text not enough when code can prevent bad state. Real gap unfixed -> PR evidence with owner/deferral.4445See [REFERENCE.md](REFERENCE.md).