Pick a failure. Watch the trace lie. Get the engine's verdict.
Seven workflows, six ways they go wrong where the agent cannot see it. The trace is what the agent saw; the records are what the systems hold; the verdict comes from the production engine while you watch.
Loading the scenario…
Agent trace
what the agent sawPress Run to replay the agent's calls.
Systems of record
what actually happenedThe records appear here once the trace has played.
Verdict
from the production engineThe engine's verdict appears here.
What a trace-only judge said about this run
No model row for this scenario yet; the scripted run above is from the same harness. See the benchmark.
The contract that produced the verdict
The contract appears once the scenario has loaded.
The engine checks every run of refund/partial_completion against this contract: the effects that must appear in the systems of record within the window, and the ones that must never appear.
Run it against your own agent
The sandbox in the app runs this same scenario in your workspace, as a real verified action. Plug your own agent into the harness and the verdicts come from the same engine.
How the lab works
- Recorded runs, live verdicts. Each scenario is a real run of the benchmark sandbox with a scripted agent, recorded once. When you press Run, the browser replays the agent's calls and the records, then sends the action and the facts to CommitLayer as a dry run and shows what the engine answers now. If the engine cannot be reached, the verdict recorded with the run is shown and labelled as such.
- The agent's report is never evidence. The trace shows success because that is what the agent saw. The verdict reads only the systems of record: the payment system, the order system, the CRM, the ticketing system, the ledger and the platform.
- Delayed evidence is checked twice. When a connector reads stale data, the first check inside the window stays open; the lab compresses the 10-minute settlement window to 10 seconds and shows the re-check.
- Nothing here needs an account. Every run is a dry run under a fresh namespace, so no two visitors share records and nothing is stored.
Read the benchmark, see one full verification or read the methodology.