diff --git a/apps/dashboard/src/components/EvalDetail.tsx b/apps/dashboard/src/components/EvalDetail.tsx index 8ce4d45da..9154c7563 100644 --- a/apps/dashboard/src/components/EvalDetail.tsx +++ b/apps/dashboard/src/components/EvalDetail.tsx @@ -66,6 +66,19 @@ function caseTrialPath(trial: EvalCaseTrial, index = 0): string { return trial.attempt_path ?? trial.run_path ?? `attempt-${trial.attempt ?? index + 1}`; } +function trialNumber(trial: EvalCaseTrial, index = 0): number { + if (typeof trial.sample_index === 'number') return trial.sample_index; + if (typeof trial.attempt === 'number') return trial.attempt + 1; + return index + 1; +} + +function trialDisplayLabel(trial: EvalCaseTrial, index = 0): string { + const label = `Attempt ${trialNumber(trial, index)}`; + return typeof trial.retry_index === 'number' && trial.retry_index > 0 + ? `${label} retry ${trial.retry_index}` + : label; +} + function caseTrialTokenTotal(trial: EvalCaseTrial): number | undefined { if (trial.total_tokens != null) return trial.total_tokens; const usage = trial.token_usage; @@ -564,10 +577,16 @@ function TrialActionRow({ onSelectTrial?: (trial: EvalCaseTrial, initialTab?: Tab) => void; }) { const label = caseTrialPath(trial, index); + const displayLabel = trialDisplayLabel(trial, index); return (
+ Aggregate across {group.trialCount} attempts for this test case. +