ReadonlytypeUnique type identifier for this oracle. Used in test configuration to specify which oracles to run.
Static ReadonlyDEFAULT_The per-criterion pass probability used when the config sets none, until calibration (Task 2.4) sets real values.
Static ReadonlyDEFAULT_The decision prompt used when the config names none.
Evaluate output with a typed decision: one Likelihood question per criterion, in one call.
Oracle input with the criteria, the expected output and the actual output
Oracle configuration
Oracle result with the per-criterion probabilities; failed, never thrown, on any error
Decision Judge Oracle.
Judges output against the same criteria, and the same trace, as LLMJudgeOracle, but asks a typed decision model instead of parsing an LLM's JSON. Each criterion becomes one Likelihood question, "The response satisfies:", and every question travels in one
AIDecisionRunnercall. The pass rule and the weighting live here, in code, not in the prompt.Criteria come from
expectedOutput.judgeValidationCriteria, or else fromconfig.criteria, as for the LLM judge. Each is either a string or{ "criterion": "...", "weight": 2 }. A weight of 0 keeps a criterion out of the score but not out of the pass rule; at least one weight must be above 0.Configuration:
Result:
passThresholdcriteriaProbabilities(one entry per criterion),passThreshold,promptName,decisionRunId(theMJ: AI Prompt Runsrow),decisionModel, andllmCost, the decision call's cost, under the key the LLM judge uses for its own. It is saved with the result details (TestRun.ResultDetails) but, as for the LLM judge, it is not added toTestRun.CostUSD.A failed decision call gives a failed result with the error message. The oracle never throws.
Example