/** * Hero aggregates for a published run: population-scale counts followed by the * headline quality metrics. Precision/recall are annotated with sampling-verified * confidence intervals when review results exist. */ import Box from '@mui/material/Box'; import Chip from '@mui/material/Chip'; import type { EvaluationRunInfo, MetricEstimate, ReviewState } from '../../types/megaeval'; import { fmtCompact, queryEvaluations } from '../../services/megaeval'; import { usePoll } from '../../services/labeleval'; import { MetricCard, fmtNum, fmtPct } from '../labeleval/shared'; import { QueryBadge, rowNum } from './shared'; import { ExplainTip } from '../help/InfoTip'; function ciSub(est: MetricEstimate | undefined): string | null { if (!est) return null; return `95% CI ${fmtPct(est.ci_low)}–${fmtPct(est.ci_high)}, n=${est.n_reviewed.toLocaleString()} reviewed`; } const VERIFIED_CHIP = ( ); export default function HeroRow({ run, review, refreshKey, }: { run: EvaluationRunInfo; review: ReviewState | null; refreshKey: number; }) { const h = run.headline; // Reviewed / verified totals come from the aggregate query API (also shows provenance). const totals = usePoll( () => queryEvaluations({ evaluation_id: run.run_id, metrics: ['n', 'reviewed', 'verified', 'review_coverage'], }), null, [run.run_id, refreshKey] ); const totalsRow = totals.data?.rows[0]; const reviewed = totalsRow ? rowNum(totalsRow, 'reviewed') : null; const verified = totalsRow ? rowNum(totalsRow, 'verified') : null; const results = review?.results ?? null; const precisionCi = ciSub(results?.precision); const recallCi = ciSub(results?.recall); return ( {`HLL est ${fmtCompact(h.containers_hll_estimate)} (approx)`} ) : ( 'exact' ) } /> human reviews } accent="#42a5f5" /> {fmtPct(results?.precision.estimate)} ({precisionCi}) {VERIFIED_CHIP} ) : ( 'point estimate' ) } /> {fmtPct(results?.recall.estimate)} ({recallCi}) {VERIFIED_CHIP} ) : ( 'point estimate' ) } /> ); }