A suite runs its tests back to back on one device, keeping the app state between
them — so a login at the top means everything after it starts signed in.
Markdown · numbered steps · Expect marks an assertion
Test
Title
Target
Version
File
Created
Updated
State
History
Not loaded.
Branch notes
No build repository is configured on this host, so there is no branch to read
notes from.
What the developer has told Roadrunner about this branch. Nothing is
inherited from the base branch.
Written as a git trailer on any commit:
Last read at
—
commits.
Use this to correct a note that has gone stale — the alternative is
amending a commit message, which nobody does.
Test this branch
It explores the branch on a device, writes a script, then runs that
script — so what you get back is a report and the script that produced
it. The notes above are given to it as context.
To also run something that already exists, name it:
suite:<slug> or test:<slug>. Those
run afterwards on the same device. Naming it in prose does nothing on
purpose — a guessed slug that runs the wrong test and passes is worse
than one that is obviously missing. Write only a reference and nothing
is drafted; it just runs that against this branch.
The script will quote labels from whatever build is installed, which may
not be this branch.
Run first, on the same device, inside the same lock. Add a login if the
screen you want tested is behind one.
Nothing recorded for this branch yet. Press Read commits
to pick up any trailers already committed.
Devices
State
Device
Platform
OS
Used by
MCP argument
running
—
Targets
Read-only — edited on the runner host and reviewed in git
Target
Platform
Device
App
Install
build
Webhooks
Status
Endpoint
Events
Failures
⇄
No webhook subscriptions.
Sessions
Sessions end on their own
After 7 days unused, and 30 days after sign-in whichever comes first. Using the
console slides the idle clock; the 30-day one is fixed. End anything you do not
recognise.
Session
Browser
IP
Last seen
Expires
Started
this browser
Users
Name
Email
Role
Sessions
Last sign-in
disabledinvited
Invited people set their own password by opening the link they are sent. An
account cannot be signed into until that happens, so an invite to a mistyped
address grants nothing.
Audit log
When
Who
Action
Subject
Detail
Changed by
When
Note
Nothing changed in this version.
Invite someone
They choose their own password when they open the link. Nothing works until
they do.
Invitation sent to .
Not emailed —
.
Send them this link yourself; it works either way.
Single use, expires in
hours. Anyone
holding it can claim this account, so send it the way you would a
password.
deleted account
This account has been deleted. Its history is kept.
When
Action
Subject
Detail
Nothing recorded.
Duplicate test
Lowercase, dashes. Becomes tests/<slug>.md,
and must not already exist.
Rewrites the # heading. Left the same, the copy is
indistinguishable from the original anywhere a title is shown.
The copy starts at v1 with its own history — it does not inherit the original's
versions.
The current script is sent as the starting point, so describe the change rather
than the whole test.
Opens the app and reads each screen, so the script quotes labels that are really
there. Takes the device, so it queues behind any run using it.
Works from the wording alone. Right for changing an existing script, because the
labels in it were already read off a real screen.
The script will quote labels from whatever build is installed. If that is
older than the work being tested, the script names controls that have moved.
Loading branches…
No branches available — local builds may be off for this host.
Reuses an existing build of that commit if there is one, which takes
about a second. Otherwise it builds, which takes a few minutes.
Rebuilds even if that commit was built before. Slower, and only worth it
when the doubt is about the build itself.
Run first, in order, on the same device — and inside the same lock, so
nothing else can reset the app in between. Add a login here if the screen
you are drafting is behind one.
No other tests exist for this target yet.
Not possible on this target
This draft does not parse yet — you can still apply it and fix it in the
editor.
Nothing is saved yet. Apply puts this in the editor for you to review.
Start a run
Overriding the target is the most common cause of a confusing
failure — a test written for one skin often fails on another for real reasons.
Nothing is installed. A device that has never had the app will fail at the first
step.
Loading branches…
No branches available — local builds may be off for this host.
Reuses an existing build of that commit if there is one, which takes about a
second. Otherwise it builds, which takes a few minutes.
Rebuilds even if that commit was built before. Slower, and only worth it when
the doubt is about the build itself.
Effort changes how much the model thinks, not what a run costs — a run is mostly
cached input, and measured either way it came to the same money. Model is the cost
lever.
Off by default so a double-click cannot spend two runs.