tea-rags 1.0.4 → 1.2.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.
Files changed (130) hide show
  1. package/build/core/adapters/qdrant/client.d.ts +27 -0
  2. package/build/core/adapters/qdrant/client.d.ts.map +1 -1
  3. package/build/core/adapters/qdrant/client.js +64 -0
  4. package/build/core/adapters/qdrant/client.js.map +1 -1
  5. package/build/core/api/internal/facades/explore-facade.d.ts +5 -1
  6. package/build/core/api/internal/facades/explore-facade.d.ts.map +1 -1
  7. package/build/core/api/internal/facades/explore-facade.js +66 -7
  8. package/build/core/api/internal/facades/explore-facade.js.map +1 -1
  9. package/build/core/api/public/app.d.ts +2 -1
  10. package/build/core/api/public/app.d.ts.map +1 -1
  11. package/build/core/api/public/app.js +2 -1
  12. package/build/core/api/public/app.js.map +1 -1
  13. package/build/core/api/public/dto/explore.d.ts +27 -2
  14. package/build/core/api/public/dto/explore.d.ts.map +1 -1
  15. package/build/core/api/public/dto/index.d.ts +1 -1
  16. package/build/core/api/public/dto/index.d.ts.map +1 -1
  17. package/build/core/contracts/types/reranker.d.ts +4 -0
  18. package/build/core/contracts/types/reranker.d.ts.map +1 -1
  19. package/build/core/contracts/types/trajectory.d.ts +3 -1
  20. package/build/core/contracts/types/trajectory.d.ts.map +1 -1
  21. package/build/core/domains/explore/index.d.ts +2 -2
  22. package/build/core/domains/explore/index.d.ts.map +1 -1
  23. package/build/core/domains/explore/index.js +1 -1
  24. package/build/core/domains/explore/index.js.map +1 -1
  25. package/build/core/domains/explore/post-process.d.ts +1 -0
  26. package/build/core/domains/explore/post-process.d.ts.map +1 -1
  27. package/build/core/domains/explore/post-process.js +1 -1
  28. package/build/core/domains/explore/post-process.js.map +1 -1
  29. package/build/core/domains/explore/rank-module.js +1 -1
  30. package/build/core/domains/explore/rank-module.js.map +1 -1
  31. package/build/core/domains/explore/reranker.d.ts +2 -2
  32. package/build/core/domains/explore/reranker.d.ts.map +1 -1
  33. package/build/core/domains/explore/reranker.js +20 -8
  34. package/build/core/domains/explore/reranker.js.map +1 -1
  35. package/build/core/domains/explore/strategies/base.d.ts +3 -1
  36. package/build/core/domains/explore/strategies/base.d.ts.map +1 -1
  37. package/build/core/domains/explore/strategies/base.js +11 -1
  38. package/build/core/domains/explore/strategies/base.js.map +1 -1
  39. package/build/core/domains/explore/strategies/hybrid.d.ts.map +1 -1
  40. package/build/core/domains/explore/strategies/hybrid.js +6 -1
  41. package/build/core/domains/explore/strategies/hybrid.js.map +1 -1
  42. package/build/core/domains/explore/strategies/index.d.ts +2 -0
  43. package/build/core/domains/explore/strategies/index.d.ts.map +1 -1
  44. package/build/core/domains/explore/strategies/index.js +1 -0
  45. package/build/core/domains/explore/strategies/index.js.map +1 -1
  46. package/build/core/domains/explore/strategies/similar.d.ts +29 -0
  47. package/build/core/domains/explore/strategies/similar.d.ts.map +1 -0
  48. package/build/core/domains/explore/strategies/similar.js +87 -0
  49. package/build/core/domains/explore/strategies/similar.js.map +1 -0
  50. package/build/core/domains/explore/strategies/types.d.ts +1 -1
  51. package/build/core/domains/explore/strategies/types.d.ts.map +1 -1
  52. package/build/core/domains/explore/strategies/vector.d.ts.map +1 -1
  53. package/build/core/domains/explore/strategies/vector.js +8 -0
  54. package/build/core/domains/explore/strategies/vector.js.map +1 -1
  55. package/build/core/domains/trajectory/git/rerank/derived-signals/age.js +1 -1
  56. package/build/core/domains/trajectory/git/rerank/derived-signals/age.js.map +1 -1
  57. package/build/core/domains/trajectory/git/rerank/derived-signals/block-penalty.d.ts +1 -1
  58. package/build/core/domains/trajectory/git/rerank/derived-signals/block-penalty.d.ts.map +1 -1
  59. package/build/core/domains/trajectory/git/rerank/derived-signals/block-penalty.js +2 -2
  60. package/build/core/domains/trajectory/git/rerank/derived-signals/block-penalty.js.map +1 -1
  61. package/build/core/domains/trajectory/git/rerank/derived-signals/bug-fix.js +1 -1
  62. package/build/core/domains/trajectory/git/rerank/derived-signals/bug-fix.js.map +1 -1
  63. package/build/core/domains/trajectory/git/rerank/derived-signals/burst-activity.js +1 -1
  64. package/build/core/domains/trajectory/git/rerank/derived-signals/burst-activity.js.map +1 -1
  65. package/build/core/domains/trajectory/git/rerank/derived-signals/chunk-churn.js +1 -1
  66. package/build/core/domains/trajectory/git/rerank/derived-signals/chunk-churn.js.map +1 -1
  67. package/build/core/domains/trajectory/git/rerank/derived-signals/chunk-relative-churn.js +1 -1
  68. package/build/core/domains/trajectory/git/rerank/derived-signals/chunk-relative-churn.js.map +1 -1
  69. package/build/core/domains/trajectory/git/rerank/derived-signals/churn.js +1 -1
  70. package/build/core/domains/trajectory/git/rerank/derived-signals/churn.js.map +1 -1
  71. package/build/core/domains/trajectory/git/rerank/derived-signals/density.js +1 -1
  72. package/build/core/domains/trajectory/git/rerank/derived-signals/density.js.map +1 -1
  73. package/build/core/domains/trajectory/git/rerank/derived-signals/helpers.d.ts +5 -4
  74. package/build/core/domains/trajectory/git/rerank/derived-signals/helpers.d.ts.map +1 -1
  75. package/build/core/domains/trajectory/git/rerank/derived-signals/helpers.js +8 -6
  76. package/build/core/domains/trajectory/git/rerank/derived-signals/helpers.js.map +1 -1
  77. package/build/core/domains/trajectory/git/rerank/derived-signals/knowledge-silo.js +1 -1
  78. package/build/core/domains/trajectory/git/rerank/derived-signals/knowledge-silo.js.map +1 -1
  79. package/build/core/domains/trajectory/git/rerank/derived-signals/recency.js +1 -1
  80. package/build/core/domains/trajectory/git/rerank/derived-signals/recency.js.map +1 -1
  81. package/build/core/domains/trajectory/git/rerank/derived-signals/relative-churn-norm.js +1 -1
  82. package/build/core/domains/trajectory/git/rerank/derived-signals/relative-churn-norm.js.map +1 -1
  83. package/build/core/domains/trajectory/git/rerank/derived-signals/stability.js +1 -1
  84. package/build/core/domains/trajectory/git/rerank/derived-signals/stability.js.map +1 -1
  85. package/build/core/domains/trajectory/git/rerank/derived-signals/volatility.js +1 -1
  86. package/build/core/domains/trajectory/git/rerank/derived-signals/volatility.js.map +1 -1
  87. package/build/core/domains/trajectory/git/rerank/presets/code-review.d.ts.map +1 -1
  88. package/build/core/domains/trajectory/git/rerank/presets/code-review.js +1 -1
  89. package/build/core/domains/trajectory/git/rerank/presets/code-review.js.map +1 -1
  90. package/build/core/domains/trajectory/git/rerank/presets/hotspots.d.ts.map +1 -1
  91. package/build/core/domains/trajectory/git/rerank/presets/hotspots.js +1 -1
  92. package/build/core/domains/trajectory/git/rerank/presets/hotspots.js.map +1 -1
  93. package/build/core/domains/trajectory/git/rerank/presets/onboarding.d.ts +2 -1
  94. package/build/core/domains/trajectory/git/rerank/presets/onboarding.d.ts.map +1 -1
  95. package/build/core/domains/trajectory/git/rerank/presets/onboarding.js +2 -1
  96. package/build/core/domains/trajectory/git/rerank/presets/onboarding.js.map +1 -1
  97. package/build/core/domains/trajectory/git/rerank/presets/ownership.d.ts +2 -1
  98. package/build/core/domains/trajectory/git/rerank/presets/ownership.d.ts.map +1 -1
  99. package/build/core/domains/trajectory/git/rerank/presets/ownership.js +4 -2
  100. package/build/core/domains/trajectory/git/rerank/presets/ownership.js.map +1 -1
  101. package/build/core/domains/trajectory/git/rerank/presets/recent.d.ts.map +1 -1
  102. package/build/core/domains/trajectory/git/rerank/presets/recent.js +1 -1
  103. package/build/core/domains/trajectory/git/rerank/presets/recent.js.map +1 -1
  104. package/build/core/domains/trajectory/git/rerank/presets/refactoring.d.ts.map +1 -1
  105. package/build/core/domains/trajectory/git/rerank/presets/refactoring.js +1 -1
  106. package/build/core/domains/trajectory/git/rerank/presets/refactoring.js.map +1 -1
  107. package/build/core/domains/trajectory/git/rerank/presets/security-audit.d.ts +2 -1
  108. package/build/core/domains/trajectory/git/rerank/presets/security-audit.d.ts.map +1 -1
  109. package/build/core/domains/trajectory/git/rerank/presets/security-audit.js +6 -3
  110. package/build/core/domains/trajectory/git/rerank/presets/security-audit.js.map +1 -1
  111. package/build/core/domains/trajectory/git/rerank/presets/stable.d.ts.map +1 -1
  112. package/build/core/domains/trajectory/git/rerank/presets/stable.js +1 -1
  113. package/build/core/domains/trajectory/git/rerank/presets/stable.js.map +1 -1
  114. package/build/core/domains/trajectory/git/rerank/presets/tech-debt.d.ts.map +1 -1
  115. package/build/core/domains/trajectory/git/rerank/presets/tech-debt.js +5 -3
  116. package/build/core/domains/trajectory/git/rerank/presets/tech-debt.js.map +1 -1
  117. package/build/core/domains/trajectory/static/rerank/presets/decomposition.d.ts.map +1 -1
  118. package/build/core/domains/trajectory/static/rerank/presets/decomposition.js +1 -1
  119. package/build/core/domains/trajectory/static/rerank/presets/decomposition.js.map +1 -1
  120. package/build/core/domains/trajectory/static/rerank/presets/relevance.d.ts.map +1 -1
  121. package/build/core/domains/trajectory/static/rerank/presets/relevance.js +1 -1
  122. package/build/core/domains/trajectory/static/rerank/presets/relevance.js.map +1 -1
  123. package/build/mcp/tools/explore.d.ts.map +1 -1
  124. package/build/mcp/tools/explore.js +26 -3
  125. package/build/mcp/tools/explore.js.map +1 -1
  126. package/build/mcp/tools/schemas.d.ts +39 -10
  127. package/build/mcp/tools/schemas.d.ts.map +1 -1
  128. package/build/mcp/tools/schemas.js +39 -5
  129. package/build/mcp/tools/schemas.js.map +1 -1
  130. package/package.json +1 -1
@@ -0,0 +1,87 @@
1
+ /**
2
+ * SimilarSearchStrategy — find similar chunks via Qdrant recommend API.
3
+ *
4
+ * Unlike other strategies (cached in ExploreFacade constructor), this is
5
+ * created per-request because it needs positive/negative inputs per call.
6
+ */
7
+ import { BaseExploreStrategy } from "./base.js";
8
+ export class SimilarSearchStrategy extends BaseExploreStrategy {
9
+ embeddings;
10
+ input;
11
+ type = "similar";
12
+ constructor(qdrant, reranker, payloadSignals, essentialKeys, embeddings, input) {
13
+ super(qdrant, reranker, payloadSignals, essentialKeys);
14
+ this.embeddings = embeddings;
15
+ this.input = input;
16
+ }
17
+ async executeExplore(ctx) {
18
+ // 1. Collect code blocks to embed (filter empty strings)
19
+ const positiveCodeBlocks = (this.input.positiveCode ?? []).filter((c) => c.trim().length > 0);
20
+ const negativeCodeBlocks = (this.input.negativeCode ?? []).filter((c) => c.trim().length > 0);
21
+ const allCodeBlocks = [...positiveCodeBlocks, ...negativeCodeBlocks];
22
+ // 2. Embed all code blocks in one batch
23
+ let embeddedVectors = [];
24
+ if (allCodeBlocks.length > 0) {
25
+ const results = await this.embeddings.embedBatch(allCodeBlocks);
26
+ embeddedVectors = results.map((r) => r.embedding);
27
+ }
28
+ // 3. Split embedded vectors back into positive/negative
29
+ const positiveVectors = embeddedVectors.slice(0, positiveCodeBlocks.length);
30
+ const negativeVectors = embeddedVectors.slice(positiveCodeBlocks.length);
31
+ // 4. Build positive/negative arrays (IDs + vectors)
32
+ const positive = [...(this.input.positiveIds ?? []), ...positiveVectors];
33
+ const negative = [...(this.input.negativeIds ?? []), ...negativeVectors];
34
+ // 5. Build filter (merge user filter + fileExtensions)
35
+ const filter = this.buildFilter(ctx.filter, this.input.fileExtensions);
36
+ // 6. Call Qdrant query (overfetch for file-level dedup)
37
+ const fetchLimit = ctx.level === "file" ? ctx.limit * 3 : ctx.limit;
38
+ const results = await this.qdrant.query(ctx.collectionName, {
39
+ positive,
40
+ negative: negative.length > 0 ? negative : undefined,
41
+ strategy: this.input.strategy ?? "best_score",
42
+ limit: fetchLimit,
43
+ offset: ctx.offset,
44
+ filter,
45
+ });
46
+ // Client-side grouping for file level
47
+ if (ctx.level === "file") {
48
+ return this.groupByFile(results, ctx.limit);
49
+ }
50
+ return results;
51
+ }
52
+ buildFilter(userFilter, fileExtensions) {
53
+ const extensionCondition = fileExtensions?.length
54
+ ? { key: "fileExtension", match: { any: fileExtensions } }
55
+ : undefined;
56
+ if (!userFilter && !extensionCondition)
57
+ return undefined;
58
+ const mustClauses = [];
59
+ // Merge existing must clauses from user filter
60
+ if (userFilter) {
61
+ if (Array.isArray(userFilter.must)) {
62
+ mustClauses.push(...userFilter.must);
63
+ }
64
+ else if (!userFilter.must && !userFilter.should && !userFilter.must_not) {
65
+ // Simple key-value filter — convert to must format
66
+ const entries = Object.entries(userFilter).map(([key, value]) => ({
67
+ key,
68
+ match: { value },
69
+ }));
70
+ mustClauses.push(...entries);
71
+ }
72
+ }
73
+ if (extensionCondition) {
74
+ mustClauses.push(extensionCondition);
75
+ }
76
+ if (mustClauses.length === 0)
77
+ return userFilter;
78
+ // Preserve should/must_not from user filter
79
+ const result = { must: mustClauses };
80
+ if (userFilter?.should)
81
+ result.should = userFilter.should;
82
+ if (userFilter?.must_not)
83
+ result.must_not = userFilter.must_not;
84
+ return result;
85
+ }
86
+ }
87
+ //# sourceMappingURL=similar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"similar.js","sourceRoot":"","sources":["../../../../../src/core/domains/explore/strategies/similar.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export interface ExploreResult<P = Record<string, unknown>> {
30
30
  rankingOverlay?: RankingOverlay;
31
31
  }
32
32
  export interface ExploreStrategy {
33
- readonly type: "vector" | "hybrid" | "scroll-rank";
33
+ readonly type: "vector" | "hybrid" | "scroll-rank" | "similar";
34
34
  execute: (ctx: ExploreContext) => Promise<ExploreResult[]>;
35
35
  }
36
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/domains/explore/strategies/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAE3E,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IACnD,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CAC5D;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,cAAc,EAAE,MAAM;CAMnC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/domains/explore/strategies/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAE3E,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAC;IAC/D,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CAC5D;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,cAAc,EAAE,MAAM;CAMnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../../../src/core/domains/explore/strategies/vector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,qBAAa,oBAAqB,SAAQ,mBAAmB;IAC3D,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;cAElB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAM9E"}
1
+ {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../../../src/core/domains/explore/strategies/vector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,qBAAa,oBAAqB,SAAQ,mBAAmB;IAC3D,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;cAElB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAc9E"}
@@ -11,6 +11,14 @@ export class VectorSearchStrategy extends BaseExploreStrategy {
11
11
  if (!ctx.embedding) {
12
12
  throw new Error("VectorSearchStrategy requires an embedding in the context.");
13
13
  }
14
+ if (ctx.level === "file") {
15
+ return this.qdrant.queryGroups(ctx.collectionName, ctx.embedding, {
16
+ groupBy: "relativePath",
17
+ groupSize: 1,
18
+ limit: ctx.limit,
19
+ filter: ctx.filter,
20
+ });
21
+ }
14
22
  return this.qdrant.search(ctx.collectionName, ctx.embedding, ctx.limit, ctx.filter);
15
23
  }
16
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../../../src/core/domains/explore/strategies/vector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,MAAM,OAAO,oBAAqB,SAAQ,mBAAmB;IAClD,IAAI,GAAG,QAAiB,CAAC;IAExB,KAAK,CAAC,cAAc,CAAC,GAAmB;QAChD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtF,CAAC;CACF"}
1
+ {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../../../src/core/domains/explore/strategies/vector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,MAAM,OAAO,oBAAqB,SAAQ,mBAAmB;IAClD,IAAI,GAAG,QAAiB,CAAC;IAExB,KAAK,CAAC,cAAc,CAAC,GAAmB;QAChD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE;gBAChE,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtF,CAAC;CACF"}
@@ -7,7 +7,7 @@ export class AgeSignal {
7
7
  extract(rawSignals, ctx) {
8
8
  const fb = ctx?.bounds?.["file.ageDays"] ?? this.defaultBound;
9
9
  const cb = ctx?.bounds?.["chunk.ageDays"] ?? this.defaultBound;
10
- return blendNormalized(rawSignals, "ageDays", fb, cb);
10
+ return blendNormalized(rawSignals, "ageDays", fb, cb, ctx?.signalLevel);
11
11
  }
12
12
  }
13
13
  //# sourceMappingURL=age.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"age.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/age.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,SAAS;IACX,IAAI,GAAG,KAAK,CAAC;IACb,WAAW,GAAG,qEAAqE,CAAC;IACpF,OAAO,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC5C,YAAY,GAAG,GAAG,CAAC;IAC5B,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC9D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC/D,OAAO,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;CACF"}
1
+ {"version":3,"file":"age.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/age.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,SAAS;IACX,IAAI,GAAG,KAAK,CAAC;IACb,WAAW,GAAG,qEAAqE,CAAC;IACpF,OAAO,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC5C,YAAY,GAAG,GAAG,CAAC;IAC5B,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC9D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC/D,OAAO,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1E,CAAC;CACF"}
@@ -5,6 +5,6 @@ export declare class BlockPenaltySignal implements DerivedSignalDescriptor {
5
5
  readonly description = "Data quality discount for block chunks: 1.0 if block without chunk data (alpha=0), 0 otherwise";
6
6
  readonly sources: string[];
7
7
  readonly inverted: true;
8
- extract(rawSignals: Record<string, unknown>, _ctx?: ExtractContext): number;
8
+ extract(rawSignals: Record<string, unknown>, ctx?: ExtractContext): number;
9
9
  }
10
10
  //# sourceMappingURL=block-penalty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block-penalty.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/block-penalty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAGnF,qBAAa,kBAAmB,YAAW,uBAAuB;IAChE,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,WAAW,oGAC+E;IACnG,QAAQ,CAAC,OAAO,WAA6C;IAC7D,QAAQ,CAAC,QAAQ,EAAG,IAAI,CAAU;IAClC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM;CAW5E"}
1
+ {"version":3,"file":"block-penalty.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/block-penalty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAGnF,qBAAa,kBAAmB,YAAW,uBAAuB;IAChE,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,WAAW,oGAC+E;IACnG,QAAQ,CAAC,OAAO,WAA6C;IAC7D,QAAQ,CAAC,QAAQ,EAAG,IAAI,CAAU;IAClC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,MAAM;CAW3E"}
@@ -4,13 +4,13 @@ export class BlockPenaltySignal {
4
4
  description = "Data quality discount for block chunks: 1.0 if block without chunk data (alpha=0), 0 otherwise";
5
5
  sources = ["chunk.commitCount", "file.commitCount"];
6
6
  inverted = true;
7
- extract(rawSignals, _ctx) {
7
+ extract(rawSignals, ctx) {
8
8
  const { chunkType } = rawSignals;
9
9
  if (chunkType !== "block")
10
10
  return 0;
11
11
  // If chunk-level git data exists, compute alpha to determine penalty
12
12
  if (hasChunkData(rawSignals)) {
13
- const alpha = payloadAlpha(rawSignals);
13
+ const alpha = payloadAlpha(rawSignals, ctx?.signalLevel);
14
14
  return 1.0 - alpha;
15
15
  }
16
16
  // No chunk data at all — full penalty
@@ -1 +1 @@
1
- {"version":3,"file":"block-penalty.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/block-penalty.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,OAAO,kBAAkB;IACpB,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAClB,gGAAgG,CAAC;IAC1F,OAAO,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IACpD,QAAQ,GAAG,IAAa,CAAC;IAClC,OAAO,CAAC,UAAmC,EAAE,IAAqB;QAChE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;QACjC,IAAI,SAAS,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC;QACpC,qEAAqE;QACrE,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YACvC,OAAO,GAAG,GAAG,KAAK,CAAC;QACrB,CAAC;QACD,sCAAsC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"block-penalty.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/block-penalty.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,OAAO,kBAAkB;IACpB,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAClB,gGAAgG,CAAC;IAC1F,OAAO,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IACpD,QAAQ,GAAG,IAAa,CAAC;IAClC,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;QACjC,IAAI,SAAS,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC;QACpC,qEAAqE;QACrE,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YACzD,OAAO,GAAG,GAAG,KAAK,CAAC;QACrB,CAAC;QACD,sCAAsC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
@@ -9,7 +9,7 @@ export class BugFixSignal {
9
9
  extract(rawSignals, ctx) {
10
10
  const fb = ctx?.bounds?.["file.bugFixRate"] ?? this.defaultBound;
11
11
  const cb = ctx?.bounds?.["chunk.bugFixRate"] ?? this.defaultBound;
12
- let value = blendNormalized(rawSignals, "bugFixRate", fb, cb);
12
+ let value = blendNormalized(rawSignals, "bugFixRate", fb, cb, ctx?.signalLevel);
13
13
  const k = ctx?.dampeningThreshold ?? BugFixSignal.FALLBACK_THRESHOLD;
14
14
  value *= confidenceDampening(fileNum(rawSignals, "commitCount"), k);
15
15
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"bug-fix.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/bug-fix.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,MAAM,OAAO,YAAY;IACd,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,0FAA0F,CAAC;IACzG,OAAO,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;IAClD,YAAY,GAAG,GAAG,CAAC;IACnB,eAAe,GAAG,kBAAkB,CAAC;IACtC,MAAM,CAAU,kBAAkB,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACjE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAClE,IAAI,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,GAAG,EAAE,kBAAkB,IAAI,YAAY,CAAC,kBAAkB,CAAC;QACrE,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC"}
1
+ {"version":3,"file":"bug-fix.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/bug-fix.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,MAAM,OAAO,YAAY;IACd,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,0FAA0F,CAAC;IACzG,OAAO,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;IAClD,YAAY,GAAG,GAAG,CAAC;IACnB,eAAe,GAAG,kBAAkB,CAAC;IACtC,MAAM,CAAU,kBAAkB,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACjE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAClE,IAAI,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAChF,MAAM,CAAC,GAAG,GAAG,EAAE,kBAAkB,IAAI,YAAY,CAAC,kBAAkB,CAAC;QACrE,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC"}
@@ -7,7 +7,7 @@ export class BurstActivitySignal {
7
7
  extract(rawSignals, ctx) {
8
8
  const fb = ctx?.bounds?.["file.recencyWeightedFreq"] ?? this.defaultBound;
9
9
  const cb = ctx?.bounds?.["chunk.recencyWeightedFreq"] ?? this.defaultBound;
10
- return blendNormalized(rawSignals, "recencyWeightedFreq", fb, cb);
10
+ return blendNormalized(rawSignals, "recencyWeightedFreq", fb, cb, ctx?.signalLevel);
11
11
  }
12
12
  }
13
13
  //# sourceMappingURL=burst-activity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"burst-activity.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/burst-activity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,mBAAmB;IACrB,IAAI,GAAG,eAAe,CAAC;IACvB,WAAW,GAAG,8EAA8E,CAAC;IAC7F,OAAO,GAAG,CAAC,0BAA0B,EAAE,2BAA2B,CAAC,CAAC;IACpE,YAAY,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC1E,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,2BAA2B,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC3E,OAAO,eAAe,CAAC,UAAU,EAAE,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;CACF"}
1
+ {"version":3,"file":"burst-activity.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/burst-activity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,mBAAmB;IACrB,IAAI,GAAG,eAAe,CAAC;IACvB,WAAW,GAAG,8EAA8E,CAAC;IAC7F,OAAO,GAAG,CAAC,0BAA0B,EAAE,2BAA2B,CAAC,CAAC;IACpE,YAAY,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC1E,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,2BAA2B,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC3E,OAAO,eAAe,CAAC,UAAU,EAAE,qBAAqB,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IACtF,CAAC;CACF"}
@@ -8,7 +8,7 @@ export class ChunkChurnSignal {
8
8
  extract(rawSignals, ctx) {
9
9
  const b = ctx?.bounds?.["chunk.commitCount"] ?? this.defaultBound;
10
10
  const chunkCC = chunkNum(rawSignals, "commitCount");
11
- const alpha = payloadAlpha(rawSignals);
11
+ const alpha = payloadAlpha(rawSignals, ctx?.signalLevel);
12
12
  return normalize(chunkCC, b) * alpha;
13
13
  }
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-churn.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/chunk-churn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAGrE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,oEAAoE,CAAC;IACnF,OAAO,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IACpD,YAAY,GAAG,EAAE,CAAC;IAC3B,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"chunk-churn.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/chunk-churn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAGrE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,oEAAoE,CAAC;IACnF,OAAO,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IACpD,YAAY,GAAG,EAAE,CAAC;IAC3B,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;IACvC,CAAC;CACF"}
@@ -8,7 +8,7 @@ export class ChunkRelativeChurnSignal {
8
8
  extract(rawSignals, ctx) {
9
9
  const b = ctx?.bounds?.["chunk.churnRatio"] ?? this.defaultBound;
10
10
  const chunkCR = chunkNum(rawSignals, "churnRatio");
11
- const alpha = payloadAlpha(rawSignals);
11
+ const alpha = payloadAlpha(rawSignals, ctx?.signalLevel);
12
12
  return normalize(chunkCR, b) * alpha;
13
13
  }
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-relative-churn.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/chunk-relative-churn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAGrE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,OAAO,wBAAwB;IAC1B,IAAI,GAAG,oBAAoB,CAAC;IAC5B,WAAW,GAAG,0EAA0E,CAAC;IACzF,OAAO,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACnD,YAAY,GAAG,GAAG,CAAC;IAC5B,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACjE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"chunk-relative-churn.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/chunk-relative-churn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAGrE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,OAAO,wBAAwB;IAC1B,IAAI,GAAG,oBAAoB,CAAC;IAC5B,WAAW,GAAG,0EAA0E,CAAC;IACzF,OAAO,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACnD,YAAY,GAAG,GAAG,CAAC;IAC5B,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACjE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;IACvC,CAAC;CACF"}
@@ -7,7 +7,7 @@ export class ChurnSignal {
7
7
  extract(rawSignals, ctx) {
8
8
  const fb = ctx?.bounds?.["file.commitCount"] ?? this.defaultBound;
9
9
  const cb = ctx?.bounds?.["chunk.commitCount"] ?? this.defaultBound;
10
- return blendNormalized(rawSignals, "commitCount", fb, cb);
10
+ return blendNormalized(rawSignals, "commitCount", fb, cb, ctx?.signalLevel);
11
11
  }
12
12
  }
13
13
  //# sourceMappingURL=churn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"churn.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/churn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,OAAO,CAAC;IACf,WAAW,GAClB,+FAA+F,CAAC;IACzF,OAAO,GAAG,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACpD,YAAY,GAAG,EAAE,CAAC;IAC3B,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAClE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACnE,OAAO,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF"}
1
+ {"version":3,"file":"churn.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/churn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,OAAO,CAAC;IACf,WAAW,GAClB,+FAA+F,CAAC;IACzF,OAAO,GAAG,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACpD,YAAY,GAAG,EAAE,CAAC;IAC3B,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAClE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACnE,OAAO,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;CACF"}
@@ -9,7 +9,7 @@ export class DensitySignal {
9
9
  extract(rawSignals, ctx) {
10
10
  const fb = ctx?.bounds?.["file.changeDensity"] ?? this.defaultBound;
11
11
  const cb = ctx?.bounds?.["chunk.changeDensity"] ?? this.defaultBound;
12
- let value = blendNormalized(rawSignals, "changeDensity", fb, cb);
12
+ let value = blendNormalized(rawSignals, "changeDensity", fb, cb, ctx?.signalLevel);
13
13
  const k = ctx?.dampeningThreshold ?? DensitySignal.FALLBACK_THRESHOLD;
14
14
  value *= confidenceDampening(fileNum(rawSignals, "commitCount"), k);
15
15
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"density.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/density.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,MAAM,OAAO,aAAa;IACf,IAAI,GAAG,SAAS,CAAC;IACjB,WAAW,GAAG,wEAAwE,CAAC;IACvF,OAAO,GAAG,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IACxD,YAAY,GAAG,EAAE,CAAC;IAClB,eAAe,GAAG,kBAAkB,CAAC;IACtC,MAAM,CAAU,kBAAkB,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACpE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACrE,IAAI,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,GAAG,EAAE,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,CAAC;QACtE,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC"}
1
+ {"version":3,"file":"density.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/density.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,MAAM,OAAO,aAAa;IACf,IAAI,GAAG,SAAS,CAAC;IACjB,WAAW,GAAG,wEAAwE,CAAC;IACvF,OAAO,GAAG,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IACxD,YAAY,GAAG,EAAE,CAAC;IAClB,eAAe,GAAG,kBAAkB,CAAC;IACtC,MAAM,CAAU,kBAAkB,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACpE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACrE,IAAI,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACnF,MAAM,CAAC,GAAG,GAAG,EAAE,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,CAAC;QACtE,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC"}
@@ -5,6 +5,7 @@
5
5
  * Generic algorithms (computeAlpha, blend, normalize, confidenceDampening)
6
6
  * live in contracts/signal-utils.
7
7
  */
8
+ import type { SignalLevel } from "../../../../../contracts/types/reranker.js";
8
9
  export { blend, computeAlpha, confidenceDampening, normalize } from "../../../../../contracts/signal-utils.js";
9
10
  export { GIT_FILE_DAMPENING } from "../constants.js";
10
11
  export interface GitLike {
@@ -29,16 +30,16 @@ export declare function chunkField(payload: Record<string, unknown>, field: stri
29
30
  export declare function chunkNum(payload: Record<string, unknown>, field: string): number;
30
31
  /** Check if chunk-level data exists at all. */
31
32
  export declare function hasChunkData(payload: Record<string, unknown>): boolean;
32
- /** Get alpha from payload's chunk and file commit counts. */
33
- export declare function payloadAlpha(payload: Record<string, unknown>): number;
33
+ /** Get alpha from payload's chunk and file commit counts. Returns 0 when signalLevel is "file". */
34
+ export declare function payloadAlpha(payload: Record<string, unknown>, signalLevel?: SignalLevel): number;
34
35
  /**
35
36
  * Blend a file+chunk numeric signal using payload alpha.
36
37
  * For signals where chunk-level data may not exist (e.g., ageDays, bugFixRate).
37
38
  */
38
- export declare function blendSignal(payload: Record<string, unknown>, field: string): number;
39
+ export declare function blendSignal(payload: Record<string, unknown>, field: string, signalLevel?: SignalLevel): number;
39
40
  /**
40
41
  * Normalize file and chunk values with per-source bounds, then alpha-blend.
41
42
  * Each source is normalized to its own distribution before blending.
42
43
  */
43
- export declare function blendNormalized(payload: Record<string, unknown>, field: string, fileBound: number, chunkBound: number): number;
44
+ export declare function blendNormalized(payload: Record<string, unknown>, field: string, fileBound: number, chunkBound: number, signalLevel?: SignalLevel): number;
44
45
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAE/G,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAMrD,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sDAAsD;AACtD,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,GAAG,SAAS,CAI5E;AAED,gEAAgE;AAChE,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAYlF;AAED,uCAAuC;AACvC,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM9F;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAQtE;AAMD,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAYrE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMnF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,MAAM,CAOR"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAG9E,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAE/G,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAMrD,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sDAAsD;AACtD,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,GAAG,SAAS,CAI5E;AAED,gEAAgE;AAChE,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAYlF;AAED,uCAAuC;AACvC,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM9F;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAQtE;AAMD,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,CAahG;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,CAM9G;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,WAAW,GACxB,MAAM,CAOR"}
@@ -70,8 +70,10 @@ export function hasChunkData(payload) {
70
70
  // ---------------------------------------------------------------------------
71
71
  // Blending helpers (compute alpha from payload)
72
72
  // ---------------------------------------------------------------------------
73
- /** Get alpha from payload's chunk and file commit counts. */
74
- export function payloadAlpha(payload) {
73
+ /** Get alpha from payload's chunk and file commit counts. Returns 0 when signalLevel is "file". */
74
+ export function payloadAlpha(payload, signalLevel) {
75
+ if (signalLevel === "file")
76
+ return 0;
75
77
  const chunkCC = chunkField(payload, "commitCount");
76
78
  if (chunkCC === undefined || chunkCC <= 0)
77
79
  return 0;
@@ -88,9 +90,9 @@ export function payloadAlpha(payload) {
88
90
  * Blend a file+chunk numeric signal using payload alpha.
89
91
  * For signals where chunk-level data may not exist (e.g., ageDays, bugFixRate).
90
92
  */
91
- export function blendSignal(payload, field) {
93
+ export function blendSignal(payload, field, signalLevel) {
92
94
  const fileVal = fileNum(payload, field);
93
- const alpha = payloadAlpha(payload);
95
+ const alpha = payloadAlpha(payload, signalLevel);
94
96
  if (alpha === 0)
95
97
  return fileVal;
96
98
  const chunkVal = chunkField(payload, field);
@@ -100,9 +102,9 @@ export function blendSignal(payload, field) {
100
102
  * Normalize file and chunk values with per-source bounds, then alpha-blend.
101
103
  * Each source is normalized to its own distribution before blending.
102
104
  */
103
- export function blendNormalized(payload, field, fileBound, chunkBound) {
105
+ export function blendNormalized(payload, field, fileBound, chunkBound, signalLevel) {
104
106
  const fileVal = normalize(fileNum(payload, field), fileBound);
105
- const alpha = payloadAlpha(payload);
107
+ const alpha = payloadAlpha(payload, signalLevel);
106
108
  if (alpha === 0)
107
109
  return fileVal;
108
110
  const chunkVal = chunkField(payload, field);
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAG1F,8DAA8D;AAC9D,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAC/G,0BAA0B;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAYrD,sDAAsD;AACtD,MAAM,UAAU,MAAM,CAAC,OAAgC;IACrD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACxB,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAc,CAAC;IAC1D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,SAAS,CAAC,OAAgC,EAAE,KAAa;IACvE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,2BAA2B;IAC3B,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAClE,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,oBAAoB;IACpB,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,OAAO,CAAC,OAAgC,EAAE,KAAa;IACrE,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgC,EAAE,KAAa;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACnE,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAgC,EAAE,KAAa;IACtE,OAAO,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,YAAY,CAAC,OAAgC;IAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QACtB,OAAO,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AAE9E,mGAAmG;AACnG,MAAM,UAAU,YAAY,CAAC,OAAgC,EAAE,WAAyB;IACtF,IAAI,WAAW,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACnD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAEpD,uDAAuD;IACvD,uEAAuE;IACvE,mEAAmE;IACnE,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACpD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAgC,EAAE,KAAa,EAAE,WAAyB;IACpG,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAgC,EAChC,KAAa,EACb,SAAiB,EACjB,UAAkB,EAClB,WAAyB;IAEzB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3F,OAAO,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC"}
@@ -6,7 +6,7 @@ export class KnowledgeSiloSignal {
6
6
  dampeningSource = GIT_FILE_DAMPENING;
7
7
  static FALLBACK_THRESHOLD = 5;
8
8
  extract(rawSignals, ctx) {
9
- const effectiveCount = blendSignal(rawSignals, "contributorCount");
9
+ const effectiveCount = blendSignal(rawSignals, "contributorCount", ctx?.signalLevel);
10
10
  let value;
11
11
  if (effectiveCount <= 0)
12
12
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-silo.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/knowledge-silo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE7F,MAAM,OAAO,mBAAmB;IACrB,IAAI,GAAG,eAAe,CAAC;IACvB,WAAW,GAAG,4FAA4F,CAAC;IAC3G,OAAO,GAAG,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;IAC9D,eAAe,GAAG,kBAAkB,CAAC;IACtC,MAAM,CAAU,kBAAkB,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACnE,IAAI,KAAa,CAAC;QAClB,IAAI,cAAc,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAClC,IAAI,cAAc,KAAK,CAAC;YAAE,KAAK,GAAG,GAAG,CAAC;aACjC,IAAI,cAAc,KAAK,CAAC;YAAE,KAAK,GAAG,GAAG,CAAC;;YACtC,OAAO,CAAC,CAAC;QACd,MAAM,CAAC,GAAG,GAAG,EAAE,kBAAkB,IAAI,mBAAmB,CAAC,kBAAkB,CAAC;QAC5E,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC"}
1
+ {"version":3,"file":"knowledge-silo.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/knowledge-silo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE7F,MAAM,OAAO,mBAAmB;IACrB,IAAI,GAAG,eAAe,CAAC;IACvB,WAAW,GAAG,4FAA4F,CAAC;IAC3G,OAAO,GAAG,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;IAC9D,eAAe,GAAG,kBAAkB,CAAC;IACtC,MAAM,CAAU,kBAAkB,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACrF,IAAI,KAAa,CAAC;QAClB,IAAI,cAAc,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAClC,IAAI,cAAc,KAAK,CAAC;YAAE,KAAK,GAAG,GAAG,CAAC;aACjC,IAAI,cAAc,KAAK,CAAC;YAAE,KAAK,GAAG,GAAG,CAAC;;YACtC,OAAO,CAAC,CAAC;QACd,MAAM,CAAC,GAAG,GAAG,EAAE,kBAAkB,IAAI,mBAAmB,CAAC,kBAAkB,CAAC;QAC5E,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC"}
@@ -8,7 +8,7 @@ export class RecencySignal {
8
8
  extract(rawSignals, ctx) {
9
9
  const fb = ctx?.bounds?.["file.ageDays"] ?? this.defaultBound;
10
10
  const cb = ctx?.bounds?.["chunk.ageDays"] ?? this.defaultBound;
11
- return 1 - blendNormalized(rawSignals, "ageDays", fb, cb);
11
+ return 1 - blendNormalized(rawSignals, "ageDays", fb, cb, ctx?.signalLevel);
12
12
  }
13
13
  }
14
14
  //# sourceMappingURL=recency.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recency.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/recency.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,aAAa;IACf,IAAI,GAAG,SAAS,CAAC;IACjB,WAAW,GAAG,qFAAqF,CAAC;IACpG,OAAO,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC5C,YAAY,GAAG,GAAG,CAAC;IACnB,QAAQ,GAAG,IAAa,CAAC;IAClC,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC9D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC/D,OAAO,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF"}
1
+ {"version":3,"file":"recency.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/recency.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,aAAa;IACf,IAAI,GAAG,SAAS,CAAC;IACjB,WAAW,GAAG,qFAAqF,CAAC;IACpG,OAAO,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC5C,YAAY,GAAG,GAAG,CAAC;IACnB,QAAQ,GAAG,IAAa,CAAC;IAClC,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC9D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAC/D,OAAO,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;CACF"}
@@ -9,7 +9,7 @@ export class RelativeChurnNormSignal {
9
9
  extract(rawSignals, ctx) {
10
10
  const fb = ctx?.bounds?.["file.relativeChurn"] ?? this.defaultBound;
11
11
  const cb = ctx?.bounds?.["chunk.relativeChurn"] ?? this.defaultBound;
12
- let value = blendNormalized(rawSignals, "relativeChurn", fb, cb);
12
+ let value = blendNormalized(rawSignals, "relativeChurn", fb, cb, ctx?.signalLevel);
13
13
  const k = ctx?.dampeningThreshold ?? RelativeChurnNormSignal.FALLBACK_THRESHOLD;
14
14
  value *= confidenceDampening(fileNum(rawSignals, "commitCount"), k);
15
15
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"relative-churn-norm.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/relative-churn-norm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,MAAM,OAAO,uBAAuB;IACzB,IAAI,GAAG,mBAAmB,CAAC;IAC3B,WAAW,GAAG,0FAA0F,CAAC;IACzG,OAAO,GAAG,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IACxD,YAAY,GAAG,GAAG,CAAC;IACnB,eAAe,GAAG,kBAAkB,CAAC;IACtC,MAAM,CAAU,kBAAkB,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACpE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACrE,IAAI,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,GAAG,EAAE,kBAAkB,IAAI,uBAAuB,CAAC,kBAAkB,CAAC;QAChF,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC"}
1
+ {"version":3,"file":"relative-churn-norm.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/relative-churn-norm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,MAAM,OAAO,uBAAuB;IACzB,IAAI,GAAG,mBAAmB,CAAC;IAC3B,WAAW,GAAG,0FAA0F,CAAC;IACzG,OAAO,GAAG,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IACxD,YAAY,GAAG,GAAG,CAAC;IACnB,eAAe,GAAG,kBAAkB,CAAC;IACtC,MAAM,CAAU,kBAAkB,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACpE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACrE,IAAI,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACnF,MAAM,CAAC,GAAG,GAAG,EAAE,kBAAkB,IAAI,uBAAuB,CAAC,kBAAkB,CAAC;QAChF,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC"}
@@ -8,7 +8,7 @@ export class StabilitySignal {
8
8
  extract(rawSignals, ctx) {
9
9
  const fb = ctx?.bounds?.["file.commitCount"] ?? this.defaultBound;
10
10
  const cb = ctx?.bounds?.["chunk.commitCount"] ?? this.defaultBound;
11
- return 1 - blendNormalized(rawSignals, "commitCount", fb, cb);
11
+ return 1 - blendNormalized(rawSignals, "commitCount", fb, cb, ctx?.signalLevel);
12
12
  }
13
13
  }
14
14
  //# sourceMappingURL=stability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stability.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/stability.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,eAAe;IACjB,IAAI,GAAG,WAAW,CAAC;IACnB,WAAW,GAClB,iGAAiG,CAAC;IAC3F,OAAO,GAAG,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACpD,YAAY,GAAG,EAAE,CAAC;IAClB,QAAQ,GAAG,IAAa,CAAC;IAClC,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAClE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACnE,OAAO,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;CACF"}
1
+ {"version":3,"file":"stability.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/stability.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,eAAe;IACjB,IAAI,GAAG,WAAW,CAAC;IACnB,WAAW,GAClB,iGAAiG,CAAC;IAC3F,OAAO,GAAG,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACpD,YAAY,GAAG,EAAE,CAAC;IAClB,QAAQ,GAAG,IAAa,CAAC;IAClC,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAClE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACnE,OAAO,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IAClF,CAAC;CACF"}
@@ -9,7 +9,7 @@ export class VolatilitySignal {
9
9
  extract(rawSignals, ctx) {
10
10
  const fb = ctx?.bounds?.["file.churnVolatility"] ?? this.defaultBound;
11
11
  const cb = ctx?.bounds?.["chunk.churnVolatility"] ?? this.defaultBound;
12
- let value = blendNormalized(rawSignals, "churnVolatility", fb, cb);
12
+ let value = blendNormalized(rawSignals, "churnVolatility", fb, cb, ctx?.signalLevel);
13
13
  const k = ctx?.dampeningThreshold ?? VolatilitySignal.FALLBACK_THRESHOLD;
14
14
  value *= confidenceDampening(fileNum(rawSignals, "commitCount"), k);
15
15
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"volatility.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/volatility.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAClB,wGAAwG,CAAC;IAClG,OAAO,GAAG,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;IAC5D,YAAY,GAAG,GAAG,CAAC;IACnB,eAAe,GAAG,kBAAkB,CAAC;IACtC,MAAM,CAAU,kBAAkB,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACtE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,uBAAuB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACvE,IAAI,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,GAAG,GAAG,EAAE,kBAAkB,IAAI,gBAAgB,CAAC,kBAAkB,CAAC;QACzE,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC"}
1
+ {"version":3,"file":"volatility.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/derived-signals/volatility.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAClB,wGAAwG,CAAC;IAClG,OAAO,GAAG,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;IAC5D,YAAY,GAAG,GAAG,CAAC;IACnB,eAAe,GAAG,kBAAkB,CAAC;IACtC,MAAM,CAAU,kBAAkB,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAmC,EAAE,GAAoB;QAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACtE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,uBAAuB,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACvE,IAAI,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACrF,MAAM,CAAC,GAAG,GAAG,EAAE,kBAAkB,IAAI,gBAAgB,CAAC,kBAAkB,CAAC;QACzE,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"code-review.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/presets/code-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE5F,qBAAa,gBAAiB,YAAW,YAAY;IACnD,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,WAAW,kDAAkD;IACtE,QAAQ,CAAC,KAAK,WAAwC;IACtD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAQ9B;IACF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAG/B;CACH"}
1
+ {"version":3,"file":"code-review.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/presets/code-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE5F,qBAAa,gBAAiB,YAAW,YAAY;IACnD,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,WAAW,kDAAkD;IACtE,QAAQ,CAAC,KAAK,WAAwD;IACtE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAQ9B;IACF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAG/B;CACH"}
@@ -1,7 +1,7 @@
1
1
  export class CodeReviewPreset {
2
2
  name = "codeReview";
3
3
  description = "Surface recent high-activity code for review";
4
- tools = ["semantic_search", "hybrid_search"];
4
+ tools = ["semantic_search", "hybrid_search", "find_similar"];
5
5
  weights = {
6
6
  similarity: 0.3,
7
7
  recency: 0.15,
@@ -1 +1 @@
1
- {"version":3,"file":"code-review.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/presets/code-review.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,8CAA8C,CAAC;IAC7D,KAAK,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC7C,OAAO,GAAmB;QACjC,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,GAAG;QAClB,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,GAAG;QACvB,YAAY,EAAE,CAAC,GAAG;KACnB,CAAC;IACO,WAAW,GAAgB;QAClC,IAAI,EAAE,CAAC,SAAS,EAAE,qBAAqB,EAAE,eAAe,CAAC;QACzD,KAAK,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;KACrC,CAAC;CACH"}
1
+ {"version":3,"file":"code-review.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/presets/code-review.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,8CAA8C,CAAC;IAC7D,KAAK,GAAG,CAAC,iBAAiB,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAC7D,OAAO,GAAmB;QACjC,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,GAAG;QAClB,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,GAAG;QACvB,YAAY,EAAE,CAAC,GAAG;KACnB,CAAC;IACO,WAAW,GAAgB;QAClC,IAAI,EAAE,CAAC,SAAS,EAAE,qBAAqB,EAAE,eAAe,CAAC;QACzD,KAAK,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;KACrC,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"hotspots.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/presets/hotspots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE5F,qBAAa,cAAe,YAAW,YAAY;IACjD,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,WAAW,uDAAuD;IAC3E,QAAQ,CAAC,KAAK,WAAuD;IACrE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAS9B;IACF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAG/B;CACH"}
1
+ {"version":3,"file":"hotspots.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/presets/hotspots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE5F,qBAAa,cAAe,YAAW,YAAY;IACjD,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,WAAW,uDAAuD;IAC3E,QAAQ,CAAC,KAAK,WAAuE;IACrF,QAAQ,CAAC,OAAO,EAAE,cAAc,CAS9B;IACF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAG/B;CACH"}
@@ -1,7 +1,7 @@
1
1
  export class HotspotsPreset {
2
2
  name = "hotspots";
3
3
  description = "Identify frequently-changing bug-prone code areas";
4
- tools = ["semantic_search", "hybrid_search", "rank_chunks"];
4
+ tools = ["semantic_search", "hybrid_search", "rank_chunks", "find_similar"];
5
5
  weights = {
6
6
  similarity: 0.2,
7
7
  chunkSize: 0.1,
@@ -1 +1 @@
1
- {"version":3,"file":"hotspots.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/presets/hotspots.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,UAAU,CAAC;IAClB,WAAW,GAAG,mDAAmD,CAAC;IAClE,KAAK,GAAG,CAAC,iBAAiB,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IAC5D,OAAO,GAAmB;QACjC,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,IAAI;QACxB,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,CAAC,IAAI;KACpB,CAAC;IACO,WAAW,GAAgB;QAClC,IAAI,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;QAC9D,KAAK,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;KACrC,CAAC;CACH"}
1
+ {"version":3,"file":"hotspots.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/presets/hotspots.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,UAAU,CAAC;IAClB,WAAW,GAAG,mDAAmD,CAAC;IAClE,KAAK,GAAG,CAAC,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IAC5E,OAAO,GAAmB;QACjC,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,IAAI;QACxB,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,CAAC,IAAI;KACpB,CAAC;IACO,WAAW,GAAgB;QAClC,IAAI,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;QAC9D,KAAK,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;KACrC,CAAC;CACH"}
@@ -1,8 +1,9 @@
1
1
  import type { ScoringWeights } from "../../../../../contracts/types/provider.js";
2
- import type { OverlayMask, RerankPreset } from "../../../../../contracts/types/reranker.js";
2
+ import type { OverlayMask, RerankPreset, SignalLevel } from "../../../../../contracts/types/reranker.js";
3
3
  export declare class OnboardingPreset implements RerankPreset {
4
4
  readonly name = "onboarding";
5
5
  readonly description = "Well-documented, stable, mature code with shared ownership \u2014 ideal for new team members";
6
+ readonly signalLevel: SignalLevel;
6
7
  readonly tools: string[];
7
8
  readonly weights: ScoringWeights;
8
9
  readonly overlayMask: OverlayMask;
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/presets/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE5F,qBAAa,gBAAiB,YAAW,YAAY;IACnD,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,WAAW,kGAA6F;IACjH,QAAQ,CAAC,KAAK,WAAwC;IACtD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAO9B;IACF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAG/B;CACH"}
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/presets/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzG,qBAAa,gBAAiB,YAAW,YAAY;IACnD,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,WAAW,kGAA6F;IACjH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAU;IAC3C,QAAQ,CAAC,KAAK,WAAwD;IACtE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAO9B;IACF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAG/B;CACH"}
@@ -1,7 +1,8 @@
1
1
  export class OnboardingPreset {
2
2
  name = "onboarding";
3
3
  description = "Well-documented, stable, mature code with shared ownership — ideal for new team members";
4
- tools = ["semantic_search", "hybrid_search"];
4
+ signalLevel = "file";
5
+ tools = ["semantic_search", "hybrid_search", "find_similar"];
5
6
  weights = {
6
7
  similarity: 0.3,
7
8
  documentation: 0.2,
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/presets/onboarding.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,yFAAyF,CAAC;IACxG,KAAK,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC7C,OAAO,GAAmB;QACjC,UAAU,EAAE,GAAG;QACf,aAAa,EAAE,GAAG;QAClB,SAAS,EAAE,GAAG;QACd,GAAG,EAAE,GAAG;QACR,SAAS,EAAE,CAAC,GAAG;QACf,UAAU,EAAE,CAAC,GAAG;KACjB,CAAC;IACO,WAAW,GAAgB;QAClC,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;QACxE,KAAK,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;KAClC,CAAC;CACH"}
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../../../../../../src/core/domains/trajectory/git/rerank/presets/onboarding.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,yFAAyF,CAAC;IACxG,WAAW,GAAgB,MAAM,CAAC;IAClC,KAAK,GAAG,CAAC,iBAAiB,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAC7D,OAAO,GAAmB;QACjC,UAAU,EAAE,GAAG;QACf,aAAa,EAAE,GAAG;QAClB,SAAS,EAAE,GAAG;QACd,GAAG,EAAE,GAAG;QACR,SAAS,EAAE,CAAC,GAAG;QACf,UAAU,EAAE,CAAC,GAAG;KACjB,CAAC;IACO,WAAW,GAAgB;QAClC,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;QACxE,KAAK,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;KAClC,CAAC;CACH"}