bucketPassRates method

Map<String, double> bucketPassRates(
  1. Map<String, String> taskBucketMap
)

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,
  };
}