@danielmarbach/mnemonic-mcp 0.17.0 → 0.19.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 (40) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +33 -1
  3. package/build/index.js +160 -62
  4. package/build/index.js.map +1 -1
  5. package/build/project-introspection.d.ts +17 -2
  6. package/build/project-introspection.d.ts.map +1 -1
  7. package/build/project-introspection.js +152 -4
  8. package/build/project-introspection.js.map +1 -1
  9. package/build/provenance.d.ts +1 -0
  10. package/build/provenance.d.ts.map +1 -1
  11. package/build/provenance.js.map +1 -1
  12. package/build/recall.d.ts +2 -0
  13. package/build/recall.d.ts.map +1 -1
  14. package/build/recall.js +23 -0
  15. package/build/recall.js.map +1 -1
  16. package/build/relationships.d.ts +3 -2
  17. package/build/relationships.d.ts.map +1 -1
  18. package/build/relationships.js +46 -5
  19. package/build/relationships.js.map +1 -1
  20. package/build/role-suggestions.d.ts +20 -0
  21. package/build/role-suggestions.d.ts.map +1 -0
  22. package/build/role-suggestions.js +125 -0
  23. package/build/role-suggestions.js.map +1 -0
  24. package/build/storage.d.ts +7 -0
  25. package/build/storage.d.ts.map +1 -1
  26. package/build/storage.js +29 -0
  27. package/build/storage.js.map +1 -1
  28. package/build/structured-content.d.ts +272 -11
  29. package/build/structured-content.d.ts.map +1 -1
  30. package/build/structured-content.js +20 -1
  31. package/build/structured-content.js.map +1 -1
  32. package/build/temporal-interpretation.d.ts +40 -0
  33. package/build/temporal-interpretation.d.ts.map +1 -0
  34. package/build/temporal-interpretation.js +180 -0
  35. package/build/temporal-interpretation.js.map +1 -0
  36. package/build/theme-validation.d.ts +14 -0
  37. package/build/theme-validation.d.ts.map +1 -0
  38. package/build/theme-validation.js +46 -0
  39. package/build/theme-validation.js.map +1 -0
  40. package/package.json +1 -1
@@ -1,12 +1,27 @@
1
1
  import type { Note } from "./storage.js";
2
+ import type { EffectiveNoteMetadata } from "./role-suggestions.js";
3
+ type ScoringMetadata = Pick<EffectiveNoteMetadata, "role" | "roleSource" | "importance" | "importanceSource" | "alwaysLoad" | "alwaysLoadSource">;
4
+ export declare function normalizeKeyword(keyword: string): string;
5
+ export declare function extractKeywords(note: Note): string[];
2
6
  export declare function summarizePreview(content: string, maxLength?: number): string;
3
7
  export declare function classifyTheme(note: Note): string;
4
8
  export declare function titleCaseTheme(theme: string): string;
5
9
  export declare function daysSinceUpdate(updatedAt: string): number;
6
10
  export declare function recencyScore(daysSince: number): number;
7
11
  export declare function centralityBonus(relatedCount: number): number;
8
- export declare function withinThemeScore(note: Note): number;
12
+ export declare function withinThemeScore(note: Note, metadata?: ScoringMetadata): number;
9
13
  export declare function computeConnectionDiversity(note: Note, themeCache: Map<string, string>): number;
10
- export declare function anchorScore(note: Note, themeCache: Map<string, string>): number;
14
+ export declare function anchorScore(note: Note, themeCache: Map<string, string>, metadata?: ScoringMetadata): number;
11
15
  export declare function buildThemeCache(notes: Note[]): Map<string, string>;
16
+ export interface GraduationOptions {
17
+ minKeywordFrequency?: number;
18
+ }
19
+ export interface GraduationResult {
20
+ themeAssignments: Map<string, string>;
21
+ promotedThemes: string[];
22
+ keywordFrequencies: Map<string, number>;
23
+ }
24
+ export declare function computeThemesWithGraduation(notes: Note[], options?: GraduationOptions): GraduationResult;
25
+ export declare function classifyThemeWithGraduation(note: Note, promotedThemes: Set<string> | string[]): string;
26
+ export {};
12
27
  //# sourceMappingURL=project-introspection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-introspection.d.ts","sourceRoot":"","sources":["../src/project-introspection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAMzE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAWhD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAKzD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAKnD;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CASR;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAWR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMlE"}
1
+ {"version":3,"file":"project-introspection.d.ts","sourceRoot":"","sources":["../src/project-introspection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,KAAK,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,kBAAkB,GAAG,YAAY,GAAG,kBAAkB,CAAC,CAAC;AAoElJ,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAmBpD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAMzE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAWhD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAKzD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE5D;AAkBD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,CAK/E;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CASR;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,CAAC,EAAE,eAAe,GACzB,MAAM,CAyBR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMlE;AAED,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB,CA2DlB;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,GACrC,MAAM,CAaR"}
@@ -1,3 +1,78 @@
1
+ function explicitAlwaysLoad(metadata) {
2
+ return metadata?.alwaysLoadSource === "explicit" ? metadata.alwaysLoad === true : false;
3
+ }
4
+ function roleBonus(role, source, explicitBonuses, suggestedBonuses) {
5
+ if (!role)
6
+ return 0;
7
+ if (source === "explicit")
8
+ return explicitBonuses[role] ?? 0;
9
+ if (source === "suggested")
10
+ return suggestedBonuses[role] ?? 0;
11
+ return 0;
12
+ }
13
+ function importanceBonus(importance, source, explicitBonuses, suggestedBonuses) {
14
+ if (!importance)
15
+ return 0;
16
+ if (source === "explicit")
17
+ return explicitBonuses[importance] ?? 0;
18
+ if (source === "suggested")
19
+ return suggestedBonuses[importance] ?? 0;
20
+ return 0;
21
+ }
22
+ const STOPWORDS = new Set([
23
+ "a", "an", "the", "and", "or", "but", "if", "then", "else", "for", "to", "of",
24
+ "in", "on", "at", "by", "with", "from", "as", "is", "was", "are", "were", "been",
25
+ "be", "have", "has", "had", "do", "does", "did", "will", "would", "could", "should",
26
+ "may", "might", "must", "shall", "can", "need", "needs", "note", "notes", "data",
27
+ "this", "that", "these", "those", "it", "its", "we", "our", "you", "your",
28
+ "when", "where", "which", "who", "whom", "whose", "why", "how", "what",
29
+ ]);
30
+ const GENERIC_TERMS = new Set([
31
+ "system", "note", "notes", "data", "file", "files", "config", "configuration",
32
+ "setup", "update", "change", "fix", "bug", "feature", "task", "work",
33
+ "project", "app", "application", "code", "implementation", "thing",
34
+ ]);
35
+ const SYNONYMS = {
36
+ auth: "authentication",
37
+ authn: "authentication",
38
+ login: "authentication",
39
+ signin: "authentication",
40
+ postgres: "postgresql",
41
+ pg: "postgresql",
42
+ db: "database",
43
+ sql: "database",
44
+ test: "testing",
45
+ tests: "testing",
46
+ spec: "testing",
47
+ specs: "testing",
48
+ infra: "infrastructure",
49
+ deploy: "deployment",
50
+ deployments: "deployment",
51
+ endpoint: "api",
52
+ endpoints: "api",
53
+ config: "configuration",
54
+ impl: "implementation",
55
+ perf: "performance",
56
+ };
57
+ export function normalizeKeyword(keyword) {
58
+ const lower = keyword.toLowerCase();
59
+ return SYNONYMS[lower] ?? lower;
60
+ }
61
+ export function extractKeywords(note) {
62
+ const words = [];
63
+ const titleWords = note.title.toLowerCase().split(/\s+/);
64
+ words.push(...titleWords);
65
+ words.push(...note.tags.map(t => t.toLowerCase()));
66
+ const contentPrefix = note.content.slice(0, 200).toLowerCase();
67
+ const contentWords = contentPrefix.split(/\s+/);
68
+ words.push(...contentWords);
69
+ const normalized = words
70
+ .map(w => w.replace(/[^a-z0-9]/g, ""))
71
+ .filter(w => w.length >= 2)
72
+ .map(w => normalizeKeyword(w))
73
+ .filter(w => !STOPWORDS.has(w));
74
+ return [...new Set(normalized)];
75
+ }
1
76
  export function summarizePreview(content, maxLength = 120) {
2
77
  const singleLine = content.replace(/\s+/g, " ").trim();
3
78
  if (singleLine.length <= maxLength) {
@@ -38,11 +113,16 @@ export function recencyScore(daysSince) {
38
113
  export function centralityBonus(relatedCount) {
39
114
  return Math.min(0.2, Math.log(relatedCount + 1) * 0.1);
40
115
  }
41
- export function withinThemeScore(note) {
116
+ function summaryMetadataBonus(metadata) {
117
+ if (!metadata)
118
+ return 0;
119
+ return roleBonus(metadata.role, metadata.roleSource, { summary: 0.18, decision: 0.12, reference: 0.06, context: 0.03 }, { summary: 0.06, decision: 0.04, reference: 0.02, context: 0.01 }) + importanceBonus(metadata.importance, metadata.importanceSource, { high: 0.12, normal: 0.06 }, { high: 0.04, normal: 0.02 });
120
+ }
121
+ export function withinThemeScore(note, metadata) {
42
122
  const days = daysSinceUpdate(note.updatedAt);
43
123
  const recency = recencyScore(days);
44
124
  const centrality = centralityBonus(note.relatedTo?.length ?? 0);
45
- return recency + centrality;
125
+ return recency + centrality + summaryMetadataBonus(metadata);
46
126
  }
47
127
  export function computeConnectionDiversity(note, themeCache) {
48
128
  if (!note.relatedTo || note.relatedTo.length === 0)
@@ -55,14 +135,17 @@ export function computeConnectionDiversity(note, themeCache) {
55
135
  }
56
136
  return themes.size;
57
137
  }
58
- export function anchorScore(note, themeCache) {
138
+ export function anchorScore(note, themeCache, metadata) {
59
139
  if (note.lifecycle !== "permanent")
60
140
  return -Infinity;
61
141
  const days = daysSinceUpdate(note.updatedAt);
62
142
  const recency = 1.0 / (1 + days / 7);
63
143
  const centrality = Math.log((note.relatedTo?.length ?? 0) + 1);
64
144
  const connectionDiversity = computeConnectionDiversity(note, themeCache);
65
- return 0.4 * centrality + 0.4 * connectionDiversity + 0.2 * recency;
145
+ const metadataRoleBonus = roleBonus(metadata?.role, metadata?.roleSource ?? "none", { summary: 0.22, decision: 0.16, reference: 0.08, context: 0.04 }, { summary: 0.08, decision: 0.06, reference: 0.03, context: 0.015 });
146
+ const metadataImportanceBonus = importanceBonus(metadata?.importance, metadata?.importanceSource ?? "none", { high: 0.2, normal: 0.1 }, { high: 0.06, normal: 0.03 });
147
+ const alwaysLoadBonus = explicitAlwaysLoad(metadata) ? 0.45 : 0;
148
+ return 0.4 * centrality + 0.4 * connectionDiversity + 0.2 * recency + metadataRoleBonus + metadataImportanceBonus + alwaysLoadBonus;
66
149
  }
67
150
  export function buildThemeCache(notes) {
68
151
  const cache = new Map();
@@ -71,4 +154,69 @@ export function buildThemeCache(notes) {
71
154
  }
72
155
  return cache;
73
156
  }
157
+ export function computeThemesWithGraduation(notes, options = {}) {
158
+ const minKeywordFrequency = options.minKeywordFrequency ?? 3;
159
+ const noteKeywords = new Map();
160
+ for (const note of notes) {
161
+ noteKeywords.set(note.id, extractKeywords(note));
162
+ }
163
+ const keywordFrequencies = new Map();
164
+ for (const keywords of noteKeywords.values()) {
165
+ const unique = new Set(keywords);
166
+ for (const kw of unique) {
167
+ keywordFrequencies.set(kw, (keywordFrequencies.get(kw) ?? 0) + 1);
168
+ }
169
+ }
170
+ const candidates = [];
171
+ for (const [keyword, count] of keywordFrequencies) {
172
+ if (count >= minKeywordFrequency &&
173
+ !GENERIC_TERMS.has(keyword) &&
174
+ !STOPWORDS.has(keyword)) {
175
+ candidates.push(keyword);
176
+ }
177
+ }
178
+ candidates.sort((a, b) => {
179
+ const freqDiff = keywordFrequencies.get(b) - keywordFrequencies.get(a);
180
+ if (freqDiff !== 0)
181
+ return freqDiff;
182
+ return a.localeCompare(b);
183
+ });
184
+ const themeAssignments = new Map();
185
+ const candidateSet = new Set(candidates);
186
+ for (const note of notes) {
187
+ const keywords = noteKeywords.get(note.id) ?? [];
188
+ let assigned = null;
189
+ const tagBased = classifyTheme(note);
190
+ if (tagBased !== "other") {
191
+ assigned = tagBased;
192
+ }
193
+ else {
194
+ for (const kw of keywords) {
195
+ if (candidateSet.has(kw)) {
196
+ assigned = kw;
197
+ break;
198
+ }
199
+ }
200
+ }
201
+ themeAssignments.set(note.id, assigned ?? "other");
202
+ }
203
+ return {
204
+ themeAssignments,
205
+ promotedThemes: candidates,
206
+ keywordFrequencies,
207
+ };
208
+ }
209
+ export function classifyThemeWithGraduation(note, promotedThemes) {
210
+ const promotedSet = promotedThemes instanceof Set ? promotedThemes : new Set(promotedThemes);
211
+ const tagBased = classifyTheme(note);
212
+ if (tagBased !== "other")
213
+ return tagBased;
214
+ const keywords = extractKeywords(note);
215
+ for (const kw of keywords) {
216
+ if (promotedSet.has(kw)) {
217
+ return kw;
218
+ }
219
+ }
220
+ return "other";
221
+ }
74
222
  //# sourceMappingURL=project-introspection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-introspection.js","sourceRoot":"","sources":["../src/project-introspection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-introspection.js","sourceRoot":"","sources":["../src/project-introspection.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { CommitStats, GitOps, LastCommit } from "./git.js";
2
2
  import type { NoteLifecycle } from "./storage.js";
3
3
  import type { Confidence, Provenance } from "./structured-content.js";
4
+ export type { InterpretedHistoryEntry } from "./temporal-interpretation.js";
4
5
  export declare function buildTemporalHistoryEntry(commit: LastCommit, stats: CommitStats | null, verbose: boolean): {
5
6
  commitHash: string;
6
7
  timestamp: string;
@@ -1 +1 @@
1
- {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AA0CtE,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,WAAW,GAAG,IAAI,EACzB,OAAO,EAAE,OAAO,GACf;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,sBAAsB,GAAG,YAAY,GAAG,oBAAoB,CAAC;KAC1E,CAAC;CACH,CA0BA;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAcjC;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,UAAU,CAcZ"}
1
+ {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AA0C5E,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,WAAW,GAAG,IAAI,EACzB,OAAO,EAAE,OAAO,GACf;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,sBAAsB,GAAG,YAAY,GAAG,oBAAoB,CAAC;KAC1E,CAAC;CACH,CA0BA;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAcjC;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,UAAU,CAcZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAIA,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAErC,SAAS,sBAAsB,CAC7B,MAAkB,EAClB,KAAkB;IAElB,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAClF,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC5D,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,iBAAiB,IAAI,EAAE,EAAE,CAAC;QACvD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAkB,EAAE,UAAkB,EAAE,OAAgB;IACrF,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,QAAQ,CAAC;IACpE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,UAAU,KAAK,sBAAsB;YAC1C,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,GAAG,UAAU,KAAK,WAAW,GAAG,CAAC;IACvC,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC;IACnG,OAAO,UAAU,KAAK,sBAAsB;QAC1C,CAAC,CAAC,GAAG,UAAU,KAAK,WAAW,GAAG;QAClC,CAAC,CAAC,GAAG,UAAU,KAAK,WAAW,KAAK,WAAW,GAAG,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,MAAkB,EAClB,KAAyB,EACzB,OAAgB;IAahB,MAAM,IAAI,GAAG;QACX,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;IAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzD,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC;QAC1D,GAAG,CAAC,OAAO;YACT,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,UAAU;iBACX;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,QAAgB;IAEhB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAEnG,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,SAAS;QAC/B,cAAc,EAAE,MAAM,CAAC,IAAI;QAC3B,iBAAiB,EAAE,MAAM,CAAC,OAAO;QACjC,eAAe,EAAE,eAAe,GAAG,qBAAqB;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,SAAwB,EACxB,SAAiB,EACjB,UAAkB;IAElB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAEpG,IAAI,SAAS,KAAK,WAAW,IAAI,UAAU,IAAI,0BAA0B,IAAI,eAAe,GAAG,oBAAoB,EAAE,CAAC;QACpH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,eAAe,GAAG,sBAAsB,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"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"}
package/build/recall.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Vault } from "./vault.js";
2
+ import type { EffectiveNoteMetadata } from "./role-suggestions.js";
2
3
  export interface ScoredRecallCandidate {
3
4
  id: string;
4
5
  score: number;
@@ -6,5 +7,6 @@ export interface ScoredRecallCandidate {
6
7
  vault: Vault;
7
8
  isCurrentProject: boolean;
8
9
  }
10
+ export declare function computeRecallMetadataBoost(metadata?: EffectiveNoteMetadata): number;
9
11
  export declare function selectRecallResults(scored: ScoredRecallCandidate[], limit: number, scope: "project" | "global" | "all"): ScoredRecallCandidate[];
10
12
  //# sourceMappingURL=recall.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../src/recall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,qBAAqB,EAAE,EAC/B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,KAAK,GAClC,qBAAqB,EAAE,CAoBzB"}
1
+ {"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../src/recall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAOnE,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAsBnF;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,qBAAqB,EAAE,EAC/B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,KAAK,GAClC,qBAAqB,EAAE,CAoBzB"}
package/build/recall.js CHANGED
@@ -1,3 +1,26 @@
1
+ const RECALL_ALWAYS_LOAD_BOOST = 0.01;
2
+ const RECALL_SUMMARY_BOOST = 0.012;
3
+ const RECALL_DECISION_BOOST = 0.009;
4
+ const RECALL_HIGH_IMPORTANCE_BOOST = 0.006;
5
+ export function computeRecallMetadataBoost(metadata) {
6
+ if (!metadata) {
7
+ return 0;
8
+ }
9
+ let boost = 0;
10
+ if (metadata.alwaysLoad === true && metadata.alwaysLoadSource === "explicit") {
11
+ boost += RECALL_ALWAYS_LOAD_BOOST;
12
+ }
13
+ if (metadata.role === "summary") {
14
+ boost += RECALL_SUMMARY_BOOST;
15
+ }
16
+ else if (metadata.role === "decision") {
17
+ boost += RECALL_DECISION_BOOST;
18
+ }
19
+ if (metadata.importance === "high") {
20
+ boost += RECALL_HIGH_IMPORTANCE_BOOST;
21
+ }
22
+ return boost;
23
+ }
1
24
  export function selectRecallResults(scored, limit, scope) {
2
25
  const sorted = [...scored].sort((a, b) => b.boosted - a.boosted);
3
26
  if (scope !== "all") {
@@ -1 +1 @@
1
- {"version":3,"file":"recall.js","sourceRoot":"","sources":["../src/recall.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,mBAAmB,CACjC,MAA+B,EAC/B,KAAa,EACb,KAAmC;IAEnC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAEjE,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAChF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QAC/B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"recall.js","sourceRoot":"","sources":["../src/recall.ts"],"names":[],"mappings":"AAGA,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAU3C,MAAM,UAAU,0BAA0B,CAAC,QAAgC;IACzE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,IAAI,QAAQ,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;QAC7E,KAAK,IAAI,wBAAwB,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,KAAK,IAAI,oBAAoB,CAAC;IAChC,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACxC,KAAK,IAAI,qBAAqB,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACnC,KAAK,IAAI,4BAA4B,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAA+B,EAC/B,KAAa,EACb,KAAmC;IAEnC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAEjE,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAChF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QAC/B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { Note, Relationship } from "./storage.js";
2
2
  import type { Vault } from "./vault.js";
3
3
  import type { RelationshipPreview } from "./structured-content.js";
4
+ import { type EffectiveNoteMetadata } from "./role-suggestions.js";
4
5
  export interface RelationshipExpansionOptions {
5
6
  /** Active project ID for same-project boosting */
6
7
  activeProjectId?: string;
@@ -16,7 +17,7 @@ interface ScoredRelatedNote {
16
17
  score: number;
17
18
  }
18
19
  /**
19
- * Check if note is tagged as anchor.
20
+ * Check if note should receive explicit alwaysLoad anchor treatment.
20
21
  */
21
22
  export declare function isAnchor(note: Note): boolean;
22
23
  /**
@@ -27,7 +28,7 @@ export declare function isRecentlyUpdated(note: Note): boolean;
27
28
  * Compute deterministic score for a related note.
28
29
  * Higher score = higher priority for display.
29
30
  */
30
- export declare function scoreRelatedNote(note: Note, activeProjectId?: string): number;
31
+ export declare function scoreRelatedNote(note: Note, activeProjectId?: string, metadata?: EffectiveNoteMetadata): number;
31
32
  /**
32
33
  * Get all direct related notes for a given note.
33
34
  * Returns note + vault pairs for directly related notes only (1-hop).
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../src/relationships.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAsB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAavF,MAAM,WAAW,4BAA4B;IAC3C,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,UAAU,iBAAiB;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAsBD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAG5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAKrD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CA2BR;AAID;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,KAAK,EAAE,EAClB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAiC9B;AAyBD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,iBAAiB,EAAE,EAClC,OAAO,EAAE,4BAA4B,GACpC,mBAAmB,GAAG,SAAS,CAcjC;AAID;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,KAAK,EAAE,EAClB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAQ1C"}
1
+ {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../src/relationships.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAsB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAwB,KAAK,qBAAqB,EAA8B,MAAM,uBAAuB,CAAC;AAgBrH,MAAM,WAAW,4BAA4B;IAC3C,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,UAAU,iBAAiB;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AA6CD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAE5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAKrD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,eAAe,CAAC,EAAE,MAAM,EACxB,QAAQ,GAAE,qBAAkD,GAC3D,MAAM,CAyCR;AAID;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,KAAK,EAAE,EAClB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAyC9B;AAyBD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,iBAAiB,EAAE,EAClC,OAAO,EAAE,4BAA4B,GACpC,mBAAmB,GAAG,SAAS,CAcjC;AAID;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,KAAK,EAAE,EAClB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAQ1C"}
@@ -1,10 +1,34 @@
1
1
  import { classifyTheme } from "./project-introspection.js";
2
+ import { getEffectiveMetadata } from "./role-suggestions.js";
2
3
  const RECENTLY_CHANGED_DAYS = 5;
3
4
  const HIGH_CONFIDENCE_CENTRALITY = 5;
4
5
  const HIGH_CONFIDENCE_DAYS = 30;
5
6
  const MEDIUM_CONFIDENCE_DAYS = 90;
6
7
  const DEFAULT_RELATIONSHIP_LIMIT = 3;
7
8
  const HARD_MAX_RELATIONSHIP_LIMIT = 5;
9
+ const RELATIONSHIP_ALWAYS_LOAD_BOOST = 8;
10
+ const RELATIONSHIP_SUMMARY_BOOST = 4;
11
+ const RELATIONSHIP_DECISION_BOOST = 3;
12
+ const RELATIONSHIP_HIGH_IMPORTANCE_BOOST = 2;
13
+ function buildRoleSuggestionContext(note, allNotes) {
14
+ let inboundReferences = 0;
15
+ let linkedByPermanentNotes = 0;
16
+ for (const candidate of allNotes) {
17
+ const hasRelationship = (candidate.relatedTo ?? []).some((relationship) => relationship.id === note.id);
18
+ if (!hasRelationship) {
19
+ continue;
20
+ }
21
+ inboundReferences += 1;
22
+ if (candidate.lifecycle === "permanent") {
23
+ linkedByPermanentNotes += 1;
24
+ }
25
+ }
26
+ return {
27
+ inboundReferences,
28
+ linkedByPermanentNotes,
29
+ anchorCandidate: note.lifecycle === "permanent" && ((note.relatedTo?.length ?? 0) > 0 || inboundReferences > 0),
30
+ };
31
+ }
8
32
  /**
9
33
  * Compute confidence for a related note (same logic as provenance.ts).
10
34
  */
@@ -22,11 +46,10 @@ function computeRelatedNoteConfidence(note) {
22
46
  return "low";
23
47
  }
24
48
  /**
25
- * Check if note is tagged as anchor.
49
+ * Check if note should receive explicit alwaysLoad anchor treatment.
26
50
  */
27
51
  export function isAnchor(note) {
28
- return note.lifecycle === "permanent" &&
29
- note.tags.some(t => t.toLowerCase() === "anchor" || t.toLowerCase() === "alwaysload");
52
+ return note.lifecycle === "permanent" && note.alwaysLoad === true;
30
53
  }
31
54
  /**
32
55
  * Check if note was recently updated.
@@ -41,7 +64,7 @@ export function isRecentlyUpdated(note) {
41
64
  * Compute deterministic score for a related note.
42
65
  * Higher score = higher priority for display.
43
66
  */
44
- export function scoreRelatedNote(note, activeProjectId) {
67
+ export function scoreRelatedNote(note, activeProjectId, metadata = getEffectiveMetadata(note)) {
45
68
  let score = 0;
46
69
  // Same project: strong boost (100 points)
47
70
  if (activeProjectId && note.project === activeProjectId) {
@@ -63,6 +86,18 @@ export function scoreRelatedNote(note, activeProjectId) {
63
86
  else if (confidence === "medium") {
64
87
  score += 5;
65
88
  }
89
+ if (metadata.alwaysLoad === true && metadata.alwaysLoadSource === "explicit") {
90
+ score += RELATIONSHIP_ALWAYS_LOAD_BOOST;
91
+ }
92
+ if (metadata.role === "summary") {
93
+ score += RELATIONSHIP_SUMMARY_BOOST;
94
+ }
95
+ else if (metadata.role === "decision") {
96
+ score += RELATIONSHIP_DECISION_BOOST;
97
+ }
98
+ if (metadata.importance === "high") {
99
+ score += RELATIONSHIP_HIGH_IMPORTANCE_BOOST;
100
+ }
66
101
  return score;
67
102
  }
68
103
  // ── Collection ───────────────────────────────────────────────────────────────
@@ -76,6 +111,11 @@ export async function getDirectRelatedNotes(note, allVaults, activeProjectId) {
76
111
  return [];
77
112
  }
78
113
  const scored = [];
114
+ const notesByVault = new Map();
115
+ for (const vault of allVaults) {
116
+ notesByVault.set(vault, await vault.storage.listNotes());
117
+ }
118
+ const visibleNotes = [...notesByVault.values()].flat();
79
119
  for (const vault of allVaults) {
80
120
  for (const relatedId of relatedIds) {
81
121
  const relatedNote = await vault.storage.readNote(relatedId);
@@ -84,7 +124,8 @@ export async function getDirectRelatedNotes(note, allVaults, activeProjectId) {
84
124
  const relationship = note.relatedTo.find(r => r.id === relatedId);
85
125
  if (!relationship)
86
126
  continue;
87
- const score = scoreRelatedNote(relatedNote, activeProjectId);
127
+ const metadata = getEffectiveMetadata(relatedNote, buildRoleSuggestionContext(relatedNote, visibleNotes));
128
+ const score = scoreRelatedNote(relatedNote, activeProjectId, metadata);
88
129
  scored.push({
89
130
  note: relatedNote,
90
131
  vault,
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../src/relationships.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../src/relationships.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAA0D,MAAM,uBAAuB,CAAC;AAErH,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AACtC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AACtC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AAsB7C,SAAS,0BAA0B,CAAC,IAAU,EAAE,QAAgB;IAC9D,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAE/B,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QACxG,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QAED,iBAAiB,IAAI,CAAC,CAAC;QACvB,IAAI,SAAS,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YACxC,sBAAsB,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,sBAAsB;QACtB,eAAe,EAAE,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC,CAAC;KAChH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CAAC,IAAU;IAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACpG,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC;IAE/C,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,UAAU,IAAI,0BAA0B,IAAI,eAAe,GAAG,oBAAoB,EAAE,CAAC;QACzH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,eAAe,GAAG,sBAAsB,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAU;IACjC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACpG,OAAO,eAAe,GAAG,qBAAqB,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAU,EACV,eAAwB,EACxB,WAAkC,oBAAoB,CAAC,IAAI,CAAC;IAE5D,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,0CAA0C;IAC1C,IAAI,eAAe,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;QACxD,KAAK,IAAI,GAAG,CAAC;IACf,CAAC;IAED,mCAAmC;IACnC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,KAAK,IAAI,EAAE,CAAC;IACd,CAAC;IAED,4CAA4C;IAC5C,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,KAAK,IAAI,EAAE,CAAC;IACd,CAAC;IAED,2CAA2C;IAC3C,MAAM,UAAU,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,KAAK,IAAI,EAAE,CAAC;IACd,CAAC;SAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,IAAI,QAAQ,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;QAC7E,KAAK,IAAI,8BAA8B,CAAC;IAC1C,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,KAAK,IAAI,0BAA0B,CAAC;IACtC,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACxC,KAAK,IAAI,2BAA2B,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACnC,KAAK,IAAI,kCAAkC,CAAC;IAC9C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAU,EACV,SAAkB,EAClB,eAAwB;IAExB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IACxD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAiB,CAAC;IAE9C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW;gBAAE,SAAS;YAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,SAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY;gBAAE,SAAS;YAE5B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,EAAE,0BAA0B,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;YAC1G,MAAM,KAAK,GAAG,gBAAgB,CAAC,WAAW,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,WAAW;gBACjB,KAAK;gBACL,YAAY,EAAE,YAAY,CAAC,IAAI;gBAC/B,KAAK;aACN,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAClD,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAEhF;;GAEG;AACH,SAAS,uBAAuB,CAC9B,MAAyB,EACzB,eAAwB;IAExB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IACtC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,OAAO;QACvB,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC5C,YAAY;QACZ,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,4BAA4B,CAAC,IAAI,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,aAAkC,EAClC,OAAqC;IAErC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,0BAA0B,EAAE,2BAA2B,CAAC,CAAC;IACjG,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1G,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;IAE/C,OAAO;QACL,oBAAoB,EAAE,aAAa,CAAC,MAAM;QAC1C,KAAK;QACL,SAAS;KACV,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAU,EACV,SAAkB,EAClB,OAAqC;IAErC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACrF,OAAO,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Note, NoteImportance, NoteRole } from "./storage.js";
2
+ export interface RoleSuggestionContext {
3
+ inboundReferences?: number;
4
+ linkedByPermanentNotes?: number;
5
+ anchorCandidate?: boolean;
6
+ }
7
+ export interface EffectiveNoteMetadata {
8
+ role?: NoteRole;
9
+ roleSource: "explicit" | "suggested" | "none";
10
+ importance?: NoteImportance;
11
+ importanceSource: "explicit" | "suggested" | "none";
12
+ alwaysLoad?: boolean;
13
+ alwaysLoadSource: "explicit" | "none";
14
+ }
15
+ type SuggestedImportance = Exclude<NoteImportance, "low">;
16
+ export declare function getEffectiveMetadata(note: Note, context?: RoleSuggestionContext): EffectiveNoteMetadata;
17
+ export declare function suggestRole(note: Note, context?: RoleSuggestionContext): NoteRole | undefined;
18
+ export declare function suggestImportance(note: Note, context?: RoleSuggestionContext): SuggestedImportance | undefined;
19
+ export {};
20
+ //# sourceMappingURL=role-suggestions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-suggestions.d.ts","sourceRoot":"","sources":["../src/role-suggestions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IAC9C,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,gBAAgB,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,UAAU,GAAG,MAAM,CAAC;CACvC;AAED,KAAK,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAqB1D,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,qBAA0B,GAClC,qBAAqB,CAYvB;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,qBAA0B,GAClC,QAAQ,GAAG,SAAS,CAkEtB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,qBAA0B,GAClC,mBAAmB,GAAG,SAAS,CAiCjC"}