namespace AIStudio.Assistants.ModelComparison; /// /// What a comparison run brought back: the answers of the two models. /// public sealed record ModelComparisonRunResult { /// /// When the run ended. Both answers are shown with this one time: a time of their own would /// tell the faster model from the slower one. /// public DateTimeOffset Time { get; init; } = DateTimeOffset.Now; public required ModelComparisonAnswer First { get; init; } public required ModelComparisonAnswer Second { get; init; } /// /// What an optional judge said about the two answers, or null when no judge was asked, or when /// there was nothing for it to judge because at least one model did not answer. /// public ModelComparisonJudgeVerdict? Judge { get; init; } /// /// Whether both models answered. Only then there is anything to vote on: a vote between an /// answer and a failure would say nothing about the models. /// public bool BothCompleted => this.First.Completed && this.Second.Completed; }