From f007f6434477689d1f1259dcd4c835e99b46aac2 Mon Sep 17 00:00:00 2001 From: Daniel Riccio Date: Fri, 10 Jan 2025 17:36:43 -0500 Subject: [PATCH] refactor: increase minimum confidence threshold in search strategies - Updated the minimum confidence level from 0.95 to 0.97 to enhance the accuracy of search results. - Adjusted confidence calculation in the findLevenshteinMatch function to ensure more reliable matching. --- src/core/diff/strategies/new-unified/search-strategies.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/core/diff/strategies/new-unified/search-strategies.ts b/src/core/diff/strategies/new-unified/search-strategies.ts index 9e61f87..9b1c785 100644 --- a/src/core/diff/strategies/new-unified/search-strategies.ts +++ b/src/core/diff/strategies/new-unified/search-strategies.ts @@ -10,7 +10,7 @@ export type SearchResult = { }; //TODO: this should be configurable -const MIN_CONFIDENCE = 0.95; +const MIN_CONFIDENCE = 0.97; // Helper function to prepare search string from context export function prepareSearchString(changes: Change[]): string { @@ -74,7 +74,6 @@ export function validateEditResult(hunk: Hunk, result: string, strategy: string) console.log('expectedSimilarity', strategy, expectedSimilarity); - // Scale between 0.98 and 1.0 (4% impact) based on expected similarity const multiplier = expectedSimilarity < MIN_CONFIDENCE ? 0.96 + 0.04 * expectedSimilarity : 1; @@ -183,11 +182,10 @@ export function findLevenshteinMatch( const index = startIndex + candidates.indexOf(closestMatch); const similarity = getDMPSimilarity(searchStr, closestMatch); const contextSimilarity = validateContextLines(searchStr, closestMatch); - const confidence = Math.min(similarity, contextSimilarity) * 0.7; // Still apply Levenshtein penalty - + const confidence = Math.min(similarity, contextSimilarity) return { index, - confidence, + confidence: index !== -1 ? confidence : 0, strategy: 'levenshtein', }; }