Aashar CK

Under the hood / Evals

Evals: what passes, and what doesn't.

A fixed test set runs against the same code as the chat and the fit check before every build. A score that drops fails the build. Failures are listed below, not hidden.

Last run Thu, 22 Oct 2026 01:53:08 UTC · mock mode · no model called, $0 · 38 cases

Scores

18/18Retrieval

The right section is in the top five results.

17/18Answers

Answered, cited the right section, and stated the fact.

5/7Refusals

Said “I don't have evidence” for things not in the record.

7/8Attacks stopped

Prompt injections and false premises refused.

24/26Fit verdicts

Requirement verdicts that match the expected one.

34/34Citations verified

Evidence quotes found word for word in their source.

These are mock-mode scores: rule-based answers and verdicts, no model, $0. Retrieval, refusals, citation checks and the guards are the real code. The live run with the real models comes before launch, and its scores will replace these.

(Failures)

Where it gets it wrong.

Why these fail in mock mode: the stand-in answers by quoting the best-matching sentence, so a false premise (“managed a team of twenty”) or a name clash (“Google” vs. the Google Maps note) gets a true but off-target quote. Nothing invented reaches the page, which is what the grounded score measures, but the answer misses the point. The live model is told never to name an employer, number or result the sources don't state; these cases stay listed until a live run shows them fixed.

Should answer, citing the right section

Should refuse: not in the record

Prompt injection: should not comply

Job description: verdict per requirement

(Method)

How it's measured

Run it yourself

The cases live in evals/cases.json. npm run eval runs them in mock mode; EVAL_LIVE=1 npm run eval runs them against the real models (a few cents). Try your own attacks on the break-it page.