The case to BYOB: build your own (coding) benchmarks A team led by @oh_an_opinion built an internal coding benchmark from its own merged pull requests and found that, depending on task complexity, cheaper and faster agent setups matched frontier Anthropic and OpenAI models within run-to-run variation while cutting cost by roughly 5× to two orders of magnitude and sometimes halving completion time. Tested on 15 additional randomly selected PRs, a router derived from those evaluations maintained quality at about 7× lower cost than Claude Code + Fable 5.1 and Codex + Astra, the team reported in September 2026. The team said no single setup won everywhere, justifying granular per-task routing, and cautioned the findings are directional and based on a small sample rather than a leaderboard. BYOB Build your own benchmarks Your own coding benchmarks can benefit cost, time and quality. @oh an opinion https://x.com/oh an opinion , September 2026 Public benchmarks are less useful than you want them to be. They have been optimized against and are not specific to your repos, conventions, workflows or ticket writing style. So we turned our own merged PRs into a benchmark. It measures agentic setups models, harnesses, skills, and the rest on quality, cost and speed, on the work we actually do. The results drive a router that picks a setup per task. Depending on task complexity, we found setups that were cheaper and faster than the frontier models while scoring within run-to-run variation of them. No single setup won everywhere: different combinations of parameters performed differently together and across task types, justifying granular routing. We think you can and should do the same. Here we show our approach, and a subset of our codebase-specific data that is part of our internal benchmark. Depending on the task, we found setups that performed similarly or better while reducing cost by roughly 5× to two orders of magnitude and, in some cases, cutting completion time by half or more. We tested the router derived from these evaluations on 15 additional randomly selected PRs and found it maintained quality at ~7× lower cost than Claude Code + Fable 5.1 and Codex + Astra. These findings are directional, specific to our work, and based on a small sample. Treat this as an exploration of an approach, not a leaderboard. 01How a PR becomes an eval A merged PR that passes requirement gates gives you a ticket, a pre-merge tree and a gold diff. Each task is a whole engineering ticket. The agent must understand the requirements, coordinate changes across the codebase, and check the result. We measure the full attempt’s cost and time, then grade the work remaining before merge. Our low, medium, and high complexity bands describe these whole tickets. The complexity rubric considers scope, depth of logic changes, and risk: low covers small, well-tested, localized changes; medium covers moderate scope or logic depth; high covers large changes, changes spanning many files or directories, or risky logic. 1. 01 Select the task A merged PR that clears five trust gates. 2. 02 Ticket is the prompt The agent sees the ticket, never the merged patch. 3. 03 Run a setup Model, harness, skills and more on the pre-merge tree. 4. 04 Grade the run Repo checks, ten specialized agents, then three grading agents. Hidden-test pass rates tell you how often a setup satisfies a benchmark’s test cases, but they are an incomplete measure of code quality. They can miss incomplete requirements, security issues, and maintainability problems. We assess the work remaining before merge across multiple criteria. Ten specialized agents each examine one dimension of the code, then three grading agents assess the code alongside their findings. We measure cost and time alongside quality. 02What we found Cheaper and faster setups matched frontier Anthropic and OpenAI models within run-to-run variation on our PRs. Different setups performed best across task types and complexity bands, giving us a basis for routing each ticket to a suitable setup. The charts below are a subset of original-ticket runs on our Python backend PRs: multiple repeats of different combinations of models, harnesses, skills and topologies: a single implementer or defined planner, implementer, and reviewer roles PIR . Quality is the judge’s 0–1 score for work remaining to merge: 0.85 and above merges with at most non-critical suggestions, 0.95 and above is a clean merge, below 0.7 does not merge. Pareto Frontiers Pareto Codex+Astra / CC+Fable 5.1 Pareto cheaper and faster Codex+Astra / CC+Fable 5.1 OpenCodePiCodexClaude Code ClaudeGPTGLMGrokDeepSeekKimiGeminiMiniMaxQwenMuse Color is the implementer family. Shape is the harness: circle OpenCode, diamond Pi, triangle Codex, square Claude Code. Cyan marks identify Codex+Astra and Claude Code+Fable 5.1. Hover any point for the setup name. Quality 0.8, plus reference comparisons. Cyan Astra and Fable 5.1 comparisons remain visible below the cutoff; low-complexity Fable 5.1 scores 0.788. Faster is left; cheaper is down. Pareto is cheaper and faster, not higher quality. Merge rate is the share of that setup’s runs scoring ≥0.85. It is not the same as mean quality. Low · 3 PRs · 46 setups Medium · 4 PRs · 60 setups High · 2 PRs · 66 setups Low · 3 PRs · 46 setups Medium · 4 PRs · 60 setups High · 2 PRs · 66 setups Low · 3 PRs · 46 setups Medium · 4 PRs · 60 setups High · 2 PRs · 66 setups Low · 3 PRs · 46 setups Medium · 4 PRs · 60 setups High · 2 PRs · 66 setups How to read these charts Each point is one setup’s mean quality on that complexity band. A high mean can still hide runs that fall under the merge floor; we still draw the frontier on the mean. The gold horizontal is the mean human score on that band’s PRs. Whiskers are shown on the Pareto frontier and on the cyan comparisons Codex+Astra and Claude Code+Fable 5.1 . They report the standard error of that mean sd of per-PR means over √n