Benchmark Support Status Criteria¶
Every benchmark in benchbox.core.benchmark_registry carries exactly one
support_status from the public support taxonomy: stable, beta,
experimental, repo_only, deprecated, or document_only. The registry is
the runtime source of truth; this page is the auditable rationale for why
each benchmark currently holds its status and what would have to change to
promote or demote it.
support_status is independent of two other registry fields:
surface(publicorinternal) controls discovery visibility. Arepo_onlybenchmark isinternal; abetabenchmark is stillpublic.supports_dataframeis a capability flag for DataFrame routing, not a support-level proxy. Abetabenchmark may be DataFrame-capable; anexperimentalone may not.
The taxonomy meanings, packaging, and breakage policy live in the
public contract map.
This page adds the benchmark-specific acceptance criteria and the
per-benchmark scoring. Status counts are checked against the registry in the
Count and Drift Policy;
the per-benchmark rows below are checked against the registry by
tests/unit/core/test_benchmark_api_contract.py.
Acceptance Criteria by Status¶
Promotion to (or demotion from) a status requires the evidence in this table.
The dimensions are benchmark-specific: a platform can be stable without owning
a dataset, but a stable benchmark must own a reproducible dataset contract,
a canonical query set, and result-integrity coverage.
Status |
User docs |
Result-integrity spec |
Query coverage |
Dataset contract |
Scale factors |
DataFrame claim |
Discovery & maintenance |
|---|---|---|---|---|---|---|---|
|
Full benchmark page with setup, tuning, and expected results. |
|
Complete canonical query set runs and validates. |
Reproducible generator or pinned external source with a documented contract. |
Official multi-scale range supported, not a single development scale. |
DataFrame parity verified when |
|
|
Benchmark page present with a beta caveat. |
Spec present, or the gap is documented as a promotion blocker. |
Core query set runs; canonical completeness may still be in progress. |
Dataset contract defined (generated, derived, or external). |
Development scales work; full official range may be unverified. |
Capability flag honored if set; parity not yet required. |
|
|
Experimental docs only; no support implication. |
Optional; many experimental benchmarks have no spec. |
Partial or research-shaped query set is acceptable. |
Dataset may be derived or research-only. |
Often a single or narrow scale range. |
Capability flag is informational only. |
|
|
Developer/project docs only. |
Not required. |
Whatever the contributor harness needs. |
Synthetic or contributor-only data is acceptable. |
Contributor-defined. |
Capability flag may be set for internal runs. |
|
|
Migration path documented. |
Retained until the removal window. |
Frozen at the last supported set. |
Frozen. |
Frozen. |
Frozen. |
Listed with a deprecation label or hidden after the warning window; removal follows a registry target. |
|
Docs must state it is not executable. |
None. |
None (no runtime). |
None. |
None. |
None. |
Not listed as runnable; not exposed over MCP. |
deprecated and document_only have no current benchmark members; the rows
above define the bar a future entry would have to meet.
Benchmark Status Rationale¶
One row per registry benchmark. The Benchmark, Status, parseable query-count
claim, and DataFrame capability claim are checked against
benchbox.core.benchmark_registry so status or evidence changes without an
updated rationale fail the contract test. Evidence dimensions: docs page,
integrity spec, query count, dataset/source, scales, and DataFrame capability.
Benchmark |
Status |
Rationale and evidence |
Promotion / demotion blockers |
|---|---|---|---|
|
|
Canonical 22-query TPC-H; dbgen-generated; integrity spec; full docs; scales to SF100000; DataFrame-capable. |
None — maintain. |
|
|
Canonical 99-query TPC-DS; dsdgen-generated (patched dsdgen for SF<1); integrity spec; full docs; scales to SF100; DataFrame-capable. |
None — maintain. |
|
|
13-query Star Schema Benchmark; generated; integrity spec; full docs; scales to SF10; DataFrame-capable. |
None — maintain. |
|
|
43-query industry-standard analytics; external |
None — maintain. |
|
|
113-query Join Order Benchmark; canonical IMDb 2013 JOB data; integrity spec; full docs; fixed |
None — maintain. |
|
|
38-query data-integration workload; generated; integrity spec; docs; scales to SF10; DataFrame-capable. |
Confirm canonical transform/query completeness and a maintenance commitment before |
|
|
10-query data-science groupby/join; generated; integrity spec; docs; DataFrame-capable. |
Broaden cross-platform coverage evidence before |
|
|
8-query big-data subset; generated; integrity spec; docs; DataFrame-capable. |
Small canonical subset; confirm dataset contract breadth before |
|
|
136-query read-primitive matrix; derived from TPC-H data; integrity spec; docs; DataFrame-capable. |
Pin the derived-from- |
|
|
12-query non-transactional writes; derived from TPC-H; integrity spec; docs; DataFrame-capable. |
Broad cross-platform write support still maturing. |
|
|
62-query catalog introspection; no data generation ( |
Cross-dialect catalog coverage still expanding. |
|
|
12-query ACID/isolation workload; derived from TPC-H; integrity spec ( |
ACID adapter coverage limited (PostgreSQL/MySQL/SQL Server adapters planned). |
|
|
11-query point-of-sale workload; generated; integrity spec; docs; DataFrame-capable. |
Confirm dataset/query stability before |
|
|
18-query time-series DevOps workload; generated; integrity spec; docs; DataFrame-capable. |
Time-series engine coverage breadth still expanding. |
|
|
25-query real-world OLAP; external NYC TLC data; integrity spec; docs; DataFrame-capable. |
External-dataset availability and a pinned source contract before |
|
|
20-query real-world aviation OLAP; external BTS data; integrity spec; docs; DataFrame-capable. |
External-dataset availability and a pinned source contract before |
|
|
6-query vector similarity; synthetic embeddings; docs; not DataFrame-capable. |
No integrity spec and ANN-recall validation still pending; capability is SQL-only. |
|
|
17-query denormalized One-Big-Table; derived from |
Single-scale subset of TPC-DS; still on the deprecated core base. |
|
|
16-query SQL AI functions; derived from TPC-H text; docs; core-only ID; not DataFrame-capable. |
Cloud-only AI functions, cost-gated, no integrity spec; intentionally research-only. |
|
|
220-variant optimizer stress (22 queries × 10 syntax variants); generated; integrity spec; docs; DataFrame-capable. |
Optimizer-stress research tool, not a standard comparison workload. |
|
|
22-query TPC-H over skewed distributions; generated; integrity spec; docs; DataFrame-capable. |
Non-canonical skew parameters; research workload. |
|
|
22-query Data Vault 2.0 variant; generated from TPC-H source; integrity spec; docs; DataFrame-capable. |
Modeling-variant research; still on the deprecated core base. |
|
|
13-query synthetic Join Order scaling harness; |
Public/beta promotion would need user docs, an integrity spec, and a separate |
Promotion Candidates and Blockers¶
Recorded as explicit follow-up work rather than reviewer memory. None of these are applied here: this matrix documents status, it does not change it.
vector_search(beta → stable candidate, blocked): the only missing piece for the integrity dimension is aBenchmarkSpec. Adding one (and a DataFrame routing decision) is the concrete blocker. Tracked as a deferred follow-up onbenchmark-support-status-criteria-matrix.External-dataset betas (
nyctaxi,flightdata): promotion is gated on a pinned, reproducible external-source contract, not on query coverage.Deprecated-base experimentals (
tpcds_obt,datavault): their status is partly coupled to thebenchbox.core.base_benchmark.BaseBenchmarkmigration; reassess after that base is removed.