← ClaudeAtlas

eval-set-builderlisted

Build an evaluation set from real traffic and check whether it is large enough to support the error budget being claimed. Use when someone wants to measure model accuracy, certify an error rate, decide if a model is safe to deploy, or asks "how many test cases do we need". Refuses to certify a budget the sample cannot support.
ityaadiii/skills-that-say-i-dont-know · ★ 0 · AI & Automation · score 70
Install: claude install-skill ityaadiii/skills-that-say-i-dont-know
# Building an eval set that can actually answer the question Most eval sets are assembled to a round number. Someone picks 50 or 100 items because those feel like enough. Then a 2% error budget gets claimed off a sample that could never have detected a 2% error rate in the first place. ## The refusal **If the sample is too small to certify the budget, say so and stop.** Do not report a pass. "No errors found in 60 items" is a fact about the sample, not about the model. Rule of three: with zero observed errors in n items, the 95% upper bound on the true error rate is roughly 3/n. Certifying "under 2%" therefore needs about 150 clean items. Under 1% needs 300. ```bash node lib/stats.ts # see certifies() and minItemsToCertify() ``` Run `certifies(errors, n, budget)` and report `upperBound`, not the point estimate. ## Procedure 1. **Get the budget first.** Ask what error rate the process can absorb before anyone picks a sample size. If nobody can answer, that is the finding. Stop there. 2. **Compute the floor.** `minItemsToCertify(budget)`. State it before any data is collected, so the number is not negotiated after the fact. 3. **Sample from real traffic, not from imagination.** Generated or hand-written items are easier than production and will overstate accuracy. If only synthetic data is available, label the whole result as non-evidential. 4. **Stratify by the slices that matter** (channel, language, document type, region). An aggregate that hides a c