codebase-context 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,16 +11,19 @@ import { analyzerRegistry } from './analyzer-registry.js';
11
11
  import { IndexCorruptedError } from '../errors/index.js';
12
12
  import { isTestingRelatedQuery } from '../preflight/query-scope.js';
13
13
  import { assessSearchQuality } from './search-quality.js';
14
+ import { rerank } from './reranker.js';
14
15
  import { CODEBASE_CONTEXT_DIRNAME, INTELLIGENCE_FILENAME, KEYWORD_INDEX_FILENAME, VECTOR_DB_DIRNAME } from '../constants/codebase-context.js';
15
16
  const DEFAULT_SEARCH_OPTIONS = {
16
17
  useSemanticSearch: true,
17
18
  useKeywordSearch: true,
18
- semanticWeight: 0.7,
19
- keywordWeight: 0.3,
19
+ // semanticWeight/keywordWeight intentionally omitted —
20
+ // intent classification provides per-query weights.
21
+ // Callers can still override by passing explicit values.
20
22
  profile: 'explore',
21
23
  enableQueryExpansion: true,
22
24
  enableLowConfidenceRescue: true,
23
- candidateFloor: 30
25
+ candidateFloor: 30,
26
+ enableReranker: true
24
27
  };
25
28
  const QUERY_EXPANSION_HINTS = [
26
29
  {
@@ -75,8 +78,9 @@ export class CodebaseSearcher {
75
78
  embeddingProvider = null;
76
79
  storageProvider = null;
77
80
  initialized = false;
78
- // v1.2: Pattern intelligence for trend detection
81
+ // Pattern intelligence for trend detection
79
82
  patternIntelligence = null;
83
+ importCentrality = null;
80
84
  constructor(rootPath) {
81
85
  this.rootPath = rootPath;
82
86
  this.storagePath = path.join(rootPath, CODEBASE_CONTEXT_DIRNAME, VECTOR_DB_DIRNAME);
@@ -129,7 +133,7 @@ export class CodebaseSearcher {
129
133
  }
130
134
  }
131
135
  /**
132
- * v1.2: Load pattern intelligence for trend detection and warnings
136
+ * Load pattern intelligence for trend detection and warnings
133
137
  */
134
138
  async loadPatternIntelligence() {
135
139
  try {
@@ -163,14 +167,32 @@ export class CodebaseSearcher {
163
167
  }
164
168
  this.patternIntelligence = { decliningPatterns, risingPatterns, patternWarnings };
165
169
  console.error(`[search] Loaded pattern intelligence: ${decliningPatterns.size} declining, ${risingPatterns.size} rising patterns`);
170
+ this.importCentrality = new Map();
171
+ if (intelligence.internalFileGraph && intelligence.internalFileGraph.imports) {
172
+ // Count how many files import each file (in-degree centrality)
173
+ const importCounts = new Map();
174
+ for (const [_importingFile, importedFiles] of Object.entries(intelligence.internalFileGraph.imports)) {
175
+ const imports = importedFiles;
176
+ for (const imported of imports) {
177
+ importCounts.set(imported, (importCounts.get(imported) || 0) + 1);
178
+ }
179
+ }
180
+ // Normalize centrality to 0-1 range
181
+ const maxImports = Math.max(...Array.from(importCounts.values()), 1);
182
+ for (const [file, count] of importCounts) {
183
+ this.importCentrality.set(file, count / maxImports);
184
+ }
185
+ console.error(`[search] Computed import centrality for ${importCounts.size} files`);
186
+ }
166
187
  }
167
188
  catch (error) {
168
189
  console.warn('Pattern intelligence load failed (will proceed without trend detection):', error);
169
190
  this.patternIntelligence = null;
191
+ this.importCentrality = null;
170
192
  }
171
193
  }
172
194
  /**
173
- * v1.2: Detect pattern trend from chunk content
195
+ * Detect pattern trend from chunk content
174
196
  */
175
197
  detectChunkTrend(chunk) {
176
198
  if (!this.patternIntelligence) {
@@ -208,6 +230,72 @@ export class CodebaseSearcher {
208
230
  .split(/[^a-z0-9_]+/)
209
231
  .filter((term) => term.length > 2 && !QUERY_STOP_WORDS.has(term));
210
232
  }
233
+ /**
234
+ * Classify query intent based on heuristic patterns
235
+ */
236
+ classifyQueryIntent(query) {
237
+ const lowerQuery = query.toLowerCase();
238
+ // EXACT_NAME: Contains PascalCase or camelCase tokens (literal class/component names)
239
+ if (/[A-Z][a-z]+[A-Z]/.test(query) || /[a-z][A-Z]/.test(query)) {
240
+ return {
241
+ intent: 'EXACT_NAME',
242
+ weights: { semantic: 0.4, keyword: 0.6 } // Keyword search dominates for exact names
243
+ };
244
+ }
245
+ // CONFIG: Configuration/setup queries
246
+ const configKeywords = [
247
+ 'config',
248
+ 'setup',
249
+ 'routing',
250
+ 'providers',
251
+ 'configuration',
252
+ 'bootstrap'
253
+ ];
254
+ if (configKeywords.some((kw) => lowerQuery.includes(kw))) {
255
+ return {
256
+ intent: 'CONFIG',
257
+ weights: { semantic: 0.5, keyword: 0.5 } // Balanced
258
+ };
259
+ }
260
+ // WIRING: DI/registration queries
261
+ const wiringKeywords = [
262
+ 'provide',
263
+ 'inject',
264
+ 'dependency',
265
+ 'register',
266
+ 'wire',
267
+ 'bootstrap',
268
+ 'module'
269
+ ];
270
+ if (wiringKeywords.some((kw) => lowerQuery.includes(kw))) {
271
+ return {
272
+ intent: 'WIRING',
273
+ weights: { semantic: 0.5, keyword: 0.5 } // Balanced
274
+ };
275
+ }
276
+ // FLOW: Action/navigation queries
277
+ const flowVerbs = [
278
+ 'navigate',
279
+ 'redirect',
280
+ 'route',
281
+ 'handle',
282
+ 'process',
283
+ 'execute',
284
+ 'trigger',
285
+ 'dispatch'
286
+ ];
287
+ if (flowVerbs.some((verb) => lowerQuery.includes(verb))) {
288
+ return {
289
+ intent: 'FLOW',
290
+ weights: { semantic: 0.6, keyword: 0.4 } // Semantic helps with flow understanding
291
+ };
292
+ }
293
+ // CONCEPTUAL: Natural language without code tokens (default)
294
+ return {
295
+ intent: 'CONCEPTUAL',
296
+ weights: { semantic: 0.7, keyword: 0.3 } // Semantic dominates for concepts
297
+ };
298
+ }
211
299
  buildQueryVariants(query, maxExpansions) {
212
300
  const variants = [{ query, weight: 1 }];
213
301
  if (maxExpansions <= 0)
@@ -238,6 +326,10 @@ export class CodebaseSearcher {
238
326
  }
239
327
  return variants.slice(0, 1 + maxExpansions);
240
328
  }
329
+ isTemplateOrStyleFile(filePath) {
330
+ const ext = path.extname(filePath).toLowerCase();
331
+ return ['.html', '.scss', '.css', '.less', '.sass', '.styl'].includes(ext);
332
+ }
241
333
  isCompositionRootFile(filePath) {
242
334
  const normalized = filePath.toLowerCase().replace(/\\/g, '/');
243
335
  const base = path.basename(normalized);
@@ -272,52 +364,134 @@ export class CodebaseSearcher {
272
364
  normalizedPath.includes('/types/') ||
273
365
  normalizedPath.includes('/constants'));
274
366
  }
275
- scoreAndSortResults(query, limit, results, profile) {
367
+ scoreAndSortResults(query, limit, results, profile, intent, totalVariantWeight) {
276
368
  const likelyWiringQuery = this.isLikelyWiringOrFlowQuery(query);
277
369
  const actionQuery = this.isActionOrHowQuery(query);
278
- return Array.from(results.entries())
279
- .map(([_id, { chunk, scores }]) => {
280
- // Calculate base combined score
281
- let combinedScore = scores.reduce((sum, score) => sum + score, 0);
282
- // Normalize to 0-1 range (scores are already weighted)
283
- // If both semantic and keyword matched, max possible is ~1.0
284
- combinedScore = Math.min(1.0, combinedScore);
370
+ // RRF: k=60 is the standard parameter (proven robust in Elasticsearch + TOSS paper arXiv:2208.11274)
371
+ const RRF_K = 60;
372
+ // Collect all unique chunks from both retrieval channels
373
+ const allChunks = new Map();
374
+ const rrfScores = new Map();
375
+ // Gather all chunks
376
+ for (const [id, entry] of results.semantic) {
377
+ allChunks.set(id, entry.chunk);
378
+ }
379
+ for (const [id, entry] of results.keyword) {
380
+ if (!allChunks.has(id)) {
381
+ allChunks.set(id, entry.chunk);
382
+ }
383
+ }
384
+ // Calculate RRF scores: RRF(d) = SUM(weight_i / (k + rank_i))
385
+ for (const [id] of allChunks) {
386
+ let rrfScore = 0;
387
+ // Add contributions from semantic ranks
388
+ const semanticEntry = results.semantic.get(id);
389
+ if (semanticEntry) {
390
+ for (const { rank, weight } of semanticEntry.ranks) {
391
+ rrfScore += weight / (RRF_K + rank);
392
+ }
393
+ }
394
+ // Add contributions from keyword ranks
395
+ const keywordEntry = results.keyword.get(id);
396
+ if (keywordEntry) {
397
+ for (const { rank, weight } of keywordEntry.ranks) {
398
+ rrfScore += weight / (RRF_K + rank);
399
+ }
400
+ }
401
+ rrfScores.set(id, rrfScore);
402
+ }
403
+ // Normalize by theoretical maximum (rank-0 in every list), NOT by actual max.
404
+ // Using actual max makes top result always 1.0, breaking quality confidence gating.
405
+ const theoreticalMaxRrf = totalVariantWeight / (RRF_K + 0);
406
+ const maxRrfScore = Math.max(theoreticalMaxRrf, 0.01);
407
+ // Separate test files from implementation files before scoring
408
+ const isNonTestQuery = !isTestingRelatedQuery(query);
409
+ const implementationChunks = [];
410
+ const testChunks = [];
411
+ for (const [id, chunk] of allChunks.entries()) {
412
+ if (this.isTestFile(chunk.filePath)) {
413
+ testChunks.push([id, chunk]);
414
+ }
415
+ else {
416
+ implementationChunks.push([id, chunk]);
417
+ }
418
+ }
419
+ // For non-test queries: filter test files from candidate pool, keep max 1 test file only if < 3 implementation matches
420
+ const chunksToScore = isNonTestQuery ? implementationChunks : Array.from(allChunks.entries());
421
+ const scoredResults = chunksToScore
422
+ .map(([id, chunk]) => {
423
+ // RRF score normalized to [0,1] range. Boosts below are unclamped
424
+ // to preserve score differentiation — only relative ordering matters.
425
+ let combinedScore = rrfScores.get(id) / maxRrfScore;
285
426
  // Slight boost when analyzer identified a concrete component type
286
427
  if (chunk.componentType && chunk.componentType !== 'unknown') {
287
- combinedScore = Math.min(1.0, combinedScore * 1.1);
428
+ combinedScore *= 1.1;
288
429
  }
289
430
  // Boost if layer is detected
290
431
  if (chunk.layer && chunk.layer !== 'unknown') {
291
- combinedScore = Math.min(1.0, combinedScore * 1.1);
292
- }
293
- // Query-aware reranking to reduce noisy matches in practical workflows.
294
- if (!isTestingRelatedQuery(query) && this.isTestFile(chunk.filePath)) {
295
- combinedScore = combinedScore * 0.75;
432
+ combinedScore *= 1.1;
296
433
  }
297
434
  if (actionQuery && this.isDefinitionHeavyResult(chunk)) {
298
- combinedScore = combinedScore * 0.82;
435
+ combinedScore *= 0.82;
299
436
  }
300
437
  if (actionQuery &&
301
438
  ['service', 'component', 'interceptor', 'guard', 'module', 'resolver'].includes((chunk.componentType || '').toLowerCase())) {
302
- combinedScore = Math.min(1.0, combinedScore * 1.06);
439
+ combinedScore *= 1.06;
440
+ }
441
+ // Demote template/style files for behavioral queries — they describe
442
+ // structure/presentation, not implementation logic.
443
+ if ((intent === 'FLOW' || intent === 'WIRING' || actionQuery) &&
444
+ this.isTemplateOrStyleFile(chunk.filePath)) {
445
+ combinedScore *= 0.75;
303
446
  }
304
447
  // Light intent-aware boost for likely wiring/configuration queries.
305
448
  if (likelyWiringQuery && profile !== 'explore') {
306
449
  if (this.isCompositionRootFile(chunk.filePath)) {
307
- combinedScore = Math.min(1.0, combinedScore * 1.12);
450
+ combinedScore *= 1.12;
451
+ }
452
+ }
453
+ if (intent === 'FLOW') {
454
+ // Boost service/guard/interceptor files for action/navigation queries
455
+ if (['service', 'guard', 'interceptor', 'middleware'].includes((chunk.componentType || '').toLowerCase())) {
456
+ combinedScore *= 1.15;
457
+ }
458
+ }
459
+ else if (intent === 'CONFIG') {
460
+ // Boost composition-root files for configuration queries
461
+ if (this.isCompositionRootFile(chunk.filePath)) {
462
+ combinedScore *= 1.2;
463
+ }
464
+ }
465
+ else if (intent === 'WIRING') {
466
+ // Boost DI/module files for wiring queries
467
+ if (['module', 'provider', 'config'].some((type) => (chunk.componentType || '').toLowerCase().includes(type))) {
468
+ combinedScore *= 1.18;
469
+ }
470
+ if (this.isCompositionRootFile(chunk.filePath)) {
471
+ combinedScore *= 1.22;
308
472
  }
309
473
  }
310
474
  const pathOverlap = this.queryPathTokenOverlap(chunk.filePath, query);
311
475
  if (pathOverlap >= 2) {
312
- combinedScore = Math.min(1.0, combinedScore * 1.08);
476
+ combinedScore *= 1.08;
313
477
  }
314
- // v1.2: Detect pattern trend and apply momentum boost
478
+ if (this.importCentrality) {
479
+ const normalizedRoot = this.rootPath.replace(/\\/g, '/').replace(/\/?$/, '/');
480
+ const normalizedPath = chunk.filePath.replace(/\\/g, '/').replace(normalizedRoot, '');
481
+ const centrality = this.importCentrality.get(normalizedPath);
482
+ if (centrality !== undefined && centrality > 0.1) {
483
+ // Boost files with high centrality (many imports)
484
+ const centralityBoost = 1.0 + centrality * 0.15; // Up to +15% for max centrality
485
+ combinedScore *= centralityBoost;
486
+ }
487
+ }
488
+ // Detect pattern trend and apply momentum boost
315
489
  const { trend, warning } = this.detectChunkTrend(chunk);
316
490
  if (trend === 'Rising') {
317
- combinedScore = Math.min(1.0, combinedScore * 1.15); // +15% for modern patterns
491
+ combinedScore *= 1.15; // +15% for modern patterns
318
492
  }
319
493
  else if (trend === 'Declining') {
320
- combinedScore = combinedScore * 0.9; // -10% for legacy patterns
494
+ combinedScore *= 0.9; // -10% for legacy patterns
321
495
  }
322
496
  const summary = this.generateSummary(chunk);
323
497
  const snippet = this.generateSnippet(chunk.content);
@@ -334,13 +508,58 @@ export class CodebaseSearcher {
334
508
  componentType: chunk.componentType,
335
509
  layer: chunk.layer,
336
510
  metadata: chunk.metadata,
337
- // v1.2: Pattern momentum awareness
338
511
  trend,
339
512
  patternWarning: warning
340
513
  };
341
514
  })
342
- .sort((a, b) => b.score - a.score)
343
- .slice(0, limit);
515
+ .sort((a, b) => b.score - a.score);
516
+ const seenFiles = new Set();
517
+ const deduped = [];
518
+ for (const result of scoredResults) {
519
+ const normalizedPath = result.filePath.toLowerCase().replace(/\\/g, '/');
520
+ if (seenFiles.has(normalizedPath))
521
+ continue;
522
+ seenFiles.add(normalizedPath);
523
+ deduped.push(result);
524
+ if (deduped.length >= limit)
525
+ break;
526
+ }
527
+ const finalResults = deduped;
528
+ if (isNonTestQuery &&
529
+ finalResults.length < 3 &&
530
+ finalResults.length < limit &&
531
+ testChunks.length > 0) {
532
+ // Find the highest-scoring test file
533
+ const bestTestChunk = testChunks
534
+ .map(([id, chunk]) => ({
535
+ id,
536
+ chunk,
537
+ score: rrfScores.get(id) / maxRrfScore
538
+ }))
539
+ .sort((a, b) => b.score - a.score)[0];
540
+ if (bestTestChunk) {
541
+ const { trend, warning } = this.detectChunkTrend(bestTestChunk.chunk);
542
+ const summary = this.generateSummary(bestTestChunk.chunk);
543
+ const snippet = this.generateSnippet(bestTestChunk.chunk.content);
544
+ finalResults.push({
545
+ summary,
546
+ snippet,
547
+ filePath: bestTestChunk.chunk.filePath,
548
+ startLine: bestTestChunk.chunk.startLine,
549
+ endLine: bestTestChunk.chunk.endLine,
550
+ score: bestTestChunk.score * 0.5, // Demote below implementation files
551
+ relevanceReason: this.generateRelevanceReason(bestTestChunk.chunk, query) + ' (test file)',
552
+ language: bestTestChunk.chunk.language,
553
+ framework: bestTestChunk.chunk.framework,
554
+ componentType: bestTestChunk.chunk.componentType,
555
+ layer: bestTestChunk.chunk.layer,
556
+ metadata: bestTestChunk.chunk.metadata,
557
+ trend,
558
+ patternWarning: warning
559
+ });
560
+ }
561
+ }
562
+ return finalResults;
344
563
  }
345
564
  pickBetterResultSet(query, primary, rescue) {
346
565
  const primaryQuality = assessSearchQuality(query, primary);
@@ -356,22 +575,26 @@ export class CodebaseSearcher {
356
575
  return primary;
357
576
  }
358
577
  async collectHybridMatches(queryVariants, candidateLimit, filters, useSemanticSearch, useKeywordSearch, semanticWeight, keywordWeight) {
359
- const results = new Map();
578
+ const semanticRanks = new Map();
579
+ const keywordRanks = new Map();
580
+ // RRF uses ranks instead of scores for fusion robustness
360
581
  if (useSemanticSearch && this.embeddingProvider && this.storageProvider) {
361
582
  try {
362
583
  for (const variant of queryVariants) {
363
584
  const vectorResults = await this.semanticSearch(variant.query, candidateLimit, filters);
364
- vectorResults.forEach((result) => {
585
+ // Assign ranks based on retrieval order (0-indexed)
586
+ vectorResults.forEach((result, index) => {
365
587
  const id = result.chunk.id;
366
- const weightedScore = result.score * semanticWeight * variant.weight;
367
- const existing = results.get(id);
588
+ const rank = index; // 0-indexed rank
589
+ const weight = semanticWeight * variant.weight;
590
+ const existing = semanticRanks.get(id);
368
591
  if (existing) {
369
- existing.scores.push(weightedScore);
592
+ existing.ranks.push({ rank, weight });
370
593
  }
371
594
  else {
372
- results.set(id, {
595
+ semanticRanks.set(id, {
373
596
  chunk: result.chunk,
374
- scores: [weightedScore]
597
+ ranks: [{ rank, weight }]
375
598
  });
376
599
  }
377
600
  });
@@ -388,17 +611,19 @@ export class CodebaseSearcher {
388
611
  try {
389
612
  for (const variant of queryVariants) {
390
613
  const keywordResults = await this.keywordSearch(variant.query, candidateLimit, filters);
391
- keywordResults.forEach((result) => {
614
+ // Assign ranks based on retrieval order (0-indexed)
615
+ keywordResults.forEach((result, index) => {
392
616
  const id = result.chunk.id;
393
- const weightedScore = result.score * keywordWeight * variant.weight;
394
- const existing = results.get(id);
617
+ const rank = index; // 0-indexed rank
618
+ const weight = keywordWeight * variant.weight;
619
+ const existing = keywordRanks.get(id);
395
620
  if (existing) {
396
- existing.scores.push(weightedScore);
621
+ existing.ranks.push({ rank, weight });
397
622
  }
398
623
  else {
399
- results.set(id, {
624
+ keywordRanks.set(id, {
400
625
  chunk: result.chunk,
401
- scores: [weightedScore]
626
+ ranks: [{ rank, weight }]
402
627
  });
403
628
  }
404
629
  });
@@ -408,37 +633,56 @@ export class CodebaseSearcher {
408
633
  console.warn('Keyword search failed:', error);
409
634
  }
410
635
  }
411
- return results;
636
+ return { semantic: semanticRanks, keyword: keywordRanks };
412
637
  }
413
638
  async search(query, limit = 5, filters, options = DEFAULT_SEARCH_OPTIONS) {
414
639
  if (!this.initialized) {
415
640
  await this.initialize();
416
641
  }
417
- const { useSemanticSearch, useKeywordSearch, semanticWeight, keywordWeight, profile, enableQueryExpansion, enableLowConfidenceRescue, candidateFloor } = {
642
+ const merged = {
418
643
  ...DEFAULT_SEARCH_OPTIONS,
419
644
  ...options
420
645
  };
646
+ const { useSemanticSearch, useKeywordSearch, profile, enableQueryExpansion, enableLowConfidenceRescue, candidateFloor, enableReranker } = merged;
647
+ const { intent, weights: intentWeights } = this.classifyQueryIntent(query);
648
+ // Intent weights are the default; caller-supplied weights override them
649
+ const finalSemanticWeight = merged.semanticWeight ?? intentWeights.semantic;
650
+ const finalKeywordWeight = merged.keywordWeight ?? intentWeights.keyword;
421
651
  const candidateLimit = Math.max(limit * 2, candidateFloor || 30);
422
652
  const primaryVariants = this.buildQueryVariants(query, enableQueryExpansion ? 1 : 0);
423
- const primaryMatches = await this.collectHybridMatches(primaryVariants, candidateLimit, filters, Boolean(useSemanticSearch), Boolean(useKeywordSearch), semanticWeight || 0.7, keywordWeight || 0.3);
424
- const primaryResults = this.scoreAndSortResults(query, limit, primaryMatches, (profile || 'explore'));
425
- if (!enableLowConfidenceRescue) {
426
- return primaryResults;
427
- }
428
- const primaryQuality = assessSearchQuality(query, primaryResults);
429
- if (primaryQuality.status !== 'low_confidence') {
430
- return primaryResults;
431
- }
432
- const rescueVariants = this.buildQueryVariants(query, 2).slice(1);
433
- if (rescueVariants.length === 0) {
434
- return primaryResults;
435
- }
436
- const rescueMatches = await this.collectHybridMatches(rescueVariants.map((variant, index) => ({
437
- query: variant.query,
438
- weight: index === 0 ? 1 : 0.8
439
- })), candidateLimit, filters, Boolean(useSemanticSearch), Boolean(useKeywordSearch), semanticWeight || 0.7, keywordWeight || 0.3);
440
- const rescueResults = this.scoreAndSortResults(query, limit, rescueMatches, (profile || 'explore'));
441
- return this.pickBetterResultSet(query, primaryResults, rescueResults);
653
+ const primaryMatches = await this.collectHybridMatches(primaryVariants, candidateLimit, filters, Boolean(useSemanticSearch), Boolean(useKeywordSearch), finalSemanticWeight, finalKeywordWeight);
654
+ const primaryTotalWeight = primaryVariants.reduce((sum, v) => sum + v.weight, 0) *
655
+ (finalSemanticWeight + finalKeywordWeight);
656
+ const primaryResults = this.scoreAndSortResults(query, limit, primaryMatches, (profile || 'explore'), intent, primaryTotalWeight);
657
+ let bestResults = primaryResults;
658
+ if (enableLowConfidenceRescue) {
659
+ const primaryQuality = assessSearchQuality(query, primaryResults);
660
+ if (primaryQuality.status === 'low_confidence') {
661
+ const rescueVariants = this.buildQueryVariants(query, 2).slice(1);
662
+ if (rescueVariants.length > 0) {
663
+ const rescueMatches = await this.collectHybridMatches(rescueVariants.map((variant, index) => ({
664
+ query: variant.query,
665
+ weight: index === 0 ? 1 : 0.8
666
+ })), candidateLimit, filters, Boolean(useSemanticSearch), Boolean(useKeywordSearch), finalSemanticWeight, finalKeywordWeight);
667
+ const rescueVariantWeights = rescueVariants.map((_, i) => (i === 0 ? 1 : 0.8));
668
+ const rescueTotalWeight = rescueVariantWeights.reduce((sum, w) => sum + w, 0) *
669
+ (finalSemanticWeight + finalKeywordWeight);
670
+ const rescueResults = this.scoreAndSortResults(query, limit, rescueMatches, (profile || 'explore'), intent, rescueTotalWeight);
671
+ bestResults = this.pickBetterResultSet(query, primaryResults, rescueResults);
672
+ }
673
+ }
674
+ }
675
+ // Stage-2: cross-encoder reranking when top scores are ambiguous
676
+ if (enableReranker) {
677
+ try {
678
+ bestResults = await rerank(query, bestResults);
679
+ }
680
+ catch (error) {
681
+ // Reranker is non-critical — log and return unranked results
682
+ console.warn('[reranker] Failed, returning original order:', error);
683
+ }
684
+ }
685
+ return bestResults;
442
686
  }
443
687
  generateSummary(chunk) {
444
688
  const analyzer = chunk.framework ? analyzerRegistry.get(chunk.framework) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../src/embeddings/transformers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAC;AAQ9D,qBAAa,6BAA8B,YAAW,iBAAiB;IACrE,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAA8B;gBAErC,SAAS,GAAE,MAAsB;IAKvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAQnB,WAAW;IAmBnB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBtC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAyBtD,OAAO,IAAI,OAAO;CAGnB;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,GAAE,MAAsB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAI5B"}
1
+ {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../src/embeddings/transformers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAC;AAwB9D,qBAAa,6BAA8B,YAAW,iBAAiB;IACrE,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAA8B;gBAErC,SAAS,GAAE,MAAsB;IAKvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAQnB,WAAW;IAmBnB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBtC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAyBtD,OAAO,IAAI,OAAO;CAGnB;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,GAAE,MAAsB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAI5B"}