@mneme-ai/core 0.15.0 → 0.17.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 (53) hide show
  1. package/dist/forensics/anomaly.d.ts +83 -0
  2. package/dist/forensics/anomaly.d.ts.map +1 -0
  3. package/dist/forensics/anomaly.js +218 -0
  4. package/dist/forensics/anomaly.js.map +1 -0
  5. package/dist/forensics/forensics.test.d.ts +2 -0
  6. package/dist/forensics/forensics.test.d.ts.map +1 -0
  7. package/dist/forensics/forensics.test.js +281 -0
  8. package/dist/forensics/forensics.test.js.map +1 -0
  9. package/dist/forensics/index.d.ts +5 -0
  10. package/dist/forensics/index.d.ts.map +1 -0
  11. package/dist/forensics/index.js +5 -0
  12. package/dist/forensics/index.js.map +1 -0
  13. package/dist/forensics/likelihood.d.ts +120 -0
  14. package/dist/forensics/likelihood.d.ts.map +1 -0
  15. package/dist/forensics/likelihood.js +161 -0
  16. package/dist/forensics/likelihood.js.map +1 -0
  17. package/dist/forensics/loci.d.ts +54 -0
  18. package/dist/forensics/loci.d.ts.map +1 -0
  19. package/dist/forensics/loci.js +164 -0
  20. package/dist/forensics/loci.js.map +1 -0
  21. package/dist/forensics/vulnhunt.d.ts +62 -0
  22. package/dist/forensics/vulnhunt.d.ts.map +1 -0
  23. package/dist/forensics/vulnhunt.js +217 -0
  24. package/dist/forensics/vulnhunt.js.map +1 -0
  25. package/dist/guardian/guardian.d.ts +93 -0
  26. package/dist/guardian/guardian.d.ts.map +1 -0
  27. package/dist/guardian/guardian.js +170 -0
  28. package/dist/guardian/guardian.js.map +1 -0
  29. package/dist/guardian/guardian.test.d.ts +2 -0
  30. package/dist/guardian/guardian.test.d.ts.map +1 -0
  31. package/dist/guardian/guardian.test.js +154 -0
  32. package/dist/guardian/guardian.test.js.map +1 -0
  33. package/dist/guardian/index.d.ts +2 -0
  34. package/dist/guardian/index.d.ts.map +1 -0
  35. package/dist/guardian/index.js +2 -0
  36. package/dist/guardian/index.js.map +1 -0
  37. package/dist/index.d.ts +2 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/retrieve/index.d.ts +1 -0
  42. package/dist/retrieve/index.d.ts.map +1 -1
  43. package/dist/retrieve/index.js +1 -0
  44. package/dist/retrieve/index.js.map +1 -1
  45. package/dist/retrieve/novel-scoring.d.ts +146 -0
  46. package/dist/retrieve/novel-scoring.d.ts.map +1 -0
  47. package/dist/retrieve/novel-scoring.js +256 -0
  48. package/dist/retrieve/novel-scoring.js.map +1 -0
  49. package/dist/retrieve/novel-scoring.test.d.ts +2 -0
  50. package/dist/retrieve/novel-scoring.test.d.ts.map +1 -0
  51. package/dist/retrieve/novel-scoring.test.js +221 -0
  52. package/dist/retrieve/novel-scoring.test.js.map +1 -0
  53. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardian.test.js","sourceRoot":"","sources":["../../src/guardian/guardian.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./guardian.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guardian/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./guardian.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/guardian/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
package/dist/index.d.ts CHANGED
@@ -10,4 +10,6 @@ export * as util from "./util/index.js";
10
10
  export * as wisdom from "./wisdom/index.js";
11
11
  export * as insights from "./insights/index.js";
12
12
  export * as quant from "./quant/index.js";
13
+ export * as guardian from "./guardian/index.js";
14
+ export * as forensics from "./forensics/index.js";
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -10,4 +10,6 @@ export * as util from "./util/index.js";
10
10
  export * as wisdom from "./wisdom/index.js";
11
11
  export * as insights from "./insights/index.js";
12
12
  export * as quant from "./quant/index.js";
13
+ export * as guardian from "./guardian/index.js";
14
+ export * as forensics from "./forensics/index.js";
13
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC"}
@@ -2,4 +2,5 @@ export * from "./search.js";
2
2
  export * from "./rerank.js";
3
3
  export * from "./intent.js";
4
4
  export * from "./synthesize.js";
5
+ export * from "./novel-scoring.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retrieve/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retrieve/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
@@ -2,4 +2,5 @@ export * from "./search.js";
2
2
  export * from "./rerank.js";
3
3
  export * from "./intent.js";
4
4
  export * from "./synthesize.js";
5
+ export * from "./novel-scoring.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/retrieve/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/retrieve/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Novel scoring algorithms for Mneme retrieval.
3
+ *
4
+ * These formulas are designed to outperform pure semantic similarity by
5
+ * exploiting signals that other tools (which only embed file contents)
6
+ * cannot see: time decay, regret patterns, author diversity, and the
7
+ * causal graph implicit in commit/PR/issue references.
8
+ *
9
+ * All formulas are pure functions. They take the set of search results
10
+ * + (optional) commit history and produce a re-ranked list. Use them as
11
+ * post-processors over base BM25/cosine search.
12
+ *
13
+ * Algorithms:
14
+ * 1. TDWE — Time-Decay Weighted Embedding score
15
+ * Formula: w(c) = exp(-λ · age_days / half_life)
16
+ * adjusted = base × w(c)
17
+ *
18
+ * 2. RACB — Regret-Aware Chunk Boosting
19
+ * Formula: boost(c) = 1 + ln(1 + days_to_followup × severity_factor)
20
+ * Severity: revert=3, hotfix=2, fix=1, sameFiles=0.5, none=0
21
+ *
22
+ * 3. ADS — Author Diversity Score re-ranking
23
+ * Formula: penalty = α · (same_author_above_in_ranking / K)
24
+ * final = base × (1 - penalty)
25
+ *
26
+ * 4. CGAR — Causal Graph Augmented Retrieval (light)
27
+ * Walks PR/issue links 2 hops; chunks reachable get boost = 0.85^hops
28
+ */
29
+ import type { Commit, SearchResult } from "../types.js";
30
+ export interface TdweOptions {
31
+ /** Reference time (UTC ms). Defaults to Date.now(). */
32
+ nowMs?: number;
33
+ /**
34
+ * Half-life in days. After this many days, weight decays to 0.5.
35
+ * Default 365 — a year-old commit is half as relevant as today's.
36
+ * Set higher for stable codebases, lower for fast-moving repos.
37
+ */
38
+ halfLifeDays?: number;
39
+ /**
40
+ * λ — decay coefficient. Higher = more aggressive decay.
41
+ * Default 0.693 (ln 2) so that age = halfLifeDays gives weight 0.5.
42
+ */
43
+ lambda?: number;
44
+ }
45
+ /**
46
+ * Apply time-decay weighting to a base score.
47
+ * - A commit from today gets weight ≈ 1.0
48
+ * - A commit at half-life age gets weight ≈ 0.5
49
+ * - A commit at 2× half-life age gets weight ≈ 0.25
50
+ */
51
+ export declare function timeDecayWeight(commitDateIso: string, opts?: TdweOptions): number;
52
+ export declare function applyTdwe(results: SearchResult[], opts?: TdweOptions): SearchResult[];
53
+ export type RegretKind = "revert" | "hotfix" | "fix" | "sameFiles" | "none";
54
+ export interface RegretSignal {
55
+ /** Commit hash that exhibits a regret follow-up. */
56
+ commitHash: string;
57
+ /** What kind of follow-up was detected. */
58
+ kind: RegretKind;
59
+ /** Days from commit to its follow-up. */
60
+ daysToFollowup: number;
61
+ }
62
+ export interface RacbOptions {
63
+ /**
64
+ * Maximum boost cap (multiplicative). Default 2.5 — chunks from highly
65
+ * regretted commits get up to 2.5× boost.
66
+ */
67
+ maxBoost?: number;
68
+ /** Map regret kind → severity factor used in formula. */
69
+ severityMap?: Record<RegretKind, number>;
70
+ }
71
+ /**
72
+ * Compute regret boost for a single signal.
73
+ * boost = 1 + ln(1 + days × severity)
74
+ *
75
+ * Why ln? Because the "wisdom" in a regret saturates. A 1-day-to-fix is
76
+ * very informative; a 30-day-to-fix is *more* informative but not 30×
77
+ * more. Logarithmic growth captures diminishing returns.
78
+ */
79
+ export declare function regretBoost(signal: RegretSignal, opts?: RacbOptions): number;
80
+ export declare function applyRacb(results: SearchResult[], signals: RegretSignal[], opts?: RacbOptions): SearchResult[];
81
+ export interface AdsOptions {
82
+ /** Penalty coefficient 0..1. Higher = more aggressive diversification. Default 0.4. */
83
+ alpha?: number;
84
+ /** Cap on how many results to consider. Default Infinity. */
85
+ topK?: number;
86
+ }
87
+ /**
88
+ * Re-rank results to penalize over-representation of any single author.
89
+ *
90
+ * For each result at position i:
91
+ * sameAuthorAbove = count of (j < i) where author(j) == author(i)
92
+ * penalty = α × (sameAuthorAbove / total)
93
+ * final = base × (1 - penalty)
94
+ *
95
+ * Then re-sort by final.
96
+ *
97
+ * Why this matters: when one author dominates a topic, retrieval becomes
98
+ * monocultural. Diversity surfaces the second-most-knowledgeable
99
+ * contributor, which the user often actually needs.
100
+ */
101
+ export declare function applyAds(results: SearchResult[], opts?: AdsOptions): SearchResult[];
102
+ export interface CgarOptions {
103
+ /** Max hops to walk in the causal graph. Default 2. */
104
+ maxHops?: number;
105
+ /** Decay per hop. Default 0.85 — each hop reduces boost by 15%. */
106
+ hopDecay?: number;
107
+ /** Initial boost for direct causal neighbors. Default 1.3. */
108
+ initialBoost?: number;
109
+ }
110
+ /**
111
+ * Build adjacency of "causal references" between commits using:
112
+ * - PR numbers in body / subject
113
+ * - Issue refs (closes #N, fixes #N, etc.)
114
+ * - Reverts that name a commit hash
115
+ *
116
+ * Returns a map: commitHash → Set<referenced commit hash>
117
+ */
118
+ export declare function buildCausalGraph(commits: Commit[]): Map<string, Set<string>>;
119
+ /**
120
+ * Boost search results by causal proximity to the top hit.
121
+ *
122
+ * If a chunk's commit is referenced (directly or transitively up to
123
+ * maxHops) by another result's commit, its score gets boosted.
124
+ */
125
+ export declare function applyCgar(results: SearchResult[], commits: Commit[], opts?: CgarOptions): SearchResult[];
126
+ export interface EnsembleOptions {
127
+ tdwe?: TdweOptions | false;
128
+ racb?: {
129
+ signals: RegretSignal[];
130
+ opts?: RacbOptions;
131
+ } | false;
132
+ ads?: AdsOptions | false;
133
+ cgar?: {
134
+ commits: Commit[];
135
+ opts?: CgarOptions;
136
+ } | false;
137
+ }
138
+ /**
139
+ * Apply all four novel scoring layers in sequence:
140
+ * 1. TDWE — temporal relevance
141
+ * 2. RACB — regret-derived wisdom boost
142
+ * 3. CGAR — causal graph propagation
143
+ * 4. ADS — diversity re-ranking (last, after scoring is final)
144
+ */
145
+ export declare function applyNovelScoring(results: SearchResult[], ensemble: EnsembleOptions): SearchResult[];
146
+ //# sourceMappingURL=novel-scoring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"novel-scoring.d.ts","sourceRoot":"","sources":["../../src/retrieve/novel-scoring.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,256 @@
1
+ /**
2
+ * Novel scoring algorithms for Mneme retrieval.
3
+ *
4
+ * These formulas are designed to outperform pure semantic similarity by
5
+ * exploiting signals that other tools (which only embed file contents)
6
+ * cannot see: time decay, regret patterns, author diversity, and the
7
+ * causal graph implicit in commit/PR/issue references.
8
+ *
9
+ * All formulas are pure functions. They take the set of search results
10
+ * + (optional) commit history and produce a re-ranked list. Use them as
11
+ * post-processors over base BM25/cosine search.
12
+ *
13
+ * Algorithms:
14
+ * 1. TDWE — Time-Decay Weighted Embedding score
15
+ * Formula: w(c) = exp(-λ · age_days / half_life)
16
+ * adjusted = base × w(c)
17
+ *
18
+ * 2. RACB — Regret-Aware Chunk Boosting
19
+ * Formula: boost(c) = 1 + ln(1 + days_to_followup × severity_factor)
20
+ * Severity: revert=3, hotfix=2, fix=1, sameFiles=0.5, none=0
21
+ *
22
+ * 3. ADS — Author Diversity Score re-ranking
23
+ * Formula: penalty = α · (same_author_above_in_ranking / K)
24
+ * final = base × (1 - penalty)
25
+ *
26
+ * 4. CGAR — Causal Graph Augmented Retrieval (light)
27
+ * Walks PR/issue links 2 hops; chunks reachable get boost = 0.85^hops
28
+ */
29
+ /**
30
+ * Apply time-decay weighting to a base score.
31
+ * - A commit from today gets weight ≈ 1.0
32
+ * - A commit at half-life age gets weight ≈ 0.5
33
+ * - A commit at 2× half-life age gets weight ≈ 0.25
34
+ */
35
+ export function timeDecayWeight(commitDateIso, opts = {}) {
36
+ const nowMs = opts.nowMs ?? Date.now();
37
+ const halfLife = opts.halfLifeDays ?? 365;
38
+ const lambda = opts.lambda ?? Math.LN2;
39
+ const t = new Date(commitDateIso).getTime();
40
+ if (Number.isNaN(t))
41
+ return 1;
42
+ const ageDays = Math.max(0, (nowMs - t) / 86_400_000);
43
+ return Math.exp(-lambda * (ageDays / halfLife));
44
+ }
45
+ export function applyTdwe(results, opts = {}) {
46
+ return results
47
+ .map((r) => ({
48
+ ...r,
49
+ score: r.score * timeDecayWeight(r.commit.authorDate, opts),
50
+ }))
51
+ .sort((a, b) => b.score - a.score);
52
+ }
53
+ const DEFAULT_SEVERITY = {
54
+ revert: 3,
55
+ hotfix: 2,
56
+ fix: 1,
57
+ sameFiles: 0.5,
58
+ none: 0,
59
+ };
60
+ /**
61
+ * Compute regret boost for a single signal.
62
+ * boost = 1 + ln(1 + days × severity)
63
+ *
64
+ * Why ln? Because the "wisdom" in a regret saturates. A 1-day-to-fix is
65
+ * very informative; a 30-day-to-fix is *more* informative but not 30×
66
+ * more. Logarithmic growth captures diminishing returns.
67
+ */
68
+ export function regretBoost(signal, opts = {}) {
69
+ const maxBoost = opts.maxBoost ?? 2.5;
70
+ const severity = (opts.severityMap ?? DEFAULT_SEVERITY)[signal.kind] ?? 0;
71
+ if (severity === 0)
72
+ return 1;
73
+ const raw = 1 + Math.log(1 + signal.daysToFollowup * severity);
74
+ return Math.min(maxBoost, raw);
75
+ }
76
+ export function applyRacb(results, signals, opts = {}) {
77
+ const sigByHash = new Map();
78
+ for (const s of signals)
79
+ sigByHash.set(s.commitHash, s);
80
+ return results
81
+ .map((r) => {
82
+ const sig = sigByHash.get(r.commit.hash);
83
+ const boost = sig ? regretBoost(sig, opts) : 1;
84
+ return { ...r, score: r.score * boost };
85
+ })
86
+ .sort((a, b) => b.score - a.score);
87
+ }
88
+ /**
89
+ * Re-rank results to penalize over-representation of any single author.
90
+ *
91
+ * For each result at position i:
92
+ * sameAuthorAbove = count of (j < i) where author(j) == author(i)
93
+ * penalty = α × (sameAuthorAbove / total)
94
+ * final = base × (1 - penalty)
95
+ *
96
+ * Then re-sort by final.
97
+ *
98
+ * Why this matters: when one author dominates a topic, retrieval becomes
99
+ * monocultural. Diversity surfaces the second-most-knowledgeable
100
+ * contributor, which the user often actually needs.
101
+ */
102
+ export function applyAds(results, opts = {}) {
103
+ const alpha = opts.alpha ?? 0.4;
104
+ const topK = opts.topK ?? results.length;
105
+ const slice = results.slice(0, topK);
106
+ const total = Math.max(1, slice.length);
107
+ const adjusted = slice.map((r, i) => {
108
+ let sameAuthorAbove = 0;
109
+ for (let j = 0; j < i; j++) {
110
+ if (slice[j].commit.authorEmail === r.commit.authorEmail) {
111
+ sameAuthorAbove += 1;
112
+ }
113
+ }
114
+ const penalty = alpha * (sameAuthorAbove / total);
115
+ const finalScore = r.score * (1 - penalty);
116
+ return { ...r, score: finalScore };
117
+ });
118
+ adjusted.sort((a, b) => b.score - a.score);
119
+ return adjusted;
120
+ }
121
+ /**
122
+ * Build adjacency of "causal references" between commits using:
123
+ * - PR numbers in body / subject
124
+ * - Issue refs (closes #N, fixes #N, etc.)
125
+ * - Reverts that name a commit hash
126
+ *
127
+ * Returns a map: commitHash → Set<referenced commit hash>
128
+ */
129
+ export function buildCausalGraph(commits) {
130
+ const graph = new Map();
131
+ const byPrNumber = new Map();
132
+ for (const c of commits) {
133
+ if (c.prNumber)
134
+ byPrNumber.set(c.prNumber, c.hash);
135
+ }
136
+ const PR_REF = /(?:pr|pull request|merge\s+pull\s+request)\s*#?\s*(\d+)|#(\d+)/gi;
137
+ const HASH_REF = /\b([0-9a-f]{7,40})\b/gi;
138
+ const REVERT_HASH = /revert(?:s|ed)?\s+(?:commit\s+)?["`]?([0-9a-f]{7,40})/i;
139
+ for (const c of commits) {
140
+ const text = `${c.subject}\n${c.body || ""}`;
141
+ const refs = new Set();
142
+ // PR/issue references
143
+ let m;
144
+ PR_REF.lastIndex = 0;
145
+ while ((m = PR_REF.exec(text)) !== null) {
146
+ const num = Number(m[1] ?? m[2]);
147
+ const target = byPrNumber.get(num);
148
+ if (target && target !== c.hash)
149
+ refs.add(target);
150
+ }
151
+ // Direct hash references — match against commits in the index
152
+ HASH_REF.lastIndex = 0;
153
+ while ((m = HASH_REF.exec(text)) !== null) {
154
+ const candidate = m[1].toLowerCase();
155
+ if (candidate.length < 7)
156
+ continue;
157
+ // Find any commit whose hash starts with this candidate
158
+ for (const target of commits) {
159
+ if (target.hash === c.hash)
160
+ continue;
161
+ if (target.hash.toLowerCase().startsWith(candidate)) {
162
+ refs.add(target.hash);
163
+ break;
164
+ }
165
+ }
166
+ }
167
+ // Revert markers
168
+ const rev = REVERT_HASH.exec(c.subject + " " + (c.body || ""));
169
+ if (rev) {
170
+ const candidate = rev[1].toLowerCase();
171
+ for (const target of commits) {
172
+ if (target.hash === c.hash)
173
+ continue;
174
+ if (target.hash.toLowerCase().startsWith(candidate)) {
175
+ refs.add(target.hash);
176
+ break;
177
+ }
178
+ }
179
+ }
180
+ if (refs.size > 0)
181
+ graph.set(c.hash, refs);
182
+ }
183
+ return graph;
184
+ }
185
+ /**
186
+ * Boost search results by causal proximity to the top hit.
187
+ *
188
+ * If a chunk's commit is referenced (directly or transitively up to
189
+ * maxHops) by another result's commit, its score gets boosted.
190
+ */
191
+ export function applyCgar(results, commits, opts = {}) {
192
+ const maxHops = opts.maxHops ?? 2;
193
+ const decay = opts.hopDecay ?? 0.85;
194
+ const initial = opts.initialBoost ?? 1.3;
195
+ if (results.length === 0)
196
+ return results;
197
+ const graph = buildCausalGraph(commits);
198
+ // Compute distance (in hops) from any result-commit to every commit it
199
+ // references transitively.
200
+ const seedHashes = new Set(results.map((r) => r.commit.hash));
201
+ const distance = new Map();
202
+ // BFS from each seed
203
+ for (const seed of seedHashes) {
204
+ const queue = [[seed, 0]];
205
+ const seen = new Set([seed]);
206
+ while (queue.length > 0) {
207
+ const [node, hops] = queue.shift();
208
+ if (hops >= maxHops)
209
+ continue;
210
+ const neighbors = graph.get(node);
211
+ if (!neighbors)
212
+ continue;
213
+ for (const nb of neighbors) {
214
+ if (seen.has(nb))
215
+ continue;
216
+ seen.add(nb);
217
+ const cur = distance.get(nb);
218
+ if (cur === undefined || hops + 1 < cur) {
219
+ distance.set(nb, hops + 1);
220
+ }
221
+ queue.push([nb, hops + 1]);
222
+ }
223
+ }
224
+ }
225
+ return results
226
+ .map((r) => {
227
+ const hops = distance.get(r.commit.hash);
228
+ if (hops === undefined || hops === 0)
229
+ return r;
230
+ const boost = initial * Math.pow(decay, hops - 1);
231
+ return { ...r, score: r.score * boost };
232
+ })
233
+ .sort((a, b) => b.score - a.score);
234
+ }
235
+ /**
236
+ * Apply all four novel scoring layers in sequence:
237
+ * 1. TDWE — temporal relevance
238
+ * 2. RACB — regret-derived wisdom boost
239
+ * 3. CGAR — causal graph propagation
240
+ * 4. ADS — diversity re-ranking (last, after scoring is final)
241
+ */
242
+ export function applyNovelScoring(results, ensemble) {
243
+ let r = results;
244
+ if (ensemble.tdwe !== false)
245
+ r = applyTdwe(r, ensemble.tdwe || {});
246
+ if (ensemble.racb !== false && ensemble.racb) {
247
+ r = applyRacb(r, ensemble.racb.signals, ensemble.racb.opts);
248
+ }
249
+ if (ensemble.cgar !== false && ensemble.cgar) {
250
+ r = applyCgar(r, ensemble.cgar.commits, ensemble.cgar.opts);
251
+ }
252
+ if (ensemble.ads !== false)
253
+ r = applyAds(r, ensemble.ads || {});
254
+ return r;
255
+ }
256
+ //# sourceMappingURL=novel-scoring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"novel-scoring.js","sourceRoot":"","sources":["../../src/retrieve/novel-scoring.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=novel-scoring.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"novel-scoring.test.d.ts","sourceRoot":"","sources":["../../src/retrieve/novel-scoring.test.ts"],"names":[],"mappings":""}