RunScore
AgentPrism.Abstractions.dllA human (or judge) score for a run or for a single message within a run.
public sealed record RunScore : IEquatable<RunScore>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”If RunScore.MessageId is empty, the score belongs to the whole run; if set, it belongs to a single message.
An author (RunScore.Author) scores the same target (a run or a message) once — a second write updates the existing row, IRunScoreStore.UpsertAsync. When RunScore.Author is empty (an identity-less setup), this rule does not apply; every call opens a new row.
Constructors
Section titled “Constructors”RunScore()
Section titled “ RunScore()”public RunScore()Properties
Section titled “Properties”Author
Section titled “ Author”The actor who gave the score. null in an identity-less setup.
public string? Author { get; init; }Property Value
Section titled “Property Value”Comment
Section titled “ Comment”A free-text comment.
public string? Comment { get; init; }Property Value
Section titled “Property Value”CreatedAt
Section titled “ CreatedAt”The creation/last-updated time.
public DateTimeOffset CreatedAt { get; init; }Property Value
Section titled “Property Value”The score’s identifier.
public Guid Id { get; init; }Property Value
Section titled “Property Value”The shape of Value.
public required RunScoreKind Kind { get; init; }Property Value
Section titled “Property Value”MessageId
Section titled “ MessageId”The identifier of the message being scored. If empty, the score belongs to the whole run.
public string? MessageId { get; init; }Property Value
Section titled “Property Value”The identifier of the run being scored.
public required Guid RunId { get; init; }Property Value
Section titled “Property Value”Source
Section titled “ Source”The score’s source: human, api, or judge. Today
only human is used; the column is set up from the start so
online evaluation can write a judge score into the same table as-is.
public required string Source { get; init; }Property Value
Section titled “Property Value”TenantId
Section titled “ TenantId”The tenant.
public required string TenantId { get; init; }Property Value
Section titled “Property Value”The score value. 0/1 for RunScoreKind.Binary, 1.5 for RunScoreKind.Stars.
public required int Value { get; init; }Property Value
Section titled “Property Value”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(RunScore?)
Section titled “ Equals(RunScore?)”public bool Equals(RunScore? other)Parameters
Section titled “Parameters”other RunScore?
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 ==(RunScore?, RunScore?)
Section titled “ operator ==(RunScore?, RunScore?)”public static bool operator ==(RunScore? left, RunScore? right)Parameters
Section titled “Parameters”left RunScore?
right RunScore?
Returns
Section titled “Returns”operator !=(RunScore?, RunScore?)
Section titled “ operator !=(RunScore?, RunScore?)”public static bool operator !=(RunScore? left, RunScore? right)Parameters
Section titled “Parameters”left RunScore?
right RunScore?