bucketPassRates method
Per-bucket pass rate using metadata'failure_bucket' on the source
task. The Runner attaches the bucket to each TrialResult via
Trial's taskId lookup.
Implementation
Map<String, double> bucketPassRates(Map<String, String> taskBucketMap) {
final byBucket = <String, List<bool>>{};
for (final tr in trials) {
final b = taskBucketMap[tr.trial.taskId];
if (b == null) continue;
byBucket.putIfAbsent(b, () => []).add(tr.allGradersPassed);
}
return {
for (final e in byBucket.entries)
e.key: e.value.where((v) => v).length / e.value.length,
};
}