.NET API
JudgeScore
Tracon.Abstractions.dllOne named score produced by an IRunJudge.
public sealed record JudgeScore : IEquatable<JudgeScore>Inheritance
Section titled “Inheritance”Implements
Section titled “Implements”Inherited Members
Section titled “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 returns a list of these, and Tracon writes each one as its own RunScore row. JudgeScore.Name is part of the stored uniqueness key, so two scores a judge returns for the same run must not share a name; the second would overwrite the first.
A judge’s headline score is the one whose
JudgeScore.Name equals IRunJudge.Name. Only the headline
score feeds the online-evaluation window (its average and the
run.score.low alarm) and the tracon.judge.score
histogram, because both are defined on the 0-100 quality scale. A score
under any other name is stored and readable, but it is never mixed into
that average — a judge that reports several metrics on several scales
would otherwise corrupt it.
A null JudgeScore.Value records that the judge made no measurement, which is not the same as a measurement of zero. A judge that prefers to write nothing at all returns no JudgeScore for that metric instead.
Constructors
Section titled “Constructors”JudgeScore()
Section titled “ JudgeScore()”public JudgeScore()Properties
Section titled “Properties”Comment
Section titled “ Comment”The reason, written into RunScore.Comment.
public string? Comment { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”Truncated to RunJudgment.MaxReasonLength characters before it is stored.
The shape of the value.
public required RunScoreKind Kind { get; init; }Property Value
Section titled “Property Value”The score’s stable, low-cardinality name.
public required string Name { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”Must match [A-Za-z0-9._-]{1,64}; RunScoreRules
carries the rule. A judge that reports a single overall verdict uses its
own IRunJudge.Name here.
TextValue
Section titled “ TextValue”The categorical value. Set only for a RunScoreKind.Categorical score.
public string? TextValue { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”At most RunScoreRules.MaxTextValueLength characters.
The numeric value: 0/1 for RunScoreKind.Binary, 1 to 5 for RunScoreKind.Stars, 0 to 100 for RunScoreKind.Numeric.
public double? Value { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”null means no measurement was made, not zero. Always null when JudgeScore.Kind is RunScoreKind.Categorical. A value outside its kind’s range is a contract violation: the score is not written and the judge is reported as failed.
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(JudgeScore?)
Section titled “ Equals(JudgeScore?)”public bool Equals(JudgeScore? other)Parameters
Section titled “Parameters”other JudgeScore?
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 ==(JudgeScore?, JudgeScore?)
Section titled “ operator ==(JudgeScore?, JudgeScore?)”public static bool operator ==(JudgeScore? left, JudgeScore? right)Parameters
Section titled “Parameters”left JudgeScore?
right JudgeScore?
Returns
Section titled “Returns”operator !=(JudgeScore?, JudgeScore?)
Section titled “ operator !=(JudgeScore?, JudgeScore?)”public static bool operator !=(JudgeScore? left, JudgeScore? right)Parameters
Section titled “Parameters”left JudgeScore?
right JudgeScore?