);
}
export default function CoverageQualityTab({ refreshKey }: { refreshKey: number }) {
const [curator, setCurator] = useState(null);
const [diversity, setDiversity] = useState(null);
const [quant, setQuant] = useState(null);
const [improvement, setImprovement] = useState(null);
useEffect(() => {
getCuratorReport().then(setCurator).catch(() => setCurator(null));
getDiversityReport().then(setDiversity).catch(() => setDiversity(null));
getQuantvalReport().then(setQuant).catch(() => setQuant(null));
getImprovementReport().then(setImprovement).catch(() => setImprovement(null));
}, [refreshKey]);
const pct = (v: number | null | undefined) => (v === null || v === undefined ? '—' : `${(v * 100).toFixed(1)}%`);
return (
This tab measures the MINER, not the scenes: because rare events are planted synthetically, ground truth is
known and mining precision/recall are exact. Calibration compares the miner's stated confidence with how
often it was actually right — a well-calibrated 80% bin should be right about 80% of the time. None of these
statistics change any candidate; they feed the improvement loop for the next run.
{curator ? (
{quant ? (
) : null}
) : null}
Confidence calibration (reliability)
{curator ? : null}
Diversity coverage matrix (selected examples)
{diversity ? (
<>
>
) : null}
{quant ? (
Predicted vs observed difficulty (agreement matrix)