haiku.rag/evaluations/evaluations
Yiorgis Gozadinos 3f9066f4f9
Ask the multi-database questions and score them deterministically
Two dataset keys, because an S-family surface question cannot pass under
the RAG target and scoring it there would be noise: multidb carries the
behaviour families, multidb_surfaces the sandbox surfaces.

Scoring is deterministic. The answers are known numbers, names and counts,
so a red gate means the code is broken rather than that a judge spiralled.
Numbers are extracted and compared, since "1,240 metres" and "1240 m" are
both legitimate. B1 and B3 require the gold value present AND the twin's
absent: a hedge naming both elevations passes a presence check while
demonstrating the confusion those families exist to provoke. Refusals stay
judged, via the answerability labels the existing RefusalJudge reads, since
a phrase matcher keys on wording the model may never use.

B3 and B4 carry 9 and 10 instances because their gates are pass/fail and a
handful of cases is not evidence of absence. Half the B4 instances ask about
a near-name pair member with its twin excluded, so honouring scope costs the
model the other strong match instead of being free.

B2 rotates the order it lists the databases. RRF ties resolve to insertion
order, which is the configured order, so a fixed order would measure
ordering rather than fusion.

A scope travels in the case inputs via ScopedQuestion, since the task
function receives inputs and never metadata.
2026-08-27 09:26:52 +03:00
..
datasets Ask the multi-database questions and score them deterministically 2026-08-27 09:26:52 +03:00
evaluators Ask the multi-database questions and score them deterministically 2026-08-27 09:26:52 +03:00
__init__.py Restructure into uv workspace to support minimal and full installations 2025-11-04 17:59:12 +02:00
artifacts.py Split the evaluation benchmark by responsibility 2026-08-20 14:08:09 +03:00
benchmark.py Name the evaluations set check for what it answers 2026-08-26 13:04:06 +03:00
capability_runner.py Thread per-case source scope through the capability runner 2026-08-27 09:26:52 +03:00
config.py Ask the multi-database questions and score them deterministically 2026-08-27 09:26:52 +03:00
experiment.py Split the evaluation benchmark by responsibility 2026-08-20 14:08:09 +03:00
numbers.py Normalize unicode signs 2026-06-06 14:52:04 +03:00
population.py Split the evaluation benchmark by responsibility 2026-08-20 14:08:09 +03:00
qa.py Ask the multi-database questions and score them deterministically 2026-08-27 09:26:52 +03:00
retrieval.py Name the evaluations set check for what it answers 2026-08-26 13:04:06 +03:00
submission.py replace haiku.skills with native Pydantic AI capabilities 2026-07-24 15:26:17 +03:00