.NET API
RunJudgment
Tracon.Abstractions.dllThe judge’s verdict: the named scores it produced.
public sealed record RunJudgment : IEquatable<RunJudgment>- Inheritance
- object ← RunJudgment
- Implements
- IEquatable<RunJudgment>
- Inherited Members
- object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Remarks
Section titled “Remarks”A judge that reports one overall verdict returns a single JudgeScore named after itself. A judge that bridges a metric catalog returns one entry per metric. Each entry becomes its own RunScore row.
An empty list means the judge reached no decision, and nothing is written. It is not an error and it is not a score of zero.
Constructors
Section titled “Constructors”RunJudgment()
Section titled “ RunJudgment()”public RunJudgment()Fields
Section titled “Fields”MaxReasonLength
Section titled “ MaxReasonLength”The greatest stored reason length.
public const int MaxReasonLength = 4000Field Value
Section titled “Field Value”Properties
Section titled “Properties”EvaluatorVersion
Section titled “ EvaluatorVersion”The version of the component that produced this judgment, when the judge knows one. Written onto every score row as RunScore.EvaluatorVersion.
public string? EvaluatorVersion { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”null — the default — means no version is reported, which is what a judge whose verdict depends on no versioned component should return. It never means “version zero”.
A judge that grades through a package scores against that package’s prompt, so upgrading the package moves the scores while the model stays the same. Reporting the version here is what lets a reader tell a real regression from a changed judge. Resolve it once, when the judge is constructed, rather than on each call.
At most RunScoreRules.MaxEvaluatorVersionLength characters; a longer value is a contract failure and the judge’s scores are not written.
Scores
Section titled “ Scores”The scores the judge produced. Empty when it reached no decision.
public IReadOnlyList<JudgeScore> Scores { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”Names must be distinct within one judgment; JudgeScore.Name is part of the stored uniqueness key, so a repeated name would overwrite the earlier row. A duplicate is reported as a contract failure and nothing is written for that judge.
Methods
Section titled “Methods”Equals(object?)
Section titled “ Equals(object?)”public override bool Equals(object? obj)Parameters
Section titled “Parameters”obj object?
Returns
Section titled “Returns”Equals(RunJudgment?)
Section titled “ Equals(RunJudgment?)”public bool Equals(RunJudgment? other)Parameters
Section titled “Parameters”other RunJudgment?
Returns
Section titled “Returns”GetHashCode()
Section titled “ GetHashCode()”public override int GetHashCode()Returns
Section titled “Returns”ToString()
Section titled “ ToString()”public override string ToString()Returns
Section titled “Returns”Operators
Section titled “Operators”operator ==(RunJudgment?, RunJudgment?)
Section titled “ operator ==(RunJudgment?, RunJudgment?)”public static bool operator ==(RunJudgment? left, RunJudgment? right)Parameters
Section titled “Parameters”left RunJudgment?
right RunJudgment?
Returns
Section titled “Returns”operator !=(RunJudgment?, RunJudgment?)
Section titled “ operator !=(RunJudgment?, RunJudgment?)”public static bool operator !=(RunJudgment? left, RunJudgment? right)Parameters
Section titled “Parameters”left RunJudgment?
right RunJudgment?