Routing
routing on every Responses create is what you ask for (smart, learning, learning-all, a named runner, a category, or an ordered list). Banana Peel then executes on a runner (Browserbase, Steel, Skyvern, Hyperbrowser, Playwright, Deck, …). Response field banana_peel.runner is the runner that ran. Learning and learning-all exist to teach the router the best path: they calibrate the routing brain on a domain/task so later smart runs pick the winning runner.
Modes
smart— production: the router uses the brain to pick and fall back; prefers a prior Learning ranking when presentlearning/learning-all— teach the router the best path (paid calibration; not production).learningprobes the live ~54-single-runner pool;learning-allsweeps the full catalog. Then switch back to smart — see Learning mode- Named runner — pin one engine by slug, e.g.
"skyvern" - Array — ordered primary + fallbacks
- Category — MVP fixed runner pools (
SOC2,HIPAA,EU); not full compliance attestation
Outcomes feed the benchmark
Each finished run updates internal per-domain scores used by smart routing, and rolls up into the public benchmark — a per-runner leaderboard aggregated across all domains.