dánwòdánwò

Fault matrix

Reading results

Find the failed trials in the dashboard, and see what each fault did to your app.

The terminal tells you which trials failed. The dashboard shows you why: the fault, the moment it hit, and what your app did next.

Open the matrix run

npx @danwo/cli serve --open

Go to Runs and pick the danwo matrix run, or open Matrix to see every test's latest result.

The grid

The run's page is a grid. Each row is something the clean run did: a call to Stripe, a webhook, a form post. Each column is a kind of fault. Each cell is one trial.

ColourMeaning
GreenThe invariant held.
RedThe invariant broke. This is a bug.
BlueNot judged: the trial couldn't run to a verdict.
GreyInvalid: the fault never happened in that trial.
EmptyNo such fault for that call.

Prefer a list? Switch the view from Grid to List.

Open a failed trial

Click a red cell. A card shows:

  • The fault, such as duplicate on webhook checkout.session.completed.
  • What the invariant said, such as expected 1000 to be 500.
  • Where the test stopped, with the file and line.

Click Open the flight record to watch the trial.

Watch what happened

The recording opens in two panes. On the left are the test's steps. On the right:

TabWhat you see
ReplayThe video, with a marker where the fault hit.
ProvidersEvery call and webhook, with the faulted one marked.
EffectsWhat changed behind the app after each step.
Emulator stateWhat each provider held when the trial ended.
MatrixThe other trials of the same run.

For the duplicate webhook above, Providers shows checkout.session.completed delivered twice, and Effects shows the credits going up twice.

Hand it to your coding agent

Copy prompt to fix copies the failure, the fault and the relevant calls as a prompt. Paste it into Claude Code, Cursor or Codex.

Next

On this page

Run it on every pull request

A GitHub check and one comment per pull request, with the flight records attached.

Set up CI