note · evergreen

Measure, or it didn't happen

A golden set with negatives, a ledger in the README, and the beliefs the numbers overturned.

The rule of the repo: no retrieval flag changes its default without a JSON in evals/results/. "It seems better" is not a result.

the harness
golden42 positives + 13 negatives
runauto · k=8
scoreRecall@8 · MRR · abstain · false-weak
ledgerREADME table

The golden set is 19 English prose questions, 19 Turkish, 4 symbols, and 13 questions whose answer is not in the repo. Every run also prints p50/p95 and a calibration block. Repo-specific sets stay out of git — they contain internal paths.

What the numbers overturned

BeliefMeasuredDecision
always fuse dense + BM25MRR 0.604 vs 0.690 routedroute by query shape
a cross-encoder reranker helpsMRR 0.690 → 0.514, +2–4 sflag, default off
a reranker can gate 'no answer'29% false alarmthree cosine bands instead
folder → role tags make embeddings smarterfixed 0 of 11 missesnot built
more languages = big winAST vs windows: 1 question, MRR +0.09generic rule, zero per-language code
Turkish needs a better matchertext was missing, not matching: 0.04 → 0.684 → 0.932multilingual embedder + optional enrichment

Half the table is things we were sure about. That is the reason the table exists.

#evals #golden-set #ledger

See this note on the whiteboard →