Executable Stories

Know what your product does. Prove it on every commit.

Anyone writes a story in plain Given / When / Then. Your tests verify it on every commit. The whole team, and your agents, read the same page.

Get started

100% up to date, guaranteed. Every status names the commit and the run that proved it.

Card payment is authorised

Passed
  • Givena customer with a saved Visa card
  • Whenthey pay £40 at checkout
  • Thenthe payment is authorised
  • Andthe receipt email is queued

Proved by

Test
authorise.test.ts:18
Framework
Vitest
Commit
3e7d9a2 on main
Run
#2817 · CI · 14:02
Last 12 runs on main
An example.

Verified by the tests you run

Vitest
Jest
Playwright
Cypress
pytest
Go
Rust
Kotlin / JUnit 5
C# / xUnit
Ruby

Catalogue

Every behaviour, one query away.

Plain Given / When / Then, written by whoever knows the behaviour. Filter by tag, status, priority or repo with a typed query, save it, and hand the same query to your agent over MCP.

tag == payments and status != passed3 of 61
  • Card payment is authorisedvitest · 3e7d9a2
  • Refund lands within five daysplaywright · 3e7d9a2
  • Expired card is declinedmanual · v3
  • 3-D Secure challenge completesplaywright · 3e7d9a2

Runs

A failure is a story, not a log line.

Each run lands on a named commit. The failing step is marked, the message and stack sit under it, and the fix starts from here: raise the issue, or copy the command to run it locally.

Refund lands within five days

Failed
  • Givena captured payment of £40
  • Whensupport issues a full refund
  • Thenthe refund is scheduled within five days
expected scheduledFor ≤ 2026-09-25, got 2026-09-29
at refunds.spec.ts:42
Raise issueRun locallyCI job · PR #418

Analytics

What is flaky, slow, or never run.

Computed from every execution, not a dashboard someone maintains. Each number links to the stories behind it, with thresholds your org sets.

Flaky
4
flipped 2× or more this week
Never run
7
older than 7 days
Slowest
3m 08s
payments-mobile
Clusters
2
timeout · 401
10
frameworks
15
MCP tools
0
hand updates
Free
viewer seats

Get started

Free plan. Viewer seats cost nothing, so your whole team reads from day one. Moving from TestRail? The importer brings your cases and run history across.

Or with your work email