AI benchmark relevance registry
Source of truth for which benchmarks are relevant right now, and how much weight each carries when ranking models. Consumed by:
services/ai/curator(Loop C) — proposes additions/relevance changes fromthe vetted allowlist + an LLM/web scan. The scan only enqueues candidates (see Candidate queue); a benchmark enters the decision weighting only after internal-staff vetting (contamination / methodology / trust).
services/ai/eval— selects which suites to run and how to weight scoresinto per-task rankings; the tiered runner (stack-RFC-008 D4) reads
tier.services/ai/curator(Loop A) — combines modelreg benchmark rows with therelevanceweights here to rank the served set.
Why this exists. Rankings that decide which models Koder AI serves are only as good as the benchmarks behind them. Suites saturate (everyone scores ~100%), get contaminated (leak into training data), or get superseded by better ones (SWE-Bench Pro, BrowseComp, MCP Atlas all emerged recently). This registry keeps the decision basis current and auditable rather than frozen.
Machine-readable canonical — ai-benchmarks.json
This .md is the human view. The single source of truth consumed by code is the sibling ai-benchmarks.json — one row per benchmark/suite with relevance, weight, tier, trust, modality.
Because the two Go consumers live in separate module roots (they cannot share a go:embed), each vendors a byte-identical copy of the canonical and reads the columns it needs:
services/ai/eval/internal/benchtier/ai-benchmarks.json→ projectstier(tiered suite selection).
services/ai/curator/backend/internal/benchreg/ai-benchmarks.json→ projectsrelevance/weight(Loop A ranking; a row withweight > 0is a ranking benchmark, others are runnable-only suites present for theirtier).
Drift between the copies and the canonical is a CI failure, not a silent bug: audit-ai-benchmarks.sh (workflow .gitea/workflows/audit-ai-benchmarks.yml) cmps all three. To edit the registry, change ai-benchmarks.json, then cp it over both vendored copies (the guard prints the exact command on drift). Loop C (CURATOR-006) regenerates the canonical as the vetted set changes. Architectural decision: stack-RFC-008 + resolved EVAL-013 remainder (chose vendored-copy + CI guard over a runtime-loaded file or a shared module — keeps binaries self-contained, no new module edge).
Schema
| Column | Meaning |
|---|---|
slug |
Benchmark id (kebab-case). |
modality |
text code agentic vision audio video embedding multimodal. |
measures |
One-line capability the benchmark probes. |
source |
Canonical vetted source/leaderboard (allowlist backbone). |
relevance |
Decision-weight tier: high medium low emerging. |
tier |
Eval cost tier (stack-RFC-008 D4): triage (cheap/ingest external) or full (self-hosted suite on s.khost1). |
freshness |
Last reviewed (YYYY-MM); saturated if discriminative power lost. |
trust |
vetted (in decision weighting) · candidate (in vetting) · deprecated. |
contamination |
clean · at-risk · contaminated. |
notes |
Saturationsuperseded-bymethodology caveats. |
Allowlist — vetted sources (Loop C backbone)
The polled, trusted sources whose published results feed the ranking deterministically. New sources are added by internal staff, not by the scan.
| Source | Covers |
|---|---|
| LMArena (Chatbot Arena) | Human-preference Elo, broad |
| Stanford HELM | Holistic multi-metric |
| Artificial Analysis | Cross-provider qualitycostlatency |
| OpenLLM Leaderboard | Open-weight standardized |
| SWE-bench / SWE-bench Pro | Real-world software engineering |
| Terminal-Bench | Agentic terminal/tool use |
| Papers-with-Code | Emerging benchmark discovery (cross-check) |
Benchmarks — vetted (in decision weighting)
| slug | modality | measures | source | relevance | tier | freshness | trust | contamination | notes |
|---|---|---|---|---|---|---|---|---|---|
| swe-bench-pro | code | real-world multi-file SWE tasks | SWE-bench | high | full | 2026-06 | vetted | clean | current code-agent gold standard; harder successor to SWE-bench Verified |
| terminal-bench-2.1 | agentic | terminal/tool-use task completion | Terminal-Bench | high | full | 2026-06 | vetted | clean | agentic ops/coding signal |
| browsecomp | agentic | web-browsing research tasks | OpenAI/Arena | high | triage | 2026-06 | vetted | clean | MiniMax M3 surfaced this (83.5 > Opus 4.7 79.3) |
| mcp-atlas | agentic | MCP tool-orchestration | community | medium | full | 2026-06 | vetted | clean | tool-use breadth |
| lmarena-elo | text | human-preference Elo | LMArena | high | triage | 2026-06 | vetted | clean | broad all-rounder; ingest-only |
| mmlu-pro | text | knowledge/reasoning (harder MMLU) | HELM/OpenLLM | medium | triage | 2026-06 | vetted | at-risk | MMLU (original) saturated+contaminated; Pro variant preferred |
| omnidocbench | multimodal | document understanding | community | medium | full | 2026-06 | vetted | clean | multimodal doc signal |
| kode-private | code | Koder Stack awareness (internal) | servicesaieval | high | full | 2026-06 | vetted | clean | NEVER published (anti-contamination); see evalbenchmarksleaderboard.md |
Candidate queue — proposed by Loop C scan, awaiting staff vetting
Benchmarks the LLM/web scan surfaced that are not yet in the decision weighting. Promotion to vetted requires contamination + methodology + trust review by internal staff (control-plane). Nothing here affects rankings.
| slug | modality | source | proposed | status | vetting note |
|---|---|---|---|---|---|
| (none yet — populated by curator Loop C once implemented) | — | — | — | — | — |
Deprecated / saturated (kept for audit)
| slug | reason | superseded-by |
|---|---|---|
| mmlu | saturated (~90%+) + known contamination | mmlu-pro |
| humaneval | saturated; narrow | swe-bench-pro |