Index / ARD-Bench

ARD-Bench

A head-to-head retrieval measurement across the public ARD registries. Ground truth is the publishers' own representativeQueries, so nothing is hand-labelled, and the harness is open so the run can be reproduced or the task set replaced.

RegistryCoveragerecall@10 recall@10 when carriedMRR Median ms
neuronto (lexical only)1.00.98330.98330.923845
neuronto (hybrid + federated)1.00.96670.96670.8941912
GitHub Agent Finder0.00830.00831.00.00831912
WellKnown0.9250.48330.50450.4211153
Hugging Face Discover0.00830.00831.00.00836299
Desvela ARD Registry0.09170.06670.72730.055454
Read the conditioned column. `recall@k` is over all tasks and therefore mixes two things: whether a registry indexes the target at all, and whether it retrieves it. `coverage` is the fraction of targets a registry carries according to our own ingest records, and `recall@k_when_carried` is retrieval measured only on those. Compare the conditioned column. Our own coverage is 1.0 by construction, because tasks are built from our index, and that is an advantage of the task set, not a finding.
Known bias. queries are drawn from representativeQueries, and this registry weights that field highest in its own ranking (bm25 weight 9.0 of 9.0). Every registry indexes the same public manifests, so the field is equally available to all, but a registry that chooses not to weight it is penalised by our choice of ground truth. Read the absolute numbers with that in mind; the harness is published so the task set can be replaced.
Identifier matching. both sides normalised to the spec's urn:air: form before comparison, so a registry emitting urn:ai: is not scored as wrong

Harness: https://github.com/neuronto/neuronto/blob/main/app/bench.py. Machine-readable results: https://neuronto.com/bench with Accept: application/json.