MCPcopy Index your code
hub / github.com/PatrickSys/codebase-context / evaluateDiscoveryTask

Function evaluateDiscoveryTask

src/eval/discovery-harness.ts:172–207  ·  view source on GitHub ↗
(
  task: DiscoveryTaskType,
  result: DiscoverySurfaceResultType,
  elapsedMs?: number
)

Source from the content-addressed store, hash-verified

170}
171
172function evaluateDiscoveryTask(
173 task: DiscoveryTaskType,
174 result: DiscoverySurfaceResultType,
175 elapsedMs?: number
176): DiscoveryTaskResultEval {
177 const { matchedSignals, missingSignals, forbiddenHits, usefulnessScore } = matchSignals(
178 result.payload,
179 task.expectedSignals,
180 task.forbiddenSignals
181 );
182 const payloadBytes = countUtf8Bytes(result.payload);
183 const estimatedTokens = estimateTokenCountFromBytes(payloadBytes);
184 const firstRelevantHit = matchPatterns(result.topFiles ?? [], task.expectedFilePatterns);
185 const bestExampleUseful =
186 task.expectedBestExamplePatterns && task.expectedBestExamplePatterns.length > 0
187 ? task.expectedBestExamplePatterns.some((pattern) =>
188 normalizeText(result.bestExample ?? '').includes(normalizeText(pattern))
189 )
190 : undefined;
191
192 return {
193 taskId: task.id,
194 title: task.title,
195 job: task.job,
196 surface: task.surface,
197 usefulnessScore,
198 matchedSignals,
199 missingSignals,
200 forbiddenHits,
201 payloadBytes,
202 estimatedTokens,
203 ...(firstRelevantHit !== null ? { firstRelevantHit } : {}),
204 ...(typeof bestExampleUseful === 'boolean' ? { bestExampleUseful } : {}),
205 ...(typeof elapsedMs === 'number' ? { elapsedMs, toolCallCount: 1 } : {})
206 };
207}
208
209function summarizeDiscoveryResults(results: DiscoveryTaskResultEval[]): DiscoverySummaryType {
210 const totalTasks = results.length;

Callers 1

evaluateDiscoveryFixtureFunction · 0.85

Calls 5

countUtf8BytesFunction · 0.90
matchSignalsFunction · 0.70
matchPatternsFunction · 0.70
normalizeTextFunction · 0.70

Tested by

no test coverage detected