Everything is opt-in: a fresh project applies no scorer at all, and the page’s footer says so
plainly - nothing is judged until a scorer is enabled. Operational outcomes (trace errors, tool
failures, empty responses) are not scorers and need no enabling: the trace itself recorded
them, and they feed the KPI failure metrics directly.
In this section
- Scorer groups - compose any of the below into one weighted 0-10 score
- LLM judge scorers - one rubric, graded online and offline
- Template & pattern scorers - deterministic rules, zero LLM cost
- Custom scorers - your own endpoint or in-engine
handler()code - Code scorers in offline runs - the same code scorers attached to dataset grading
- User feedback and outcome reports - the ground truth that calibrates your judges
- Coming from DeepEval - metric-name mapping and an honest gap list
The two grading modes
The same scorer runs on two surfaces with one structural difference: every offline dataset case carriesexpected_results; no live trace ever does. The judge handles this with one rubric and
two modes:
Because both modes anchor on the criteria, a 7 online and a 7 offline answer the same question
(“does this meet the criteria?”) - the reference just adds factual strictness where one exists.
This is the industry “reference-guided grading” pattern, applied so one scorer honestly serves
both surfaces instead of you maintaining two.
The exception: a rubric that is about the reference itself - RAG: Contextual Recall
(“does the context cover what the expected answer needs?”) or a custom “matches the reference
exactly” prompt - has nothing to grade without one. Mark it Needs a reference answer in the
editor: the engine then refuses to enable live scoring for it (HTTP 409) and offline runs skip
any case that lacks
expected_results with an explicit reason, instead of judging emptiness.
The list
- Stat strip: how many scorers are enabled, how many are firing this week, total signal occurrences in the window, and how many are available but off.
- Filters: scope pills (All / Enabled / Firing / Off), a kind filter, and search. Rows sort newest first.
- The table is yours: it lists what you created or enabled. Pre-existing material - built-in patterns, seeded judge templates, the built-in session judge - stays in the Template scorer picker until enabled or added, so a new project’s table holds exactly what you made.
- Signals · 7d: the payoff column - each enabled scorer’s signal count for the week with a daily sparkline, “None yet” for enabled-but-quiet, “Not running” for disabled.
- Enabled: a toggle, right on the row. Built-in templates store this project-wide
(
enabledBuiltinPatternsin monitoring defaults); the other kinds carry their own flag. - Row actions: click a row (or its menu) to open the scorer’s editor - built-in templates open read-only with an “Exactly what it checks” list of their literal rules; LLM judges also get Ratings (score-over-time) and Tune judge (rewrite criteria from calibration evidence). Both are live-traffic surfaces, so a judge with no online profile yet hides Ratings and shows Tune judge disabled, with a tooltip telling you to enable online scoring and let it score some traffic first.
handler(), run in-engine), or an external endpoint - plus Template scorer: the library of
ready-made material. Adding an LLM judge template clones it into your own editable copy;
built-in patterns and the session judge switch on in place.
First run
For a clean project - nothing enabled and nothing of your own created yet - the page opens as a starting point instead of a wall of paused rows: recommended templates to switch on with one click (all zero-LLM-cost, plus the built-in Session Baseline Judge), or jump straight into authoring your own. Creating any scorer of your own exits this state immediately, even with live scoring off.Where scorer verdicts land
An enabled scorer’s hits raise signals - deduped rows queued for verdicts on the Review tab, with Monitor charting their volume and each live judge’s score trend. Judge scorers additionally record a rating per sampled trace whether or not it crossed the alert threshold, feeding Judge Calibration against outcomes and user feedback.What moves which metric
Not everything that raises a signal reclassifies the run - build alerting on the right surface:
The practical consequence: an alert built on
failureRate will see operational failures and
pattern hits, but NOT code-scorer, external-scorer, or judge verdicts - watch those scorers’
own signals and per-scorer event history (or the Scorers page’s Signals column) instead.

