@danielmarbach/mnemonic-mcp 0.25.5 → 0.26.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.
@@ -42,7 +42,7 @@ export declare function computeInverseDocumentFrequency(documents: string[][]):
42
42
  * Compute cosine similarity between a query and document TF-IDF vectors.
43
43
  */
44
44
  export declare function computeTfIdfCosineSimilarity(query: string, document: string, corpus: string[]): number;
45
- interface PreparedTfIdfDocument {
45
+ export interface PreparedTfIdfDocument {
46
46
  id: string;
47
47
  text: string;
48
48
  tokens: string[];
@@ -55,6 +55,7 @@ export declare function prepareTfIdfCorpus(documents: Array<{
55
55
  id: string;
56
56
  text: string;
57
57
  }>): PreparedTfIdfCorpus;
58
+ export declare function prepareTfIdfCorpusFromTokenizedDocuments(documents: PreparedTfIdfDocument[]): PreparedTfIdfCorpus;
58
59
  /**
59
60
  * Rank documents by TF-IDF cosine similarity for a query.
60
61
  */
@@ -85,5 +86,4 @@ export declare const LEXICAL_RESCUE_RESULT_LIMIT = 3;
85
86
  * OR when there are no semantic results.
86
87
  */
87
88
  export declare function shouldTriggerLexicalRescue(topSemanticScore: number | undefined, semanticResultCount: number): boolean;
88
- export {};
89
89
  //# sourceMappingURL=lexical.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lexical.d.ts","sourceRoot":"","sources":["../src/lexical.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAQxE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAIpE;AAeD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAkBjF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAa1E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgB1F;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAgCtG;AAED,UAAU,qBAAqB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7C,mBAAmB,CAWrB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAC9C,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,mBAAmB,GACnC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBtC;AAuED;;GAEG;AACH,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAKT"}
1
+ {"version":3,"file":"lexical.d.ts","sourceRoot":"","sources":["../src/lexical.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAQxE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAIpE;AAeD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAkBjF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAa1E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgB1F;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAgCtG;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7C,mBAAmB,CAQrB;AAED,wBAAgB,wCAAwC,CACtD,SAAS,EAAE,qBAAqB,EAAE,GACjC,mBAAmB,CAKrB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAC9C,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,mBAAmB,GACnC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBtC;AAuED;;GAEG;AACH,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAKT"}
package/build/lexical.js CHANGED
@@ -146,14 +146,16 @@ export function computeTfIdfCosineSimilarity(query, document, corpus) {
146
146
  return dotProduct / (Math.sqrt(queryMagnitude) * Math.sqrt(documentMagnitude));
147
147
  }
148
148
  export function prepareTfIdfCorpus(documents) {
149
- const preparedDocuments = documents.map((document) => ({
149
+ return prepareTfIdfCorpusFromTokenizedDocuments(documents.map((document) => ({
150
150
  id: document.id,
151
151
  text: document.text,
152
152
  tokens: tokenize(document.text),
153
- }));
153
+ })));
154
+ }
155
+ export function prepareTfIdfCorpusFromTokenizedDocuments(documents) {
154
156
  return {
155
- documents: preparedDocuments,
156
- idf: computeInverseDocumentFrequency(preparedDocuments.map((document) => document.tokens)),
157
+ documents,
158
+ idf: computeInverseDocumentFrequency(documents.map((document) => document.tokens)),
157
159
  };
158
160
  }
159
161
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lexical.js","sourceRoot":"","sources":["../src/lexical.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC;SACjC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAc,EAAE,CAAc;IAC9D,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,YAAY,EAAE,CAAC;IACnC,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC;IAC7C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,CAAS,EAAE,CAAS;IAC1D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,MAAc;IAChE,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,cAAsB;IACvE,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAE/C,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC;IAEtC,4DAA4D;IAC5D,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,2CAA2C;IAC3C,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAEnE,2CAA2C;IAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAEhE,OAAO,GAAG,GAAG,cAAc,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,GAAG,YAAY,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAgB;IACnD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAE5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;QACzC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,SAAqB;IACnE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAEvC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,mBAAmB,EAAE,CAAC;QACrD,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAa,EAAE,QAAgB,EAAE,MAAgB;IAC5F,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE1C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,GAAG,GAAG,+BAA+B,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtE,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;QACvD,MAAM,cAAc,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;QAC7D,UAAU,IAAI,WAAW,GAAG,cAAc,CAAC;QAC3C,cAAc,IAAI,WAAW,GAAG,WAAW,CAAC;QAC5C,iBAAiB,IAAI,cAAc,GAAG,cAAc,CAAC;IACvD,CAAC;IAED,IAAI,cAAc,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACjF,CAAC;AAaD,MAAM,UAAU,kBAAkB,CAChC,SAA8C;IAE9C,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrD,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;KAChC,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,SAAS,EAAE,iBAAiB;QAC5B,GAAG,EAAE,+BAA+B,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC3F,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,SAA8C,EAC9C,KAAa,EACb,cAAoC;IAEpC,IAAI,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;IAEzB,OAAO,QAAQ,CAAC,SAAS;SACtB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChB,MAAM,UAAU,GAAG,4CAA4C,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnG,MAAM,aAAa,GAAG,iCAAiC,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,aAAa,GAAG,GAAG,GAAG,UAAU;SAC5D,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,4CAA4C,CACnD,WAAqB,EACrB,cAAwB,EACxB,GAAwB;IAExB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtE,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;QACvD,MAAM,cAAc,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;QAC7D,UAAU,IAAI,WAAW,GAAG,cAAc,CAAC;QAC3C,cAAc,IAAI,WAAW,GAAG,WAAW,CAAC;QAC5C,iBAAiB,IAAI,cAAc,GAAG,cAAc,CAAC;IACvD,CAAC;IAED,IAAI,cAAc,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,iCAAiC,CACxC,WAAqB,EACrB,cAAwB,EACxB,GAAwB;IAExB,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3D,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,WAAW,IAAI,MAAM,CAAC;QACtB,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,aAAa,IAAI,MAAM,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,WAAW,CAAC;AAC7D,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;QACzC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,gBAAoC,EACpC,mBAA2B;IAE3B,IAAI,mBAAmB,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAChD,sDAAsD;IACtD,OAAO,gBAAgB,GAAG,IAAI,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"lexical.js","sourceRoot":"","sources":["../src/lexical.ts"],"names":[],"mappings":"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"}
package/build/recall.d.ts CHANGED
@@ -1,10 +1,21 @@
1
1
  import type { Vault } from "./vault.js";
2
2
  import type { EffectiveNoteMetadata } from "./role-suggestions.js";
3
+ import type { RelationshipType } from "./storage.js";
4
+ export interface TemporalQueryHint {
5
+ windowDays: number;
6
+ maxBoost: number;
7
+ confidence: "high" | "medium" | "low";
8
+ filterWindowDays?: number;
9
+ }
3
10
  export interface ScoredRecallCandidate {
4
11
  id: string;
5
12
  score: number;
6
13
  /** Semantic plausibility used to gate canonical explanation promotion. */
7
14
  semanticScoreForPromotion?: number;
15
+ /** Rank from the initial semantic retrieval ordering (1-based). */
16
+ semanticRank?: number;
17
+ /** Rank from the lexical reranking step (1-based). */
18
+ lexicalRank?: number;
8
19
  boosted: number;
9
20
  vault: Vault;
10
21
  isCurrentProject: boolean;
@@ -22,33 +33,46 @@ export interface ScoredRecallCandidate {
22
33
  canonicalExplanationScore?: number;
23
34
  }
24
35
  export declare function computeRecallMetadataBoost(metadata?: EffectiveNoteMetadata): number;
36
+ export declare function detectTemporalQueryHint(query: string): TemporalQueryHint | undefined;
37
+ export declare function computeTemporalRecencyBoost(updatedAt: string, hint: TemporalQueryHint, now?: Date): number;
38
+ export declare function shouldApplyTemporalFiltering(hint: TemporalQueryHint | undefined): boolean;
39
+ export declare function isWithinTemporalFilterWindow(updatedAt: string, windowDays: number, now?: Date): boolean;
25
40
  /**
26
- * Compute a hybrid score that combines semantic similarity with additive
27
- * lexical, coverage, phrase, and canonical explanation signals.
41
+ * Compute RRF-based hybrid score.
42
+ *
43
+ * Formula:
44
+ * boosted + RRF + canonicalExplanationScore * CANONICAL_HYBRID_WEIGHT
28
45
  *
29
- * The formula is:
30
- * boosted
31
- * + LEXICAL_HYBRID_WEIGHT * lexical
32
- * + COVERAGE_HYBRID_WEIGHT * coverage
33
- * + PHRASE_HYBRID_WEIGHT * phrase
34
- * + canonicalExplanation
46
+ * where RRF = 1/(K + semanticRank) + 1/(K + lexicalRank)
35
47
  *
36
- * These additive signals act as tiebreakers and small reranking signals. They
37
- * cannot overcome a large semantic gap but can reorder close candidates.
48
+ * When semanticRank is missing but lexicalRank is available (rescue candidates)
49
+ * only the lexical channel contributes. When both are missing the function
50
+ * falls back to pure boosted (pre-RRF scoring stage).
38
51
  */
39
52
  export declare function computeHybridScore(candidate: ScoredRecallCandidate): number;
53
+ export declare function assignDenseRanks<T>(items: T[], scoreOf: (item: T) => number, setRank: (item: T, rank: number) => void): void;
40
54
  export declare function computeCanonicalExplanationScore(candidate: ScoredRecallCandidate): number;
41
55
  export declare function applyCanonicalExplanationPromotion(candidates: ScoredRecallCandidate[]): ScoredRecallCandidate[];
42
56
  /**
43
- * Apply lexical reranking to a set of semantic candidates.
57
+ * Apply lexical scoring to semantic candidates. Returns the same array.
44
58
  *
45
- * For each candidate, compute lexical overlap against the query using the
46
- * provided projection text, then re-sort by hybrid score.
59
+ * Computes lexical overlap, coverage, and phrase scores using projection
60
+ * text. When projection text is unavailable, lexicalScore stays undefined.
47
61
  *
48
- * When projection text is unavailable for a candidate, lexicalScore stays
49
- * undefined and contributes 0 to the hybrid score.
62
+ * Also assigns semanticRank (1-based) based on the current boosted ordering.
63
+ * Sorting by RRF + canonical is deferred until applyCanonicalExplanationPromotion
64
+ * so that lexicalRank can be assigned after all scores are known.
50
65
  */
51
66
  export declare function applyLexicalReranking(candidates: ScoredRecallCandidate[], query: string, getProjectionText: (id: string) => string | undefined): ScoredRecallCandidate[];
67
+ export declare function enrichRescueCandidateScores(allCandidates: ScoredRecallCandidate[], query: string, getProjectionText: (id: string) => string | undefined): void;
52
68
  export declare function selectRecallResults(scored: ScoredRecallCandidate[], limit: number, scope: "project" | "global" | "all"): ScoredRecallCandidate[];
53
69
  export declare function selectWorkflowResults(scored: ScoredRecallCandidate[], limit: number, scope: "project" | "global" | "all"): ScoredRecallCandidate[];
70
+ export declare function applyGraphSpreadingActivation(candidates: ScoredRecallCandidate[], getNoteRelationships: (id: string) => Array<{
71
+ id: string;
72
+ type: RelationshipType;
73
+ }> | undefined): ScoredRecallCandidate[];
74
+ export declare function resolveDiscoveredVaults(candidates: ScoredRecallCandidate[], originalCandidateIds: Set<string>, resolveVault: (id: string) => Promise<{
75
+ vault: Vault;
76
+ isCurrentProject: boolean;
77
+ } | undefined>): Promise<void>;
54
78
  //# 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;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAsBnE,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAsBnF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,qBAAqB,GAAG,MAAM,CAM3E;AAED,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,qBAAqB,GAAG,MAAM,CAmBzF;AAED,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,qBAAqB,EAAE,GAAG,qBAAqB,EAAE,CAM/G;AAmCD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,qBAAqB,EAAE,EACnC,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACpD,qBAAqB,EAAE,CAezB;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;AASD,wBAAgB,qBAAqB,CACnC,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":"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"}
package/build/recall.js CHANGED
@@ -1,12 +1,15 @@
1
1
  import { computeLexicalScore, tokenize } from "./lexical.js";
2
+ const RRF_K = 60;
3
+ const CANONICAL_HYBRID_WEIGHT = 0.05;
2
4
  const RECALL_ALWAYS_LOAD_BOOST = 0.01;
3
5
  const RECALL_SUMMARY_BOOST = 0.012;
4
6
  const RECALL_DECISION_BOOST = 0.009;
5
7
  const RECALL_HIGH_IMPORTANCE_BOOST = 0.006;
6
- /** Weight applied to lexical score when computing hybrid boosted score. */
7
- const LEXICAL_HYBRID_WEIGHT = 0.12;
8
- const COVERAGE_HYBRID_WEIGHT = 0.08;
9
- const PHRASE_HYBRID_WEIGHT = 0.16;
8
+ const SPREADING_ENTRY_POINT_LIMIT = 5;
9
+ const SPREADING_HOP_DECAY = 0.5;
10
+ const SPREADING_ACTIVATION_GATE = 0.5;
11
+ const SPREADING_RELATED_TO_MULTIPLIER = 0.8;
12
+ const SPREADING_EXPLAINS_DERIVES_MULTIPLIER = 1.0;
10
13
  const MIN_CANONICAL_EXPLANATION_SCORE = 0.5;
11
14
  const WORKFLOW_ROLE_BOOSTS = {
12
15
  plan: 0.03,
@@ -35,26 +38,137 @@ export function computeRecallMetadataBoost(metadata) {
35
38
  }
36
39
  return boost;
37
40
  }
41
+ const TEMPORAL_QUERY_HINTS = [
42
+ // Ordered by specificity (longer/more specific patterns first) to avoid first-match-wins issues.
43
+ { pattern: /\b(in\s+the\s+past)\b/i, hint: { windowDays: 365, maxBoost: 0.03, confidence: "low" } },
44
+ { pattern: /\b(this\s+year|last\s+year)\b/i, hint: { windowDays: 366, maxBoost: 0.03, confidence: "medium" } },
45
+ { pattern: /\b(last\s+month)\b/i, hint: { windowDays: 62, maxBoost: 0.05, confidence: "medium" } },
46
+ { pattern: /\b(this\s+month)\b/i, hint: { windowDays: 31, maxBoost: 0.05, confidence: "medium" } },
47
+ { pattern: /\b(last\s+week)\b/i, hint: { windowDays: 14, maxBoost: 0.06, confidence: "medium" } },
48
+ { pattern: /\b(this\s+week)\b/i, hint: { windowDays: 7, maxBoost: 0.06, confidence: "medium" } },
49
+ { pattern: /\b(yesterday)\b/i, hint: { windowDays: 3, maxBoost: 0.08, confidence: "medium" } },
50
+ { pattern: /\b(today|latest)\b/i, hint: { windowDays: 2, maxBoost: 0.08, confidence: "medium" } },
51
+ { pattern: /\b(recent|recently|newest)\b/i, hint: { windowDays: 30, maxBoost: 0.05, confidence: "low" } },
52
+ ];
53
+ const EXPLICIT_TEMPORAL_WINDOW_PATTERN = /\b(?:past|last|the\s+last|in\s+the\s+last)\s+(\d{1,3})\s+(day|days|week|weeks|month|months|year|years)\b/i;
54
+ function toDays(value, unit) {
55
+ const normalized = unit.toLowerCase();
56
+ if (normalized === "day" || normalized === "days")
57
+ return value;
58
+ if (normalized === "week" || normalized === "weeks")
59
+ return value * 7;
60
+ if (normalized === "month" || normalized === "months")
61
+ return value * 31;
62
+ return value * 366;
63
+ }
64
+ export function detectTemporalQueryHint(query) {
65
+ const explicitWindow = query.match(EXPLICIT_TEMPORAL_WINDOW_PATTERN);
66
+ if (explicitWindow) {
67
+ const value = Number.parseInt(explicitWindow[1], 10);
68
+ const unit = explicitWindow[2];
69
+ if (Number.isFinite(value) && value > 0) {
70
+ const windowDays = toDays(value, unit);
71
+ return {
72
+ windowDays,
73
+ filterWindowDays: windowDays,
74
+ maxBoost: Math.min(0.08, 0.03 + Math.log10(value + 1) * 0.02),
75
+ confidence: "high",
76
+ };
77
+ }
78
+ }
79
+ for (const entry of TEMPORAL_QUERY_HINTS) {
80
+ if (entry.pattern.test(query)) {
81
+ return entry.hint;
82
+ }
83
+ }
84
+ return undefined;
85
+ }
86
+ export function computeTemporalRecencyBoost(updatedAt, hint, now = new Date()) {
87
+ const updated = new Date(updatedAt);
88
+ if (Number.isNaN(updated.getTime())) {
89
+ return 0;
90
+ }
91
+ const ageDays = Math.max(0, (now.getTime() - updated.getTime()) / (1000 * 60 * 60 * 24));
92
+ if (ageDays > hint.windowDays) {
93
+ return 0;
94
+ }
95
+ const freshness = 1 - ageDays / hint.windowDays;
96
+ return hint.maxBoost * freshness;
97
+ }
98
+ export function shouldApplyTemporalFiltering(hint) {
99
+ return hint?.confidence === "high" && hint.filterWindowDays !== undefined;
100
+ }
101
+ export function isWithinTemporalFilterWindow(updatedAt, windowDays, now = new Date()) {
102
+ const updated = new Date(updatedAt);
103
+ if (Number.isNaN(updated.getTime())) {
104
+ return true;
105
+ }
106
+ const ageDays = Math.max(0, (now.getTime() - updated.getTime()) / (1000 * 60 * 60 * 24));
107
+ return ageDays <= windowDays;
108
+ }
38
109
  /**
39
- * Compute a hybrid score that combines semantic similarity with additive
40
- * lexical, coverage, phrase, and canonical explanation signals.
110
+ * Compute RRF-based hybrid score.
111
+ *
112
+ * Formula:
113
+ * boosted + RRF + canonicalExplanationScore * CANONICAL_HYBRID_WEIGHT
41
114
  *
42
- * The formula is:
43
- * boosted
44
- * + LEXICAL_HYBRID_WEIGHT * lexical
45
- * + COVERAGE_HYBRID_WEIGHT * coverage
46
- * + PHRASE_HYBRID_WEIGHT * phrase
47
- * + canonicalExplanation
115
+ * where RRF = 1/(K + semanticRank) + 1/(K + lexicalRank)
48
116
  *
49
- * These additive signals act as tiebreakers and small reranking signals. They
50
- * cannot overcome a large semantic gap but can reorder close candidates.
117
+ * When semanticRank is missing but lexicalRank is available (rescue candidates)
118
+ * only the lexical channel contributes. When both are missing the function
119
+ * falls back to pure boosted (pre-RRF scoring stage).
51
120
  */
52
121
  export function computeHybridScore(candidate) {
122
+ const canonical = candidate.canonicalExplanationScore ?? 0;
123
+ if (candidate.semanticRank === undefined && candidate.lexicalRank === undefined) {
124
+ return candidate.boosted + canonical;
125
+ }
126
+ const semanticContribution = candidate.semanticRank !== undefined
127
+ ? 1 / (RRF_K + candidate.semanticRank)
128
+ : 0;
129
+ const lexicalContribution = candidate.lexicalRank !== undefined
130
+ ? 1 / (RRF_K + candidate.lexicalRank)
131
+ : 0;
132
+ // Scale RRF so its maximum influence is comparable to the old additive
133
+ // lexical weight (~0.12). With K = 60 and two channels the max RRF is
134
+ // roughly 2/60 ≈ 0.033. Multiplied by 3.5 this hits ~0.115, matching the
135
+ // old order-of-magnitude while remaining calibration-free.
136
+ const rrf = semanticContribution + lexicalContribution;
137
+ return candidate.boosted + rrf * 3.5 + canonical * CANONICAL_HYBRID_WEIGHT;
138
+ }
139
+ function computeLexicalRankSignal(candidate) {
53
140
  const lexical = candidate.lexicalScore ?? 0;
54
141
  const coverage = candidate.coverageScore ?? 0;
55
142
  const phrase = candidate.phraseScore ?? 0;
56
- const canonical = candidate.canonicalExplanationScore ?? 0;
57
- return candidate.boosted + LEXICAL_HYBRID_WEIGHT * lexical + COVERAGE_HYBRID_WEIGHT * coverage + PHRASE_HYBRID_WEIGHT * phrase + canonical;
143
+ return lexical + coverage * 0.3 + phrase * 0.5;
144
+ }
145
+ const RANK_EPSILON = 1e-9;
146
+ export function assignDenseRanks(items, scoreOf, setRank) {
147
+ let currentRank = 0;
148
+ let previousScore;
149
+ for (let i = 0; i < items.length; i++) {
150
+ const score = scoreOf(items[i]);
151
+ if (previousScore === undefined || Math.abs(score - previousScore) > RANK_EPSILON) {
152
+ currentRank = i + 1;
153
+ previousScore = score;
154
+ }
155
+ setRank(items[i], currentRank);
156
+ }
157
+ }
158
+ function compareByHybridScore(a, b) {
159
+ const hybridDelta = computeHybridScore(b) - computeHybridScore(a);
160
+ if (hybridDelta !== 0) {
161
+ return hybridDelta;
162
+ }
163
+ const boostedDelta = b.boosted - a.boosted;
164
+ if (boostedDelta !== 0) {
165
+ return boostedDelta;
166
+ }
167
+ const lexicalDelta = computeLexicalRankSignal(b) - computeLexicalRankSignal(a);
168
+ if (lexicalDelta !== 0) {
169
+ return lexicalDelta;
170
+ }
171
+ return b.score - a.score;
58
172
  }
59
173
  export function computeCanonicalExplanationScore(candidate) {
60
174
  if ((candidate.semanticScoreForPromotion ?? 0) < MIN_CANONICAL_EXPLANATION_SCORE) {
@@ -78,7 +192,13 @@ export function applyCanonicalExplanationPromotion(candidates) {
78
192
  for (const candidate of candidates) {
79
193
  candidate.canonicalExplanationScore = computeCanonicalExplanationScore(candidate);
80
194
  }
81
- return [...candidates].sort((a, b) => computeHybridScore(b) - computeHybridScore(a));
195
+ // Assign lexicalRank based on lexicalScore (undefined scores rank last).
196
+ const sortedByLexical = [...candidates]
197
+ .sort((a, b) => computeLexicalRankSignal(b) - computeLexicalRankSignal(a) || b.score - a.score);
198
+ assignDenseRanks(sortedByLexical, computeLexicalRankSignal, (candidate, rank) => {
199
+ candidate.lexicalRank = rank;
200
+ });
201
+ return [...candidates].sort(compareByHybridScore);
82
202
  }
83
203
  function computeSignificantPhraseScore(query, candidateText) {
84
204
  const phraseTokens = Array.from(new Set(tokenize(query))).filter((token) => token.length >= 4);
@@ -108,13 +228,14 @@ function computeWeightedQueryCoverage(query, candidateText, corpusTexts) {
108
228
  return totalWeight === 0 ? 0 : matchedWeight / totalWeight;
109
229
  }
110
230
  /**
111
- * Apply lexical reranking to a set of semantic candidates.
231
+ * Apply lexical scoring to semantic candidates. Returns the same array.
112
232
  *
113
- * For each candidate, compute lexical overlap against the query using the
114
- * provided projection text, then re-sort by hybrid score.
233
+ * Computes lexical overlap, coverage, and phrase scores using projection
234
+ * text. When projection text is unavailable, lexicalScore stays undefined.
115
235
  *
116
- * When projection text is unavailable for a candidate, lexicalScore stays
117
- * undefined and contributes 0 to the hybrid score.
236
+ * Also assigns semanticRank (1-based) based on the current boosted ordering.
237
+ * Sorting by RRF + canonical is deferred until applyCanonicalExplanationPromotion
238
+ * so that lexicalRank can be assigned after all scores are known.
118
239
  */
119
240
  export function applyLexicalReranking(candidates, query, getProjectionText) {
120
241
  const corpusTexts = candidates
@@ -128,10 +249,35 @@ export function applyLexicalReranking(candidates, query, getProjectionText) {
128
249
  candidate.phraseScore = computeSignificantPhraseScore(query, projText);
129
250
  }
130
251
  }
131
- return [...candidates].sort((a, b) => computeHybridScore(b) - computeHybridScore(a));
252
+ // Assign semanticRank using dense semantic score ordering.
253
+ // Tied semantic scores share the same rank so lexical rank can break ties.
254
+ const sortedBySemantic = [...candidates].sort((a, b) => b.score - a.score || b.boosted - a.boosted);
255
+ assignDenseRanks(sortedBySemantic, (candidate) => candidate.score, (candidate, rank) => {
256
+ candidate.semanticRank = rank;
257
+ });
258
+ return candidates;
259
+ }
260
+ export function enrichRescueCandidateScores(allCandidates, query, getProjectionText) {
261
+ const rescueIds = new Set(allCandidates
262
+ .filter((c) => c.coverageScore === undefined && c.lexicalScore !== undefined)
263
+ .map((c) => c.id));
264
+ if (rescueIds.size === 0)
265
+ return;
266
+ const corpusTexts = allCandidates
267
+ .map((candidate) => getProjectionText(candidate.id))
268
+ .filter((text) => Boolean(text));
269
+ for (const candidate of allCandidates) {
270
+ if (!rescueIds.has(candidate.id))
271
+ continue;
272
+ const projText = getProjectionText(candidate.id);
273
+ if (projText) {
274
+ candidate.coverageScore = computeWeightedQueryCoverage(query, projText, corpusTexts);
275
+ candidate.phraseScore = computeSignificantPhraseScore(query, projText);
276
+ }
277
+ }
132
278
  }
133
279
  export function selectRecallResults(scored, limit, scope) {
134
- const sorted = [...scored].sort((a, b) => computeHybridScore(b) - computeHybridScore(a));
280
+ const sorted = [...scored].sort(compareByHybridScore);
135
281
  if (scope !== "all") {
136
282
  return sorted.slice(0, limit);
137
283
  }
@@ -154,7 +300,13 @@ function computeWorkflowScore(candidate) {
154
300
  return computeHybridScore(candidate) + roleBoost + temporaryBoost + centralityBoost;
155
301
  }
156
302
  export function selectWorkflowResults(scored, limit, scope) {
157
- const sorted = [...scored].sort((a, b) => computeWorkflowScore(b) - computeWorkflowScore(a));
303
+ const sorted = [...scored].sort((a, b) => {
304
+ const workflowDelta = computeWorkflowScore(b) - computeWorkflowScore(a);
305
+ if (workflowDelta !== 0) {
306
+ return workflowDelta;
307
+ }
308
+ return compareByHybridScore(a, b);
309
+ });
158
310
  if (scope !== "all") {
159
311
  return sorted.slice(0, limit);
160
312
  }
@@ -170,4 +322,80 @@ export function selectWorkflowResults(scored, limit, scope) {
170
322
  const fallback = sorted.filter((candidate) => !selectedIds.has(candidate.id));
171
323
  return [...topProject, ...fallback].slice(0, limit);
172
324
  }
325
+ function getRelationshipMultiplier(type) {
326
+ switch (type) {
327
+ case "explains":
328
+ case "derives-from":
329
+ return SPREADING_EXPLAINS_DERIVES_MULTIPLIER;
330
+ case "related-to":
331
+ case "example-of":
332
+ case "supersedes":
333
+ case "follows":
334
+ return SPREADING_RELATED_TO_MULTIPLIER;
335
+ }
336
+ }
337
+ export function applyGraphSpreadingActivation(candidates, getNoteRelationships) {
338
+ if (candidates.length === 0) {
339
+ return candidates;
340
+ }
341
+ const sortedByScore = [...candidates].sort((a, b) => b.score - a.score);
342
+ const entryPoints = sortedByScore.slice(0, SPREADING_ENTRY_POINT_LIMIT);
343
+ const eligibleEntries = entryPoints.filter((e) => e.score >= SPREADING_ACTIVATION_GATE);
344
+ if (eligibleEntries.length === 0) {
345
+ return candidates;
346
+ }
347
+ const candidateMap = new Map(candidates.map((c) => [c.id, c]));
348
+ const discovered = new Map();
349
+ for (const entry of eligibleEntries) {
350
+ const relationships = getNoteRelationships(entry.id);
351
+ if (!relationships)
352
+ continue;
353
+ for (const rel of relationships) {
354
+ const multiplier = getRelationshipMultiplier(rel.type);
355
+ const propagatedScore = entry.score * SPREADING_HOP_DECAY * multiplier;
356
+ const existingCandidate = candidateMap.get(rel.id);
357
+ if (existingCandidate) {
358
+ existingCandidate.score += propagatedScore;
359
+ existingCandidate.boosted += propagatedScore;
360
+ if (existingCandidate.semanticScoreForPromotion !== undefined) {
361
+ existingCandidate.semanticScoreForPromotion += propagatedScore;
362
+ }
363
+ }
364
+ else if (!discovered.has(rel.id)) {
365
+ discovered.set(rel.id, {
366
+ id: rel.id,
367
+ score: propagatedScore,
368
+ semanticScoreForPromotion: propagatedScore,
369
+ boosted: propagatedScore,
370
+ vault: entry.vault,
371
+ isCurrentProject: entry.isCurrentProject,
372
+ });
373
+ }
374
+ else {
375
+ const existing = discovered.get(rel.id);
376
+ existing.score += propagatedScore;
377
+ existing.boosted += propagatedScore;
378
+ if (existing.semanticScoreForPromotion !== undefined) {
379
+ existing.semanticScoreForPromotion += propagatedScore;
380
+ }
381
+ }
382
+ }
383
+ }
384
+ if (discovered.size === 0) {
385
+ return candidates;
386
+ }
387
+ return [...candidates, ...discovered.values()];
388
+ }
389
+ export function resolveDiscoveredVaults(candidates, originalCandidateIds, resolveVault) {
390
+ const discovered = candidates.filter((c) => !originalCandidateIds.has(c.id) && c.vault !== undefined);
391
+ if (discovered.length === 0)
392
+ return Promise.resolve();
393
+ return Promise.all(discovered.map(async (c) => {
394
+ const resolved = await resolveVault(c.id);
395
+ if (resolved) {
396
+ c.vault = resolved.vault;
397
+ c.isCurrentProject = resolved.isCurrentProject;
398
+ }
399
+ })).then(() => { });
400
+ }
173
401
  //# sourceMappingURL=recall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recall.js","sourceRoot":"","sources":["../src/recall.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7D,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAE3C,2EAA2E;AAC3E,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAC5C,MAAM,oBAAoB,GAAwE;IAChG,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;CACf,CAAC;AAwBF,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;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAgC;IACjE,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,IAAI,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,IAAI,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,yBAAyB,IAAI,CAAC,CAAC;IAC3D,OAAO,SAAS,CAAC,OAAO,GAAG,qBAAqB,GAAG,OAAO,GAAG,sBAAsB,GAAG,QAAQ,GAAG,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAAC;AAC7I,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,SAAgC;IAC/E,IAAI,CAAC,SAAS,CAAC,yBAAyB,IAAI,CAAC,CAAC,GAAG,+BAA+B,EAAE,CAAC;QACjF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,KAAK,UAAU;QAClD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS;YACtC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS;gBACtC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,CAAC,CAAC;IACV,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,mBAAmB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;IAE5D,OAAO,UAAU,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,UAAmC;IACpF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,SAAS,CAAC,yBAAyB,GAAG,gCAAgC,CAAC,SAAS,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAa,EAAE,aAAqB;IACzE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAC/F,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,OAAO,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAa,EAAE,aAAqB,EAAE,WAAqB;IAC/F,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAC9F,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5G,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAClD,WAAW,IAAI,MAAM,CAAC;QACtB,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,aAAa,IAAI,MAAM,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,WAAW,CAAC;AAC7D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAmC,EACnC,KAAa,EACb,iBAAqD;IAErD,MAAM,WAAW,GAAG,UAAU;SAC3B,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,CAAC,YAAY,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC9D,SAAS,CAAC,aAAa,GAAG,4BAA4B,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACrF,SAAS,CAAC,WAAW,GAAG,6BAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,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,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzF,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;AAED,SAAS,oBAAoB,CAAC,SAAgC;IAC5D,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAC7F,OAAO,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,cAAc,GAAG,eAAe,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,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,oBAAoB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7F,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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielmarbach/mnemonic-mcp",
3
- "version": "0.25.5",
3
+ "version": "0.26.0",
4
4
  "description": "A local MCP memory server backed by markdown + JSON files, synced via git",
5
5
  "type": "module",
6
6
  "repository": {
@@ -28,6 +28,7 @@ Use `derives-from` for lineage and `follows` for sequence by default. Fall back
28
28
  - Create or update one current plan note: `role: plan`, `lifecycle: temporary`.
29
29
  - Link to request root and key research notes (`derives-from` for lineage, `follows` for sequence).
30
30
  - Keep the plan concise and executable.
31
+ - For non-trivial work, include a short markdown checkbox list (`- [ ]`) for executable steps.
31
32
  - One current plan per request; update or supersede as needed.
32
33
  - Update plan note before continuing if scope, architecture, dependencies, or assumptions change materially.
33
34
 
@@ -35,6 +36,7 @@ Use `derives-from` for lineage and `follows` for sequence by default. Fall back
35
36
 
36
37
  - Create apply/task notes: `lifecycle: temporary`, tagged `apply`.
37
38
  - `role: plan` for executable steps; `role: context` for observations and checkpoints.
39
+ - Keep checkbox state current as work advances (`[ ]` → `[x]`), and add new items when scope expands.
38
40
  - Link to plan note (`follows` for ordered steps).
39
41
  - For non-trivial work, dispatch a subagent with narrow scope (see [handoff template](#subagent-handoff-template)).
40
42
 
@@ -43,6 +45,7 @@ Use `derives-from` for lineage and `follows` for sequence by default. Fall back
43
45
  - Create review notes: `role: review`, `lifecycle: temporary`.
44
46
  - Link to apply/task notes or plan (`derives-from` when conclusions derive from specific artifacts).
45
47
  - Record outcome: continue, block, or update plan.
48
+ - Reconcile checklist state with verification evidence; call out any unchecked items explicitly.
46
49
  - If review causes a material plan change, update plan note first.
47
50
  - Every review note must include verification evidence:
48
51
 
@@ -110,4 +113,4 @@ Material plan changes during implementation: commit the memory update first.
110
113
 
111
114
  **Multi-file refactor:** request root + concise plan → subagent handoff → apply note + recommendation → review, consolidate.
112
115
 
113
- **Small task:** request root + plan → one apply note → review says continue → one permanent summary.
116
+ **Small task:** request root + plan → one apply note → review says continue → one permanent summary.