MCPcopy Create free account
hub / github.com/PatrickSys/codebase-context / evaluateBaselineGate

Function evaluateBaselineGate

src/eval/discovery-harness.ts:323–367  ·  view source on GitHub ↗
(
  summary: DiscoverySummaryType,
  protocol: DiscoveryBenchmarkProtocol,
  comparatorEvidence: DiscoveryComparatorEvidence | undefined
)

Source from the content-addressed store, hash-verified

321}
322
323function evaluateBaselineGate(
324 summary: DiscoverySummaryType,
325 protocol: DiscoveryBenchmarkProtocol,
326 comparatorEvidence: DiscoveryComparatorEvidence | undefined
327) {
328 const baselineConfig = protocol.shipGate.baseline;
329 const baselineMetrics = comparatorEvidence?.[baselineConfig.comparatorName];
330 const comparisons = [
331 compareMetric(
332 getDiscoveryMetricValue(summary, baselineConfig.payloadMetric),
333 getDiscoveryMetricValue(baselineMetrics, baselineConfig.payloadMetric),
334 baselineConfig.payloadMetric
335 ),
336 ...baselineConfig.usefulnessMetrics.map((metric) =>
337 compareMetric(
338 getDiscoveryMetricValue(summary, metric),
339 getDiscoveryMetricValue(baselineMetrics, metric),
340 metric
341 )
342 )
343 ];
344 const missingMetrics = comparisons
345 .filter((comparison) => comparison.comparatorValue === null)
346 .map((comparison) => comparison.metric);
347 const payloadMetricPassed = comparisons[0]?.passes ?? false;
348 const beatenUsefulnessMetrics = comparisons
349 .slice(1)
350 .filter((comparison) => comparison.passes)
351 .map((comparison) => comparison.metric);
352
353 return {
354 comparatorName: baselineConfig.comparatorName,
355 status:
356 missingMetrics.length > 0
357 ? 'pending_evidence'
358 : payloadMetricPassed && beatenUsefulnessMetrics.length > 0
359 ? 'passed'
360 : 'failed',
361 payloadMetric: baselineConfig.payloadMetric,
362 payloadMetricPassed,
363 beatenUsefulnessMetrics,
364 missingMetrics,
365 comparisons
366 } as const;
367}
368
369function evaluateComparatorGate(
370 summary: DiscoverySummaryType,

Callers 1

evaluateDiscoveryGateFunction · 0.85

Calls 2

compareMetricFunction · 0.85
getDiscoveryMetricValueFunction · 0.85

Tested by

no test coverage detected