01
Clicked through
Someone opens the app and checks each criterion by eye, feature after feature.
PROOFTRACE
Give it a user story. It opens your app in a real browser, does what the story describes, checks each acceptance criterion, and hands back tests you can rerun, with a screenshot of every step.
$ prooftrace run --story stories/create-project.md
passed: 8 of 8 criteria · 29.7 s · $0.028
THE GAP
01
Someone opens the app and checks each criterion by eye, feature after feature.
02
Someone else turns those checks into automated tests, one selector at a time.
03
The app moves on, the tests drift, and a red build stops meaning anything.
Prooftrace does the checking and the writing in one run, and keeps the evidence.
HOW IT WORKS
loads the story from a Markdown file or a GitHub issue.
pulls out each acceptance criterion.
matches a saved recipe, or decides to explore.
logs in; the AI never sees the password.
drives a real browser, a screenshot per step.
writes a Gherkin feature and a Playwright test.
runs the tests and marks each criterion proven or not.
WHO ACTS ON A STEP
A REAL RUN
The interactive replay loads here
Recorded with OpenAI's gpt-4.1 against a sample app. Every screenshot, click and check is real. Press Replay in the console to watch the run again.
TRUST BY DESIGN
No proof, no pass.
A criterion passes only when an assertion linked to it passes in the generated test. Actions alone prove nothing, and a run with an unproven criterion is a failed run.
01
A page asks the AI to type the password somewhere else
✓ The password fills only password fields, on the app's own site.
02
The AI is steered to another website
✓ Navigation stays on the app's own site.
03
Page text poses as instructions
✓ Everything on the page is treated as data.
04
A story title smuggles code into generated tests
✓ Every text is encoded; locators are parsed, never pasted.
05
Generated tests try to read your API keys
✓ The test process gets an allowlisted environment.
06
A website rebinds its domain to your local server
✓ The server answers only to its own addresses.
07
A website opens a WebSocket to your local server
✓ Connections from any other site are refused.
08
A project's settings file swaps the browser program
✓ It may only supply the settings the config names.
09
A GitHub reference tries to climb out of its path
✓ It is rejected before any request is made.
NUMBERS
Create a project: 43 steps, 8 of 8 proven, $0.028
Sign in with no recipe: the AI explored, 3 of 3 proven, $0.017
The same recipe with the AI switched off: 16.3 s, 8 of 8 tests pass, no evidence review
OpenAI gpt-4.1 against the sample app, September 2026.
ARCHITECTURE
Engine
HOW IT WAS BUILT
Built with help from Claude Opus and OpenAI.
01
Acceptance criteria should prove themselves, not wait for someone to click through them.
02
Seven stages, a typed event stream, and adapters for everything outside it.
03
Live runs changed the design: the AI learned to read page text, to assert evidence, and to fail honestly.
04
Nine security issues found by probing the code, each fixed and probed again.
05
Recorded runs you can click through, and code access on request.
18
tasks shipped
320+
automated tests
9
security issues fixed
Like what you see?
CODE ACCESS
The source is private. Tell me who you are and I'll send you read-only access on GitHub for [7] days.
Used only to grant access, and deleted after 30 days.
Every criterion proven. Every step on record.