diff --git a/src/core/diff/strategies/new-unified/edit-strategies.ts b/src/core/diff/strategies/new-unified/edit-strategies.ts index 6affac0..c464292 100644 --- a/src/core/diff/strategies/new-unified/edit-strategies.ts +++ b/src/core/diff/strategies/new-unified/edit-strategies.ts @@ -344,7 +344,7 @@ export async function applyEdit(hunk: Hunk, content: string[], matchPosition: nu // Normal mode - try strategies sequentially until one succeeds for (const strategy of strategies) { const result = await strategy.apply(); - if (result.confidence === 1) { + if (result.confidence > MIN_CONFIDENCE) { return result; } } diff --git a/src/core/diff/strategies/new-unified/index.ts b/src/core/diff/strategies/new-unified/index.ts index bdc1519..a3658aa 100644 --- a/src/core/diff/strategies/new-unified/index.ts +++ b/src/core/diff/strategies/new-unified/index.ts @@ -160,7 +160,7 @@ Your diff here startLine?: number, endLine?: number ): Promise { - const MIN_CONFIDENCE = 1 + const MIN_CONFIDENCE = 0.9 const parsedDiff = this.parseUnifiedDiff(diffContent) const originalLines = originalContent.split("\n") let result = [...originalLines] @@ -170,7 +170,7 @@ Your diff here const { index: matchPosition, confidence } = findBestMatch(contextStr, result) const editResult = await applyEdit(hunk, result, matchPosition, confidence) - if (editResult.confidence >= MIN_CONFIDENCE) { + if (editResult.confidence > MIN_CONFIDENCE) { result = editResult.result } else { return { success: false, error: `Failed to apply edit using ${editResult.strategy} strategy` }