Surfil

Run a benchmark with Bench

Generic model leaderboards don't tell you which model is best on your codebase. Bench measures models on your own repo and tasks, then signs the result so you - or a client - can reproduce it.

Run it

  1. Pick the repo on the Bench screen (or pass it on the CLI).
  2. Run surfil bench. It runs your tasks across the candidate models and measures fixes-per-task, cost-per-task, and quality.
  3. Read the leaderboard - lower fixes-per-task at equal quality, and lower cost at equal quality, win.
$ surfil bench --repo acme/api
✓ 40 tasks measured across 3 models
✓ receipt signed (bench_rcpt_7c1, epoch 7)

The signed receipt

Every benchmark produces a receipt that records the method, not just the score: repo, task count, the measurement window, and the false-positive / false-negative rates. That is the honest-claims stance in practice - no fixed injection rate, no invented numbers, just a measurement you can check with surfil verify.

  • Reproducible - the receipt states the exact window and task set.
  • Portable - hand it to a client; they verify it offline.
  • Actionable - route Cap to the winning model straight from the result.
Bench is the quality stage of the pipeline- its measurements feed Cap's model routing, so a benchmark isn't a one-off; it improves every later cost decision.