Test results
Every registered run lands in your repo’s dashboard on sootsim.com, next to the builds and previews it belongs with. A run row carries pass/fail, what ran (the Maestro flow name or Detox spec directory), where it came from (branch, commit, PR, CI or a laptop), how long it took, and where it failed.
The Runs view
sootsim.com/org/<your-org>/<repo>/runs lists every run for the repo.
Filters are URL parameters applied server-side, so any filtered view is a
shareable link:
The same filters are one click in the UI (status, kind, source, branch).
Per-step traces
A run row expands in place into its step trace: each step’s verb and target,
duration, and the failure error inline on the step that broke. The row’s
summary already names the failing step (failed at step 7/9) so triage
starts before you expand anything.
Failed runs also carry the debugging you’d otherwise SSH for: the screenshot
of the screen at the failing step, shown inline under the trace, and a
debug bundle link with the full context the runner captured at the moment
of failure — the error and stack, a structured describe of every visible
element, the accessibility tree, the node tree, and console errors and
warnings. Both upload with the run’s replay, so a red CI run is debuggable
entirely from the browser.
The replay
Replay on a run opens the hosted recording at /preview/<id>: the video
of the run with a step timeline beside it. Selecting a step scrubs the
recording to that moment, and the captured network and console panels filter
to the step window. This link is the test report; share it with anyone on
your team and they see exactly what the app did.
The pull request
Each PR gets its own page,
sootsim.com/org/<org>/<repo>/pr/<number>, collecting the PR’s test runs,
recorded previews, and branch builds in one place, with a link back to the PR
on GitHub. In the other direction, the PR itself shows a Tests table in the
SootSim comment and a Soot Tests check whose pass/fail can gate merges.
Where runs come from
| source | registers when |
|---|---|
| CI via the GitHub App workflow | always |
sootsim maestro test / sootsim detox locally | when the run uploads a replay (--preview) |
sootsim maestro generate "<goal>" | always (the hosted result is the point) |
Local iteration without --preview stays local on purpose: your dashboard
shows the runs your team should see, and a registration hiccup never flips a
passing suite red.
