@mmnto/mcp 1.103.0 → 1.105.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.
- package/dist/search-log.d.ts +8 -0
- package/dist/search-log.d.ts.map +1 -1
- package/dist/search-log.js.map +1 -1
- package/dist/tools/search-knowledge.d.ts +16 -0
- package/dist/tools/search-knowledge.d.ts.map +1 -1
- package/dist/tools/search-knowledge.js +277 -22
- package/dist/tools/search-knowledge.js.map +1 -1
- package/dist/tools/search-knowledge.test.js +290 -3
- package/dist/tools/search-knowledge.test.js.map +1 -1
- package/package.json +2 -2
package/dist/search-log.d.ts
CHANGED
|
@@ -6,6 +6,14 @@ export interface SearchLogEntry {
|
|
|
6
6
|
resultCount: number;
|
|
7
7
|
durationMs: number;
|
|
8
8
|
topScore: number | null;
|
|
9
|
+
/**
|
|
10
|
+
* Best per-hit relevance (vector-leg similarity, 0..1) for this query, or
|
|
11
|
+
* `null` when no hit carried a relevance signal (mmnto-ai/totem#2463).
|
|
12
|
+
* Recorded alongside `topScore` because `topScore` is an RRF rank artifact in
|
|
13
|
+
* hybrid/federated modes — `topRelevance` is the calibratable retrieval-quality
|
|
14
|
+
* signal the pilot floor tuning reads. Optional: absent on pre-#2463 entries.
|
|
15
|
+
*/
|
|
16
|
+
topRelevance?: number | null;
|
|
9
17
|
error?: string;
|
|
10
18
|
/**
|
|
11
19
|
* A.3.a schema extension (ADR-029 flight-readiness note; ruled in on
|
package/dist/search-log.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-log.d.ts","sourceRoot":"","sources":["../src/search-log.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,2OAA2O;IAC3O,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6NAA6N;IAC7N,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAaD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,oBAAoB,CAgBtB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAQD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAsB/D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAc5C"}
|
|
1
|
+
{"version":3,"file":"search-log.d.ts","sourceRoot":"","sources":["../src/search-log.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,2OAA2O;IAC3O,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6NAA6N;IAC7N,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAaD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,oBAAoB,CAgBtB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAQD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAsB/D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAc5C"}
|
package/dist/search-log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-log.js","sourceRoot":"","sources":["../src/search-log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"search-log.js","sourceRoot":"","sources":["../src/search-log.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,21 @@ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
5
5
|
* repeatedly across individual test cases.
|
|
6
6
|
*/
|
|
7
7
|
export declare function _resetSessionFlags(): void;
|
|
8
|
+
/**
|
|
9
|
+
* Machine-parsable retrieval outcome line (mmnto-ai/totem#2463). Sits directly
|
|
10
|
+
* below the `<index-meta>` line and shares its self-closing XML-attribute shape
|
|
11
|
+
* so a wrapper agent can read the whole outcome with one regex. Every attribute
|
|
12
|
+
* value is a closed enum or a formatted number — no user input — so no XML
|
|
13
|
+
* escaping is required. `hits` counts RETURNED hits: 0 for `no_useful_hits`
|
|
14
|
+
* (candidates are disclosed, not returned) and the floor-exempt subset for a
|
|
15
|
+
* mixed below-floor batch.
|
|
16
|
+
*/
|
|
17
|
+
export declare function formatRetrievalEnvelope(params: {
|
|
18
|
+
status: 'ok' | 'no_useful_hits' | 'empty';
|
|
19
|
+
method: 'hybrid' | 'vector' | 'fts';
|
|
20
|
+
bestRelevance: number | null;
|
|
21
|
+
floor: number;
|
|
22
|
+
hits: number;
|
|
23
|
+
}): string;
|
|
8
24
|
export declare function registerSearchKnowledge(server: McpServer): void;
|
|
9
25
|
//# sourceMappingURL=search-knowledge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-knowledge.d.ts","sourceRoot":"","sources":["../../src/tools/search-knowledge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0CzE;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;
|
|
1
|
+
{"version":3,"file":"search-knowledge.d.ts","sourceRoot":"","sources":["../../src/tools/search-knowledge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0CzE;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAkWD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,MAAM,EAAE,IAAI,GAAG,gBAAgB,GAAG,OAAO,CAAC;IAC1C,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,CAMT;AAgcD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsN/D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as path from 'node:path';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { ContentTypeSchema } from '@mmnto/totem';
|
|
3
|
+
import { ContentTypeSchema, DEFAULT_SEARCH_RELEVANCE_FLOOR } from '@mmnto/totem';
|
|
4
4
|
import { getContext, reconnectStore } from '../context.js';
|
|
5
5
|
import { logMcpCall } from '../ledger-writer.js';
|
|
6
6
|
import { logSearch, setLogDir } from '../search-log.js';
|
|
@@ -154,13 +154,24 @@ function formatResult(r, index) {
|
|
|
154
154
|
// joined with explicit `+` rather than two adjacent template placeholders
|
|
155
155
|
// (which the concat-without-delimiter lint rule flags).
|
|
156
156
|
const labelWithTag = r.sourceRepo ? `[${r.sourceRepo}] ` + r.label : r.label;
|
|
157
|
+
// mmnto-ai/totem#2463: surface the true relevance signal alongside the
|
|
158
|
+
// ordering `score`. `score` stays (RRF rank artifact — drives display order);
|
|
159
|
+
// `relevance` is the vector-leg similarity, so the agent never mistakes an
|
|
160
|
+
// absent signal for a low one. The "keyword match" note is reserved for
|
|
161
|
+
// fts-stamped hits — a vector/hybrid hit that (defensively) lacks relevance
|
|
162
|
+
// shows a bare "n/a" rather than being mislabeled as a keyword match.
|
|
163
|
+
const relevanceField = typeof r.relevance === 'number'
|
|
164
|
+
? r.relevance.toFixed(3)
|
|
165
|
+
: r.searchMethod === 'fts'
|
|
166
|
+
? 'n/a (keyword match)'
|
|
167
|
+
: 'n/a';
|
|
157
168
|
// mmnto/totem#1295 CR MAJOR: ALWAYS display the absolute path. The whole
|
|
158
169
|
// point of `absoluteFilePath` on `SearchResult` is to give agents an
|
|
159
170
|
// unambiguous Read/Edit target. Falling back to the relative `filePath`
|
|
160
171
|
// for primary hits reintroduced repo-root ambiguity in the common case —
|
|
161
172
|
// exactly the bug that field was added to fix.
|
|
162
173
|
return (`### ${index + 1}. ${labelWithTag} (${r.type})\n` +
|
|
163
|
-
`**File:** ${r.absoluteFilePath} | **Score:** ${r.score.toFixed(3)}\n\n` +
|
|
174
|
+
`**File:** ${r.absoluteFilePath} | **Score:** ${r.score.toFixed(3)} | **Relevance:** ${relevanceField}\n\n` +
|
|
164
175
|
r.content);
|
|
165
176
|
}
|
|
166
177
|
/**
|
|
@@ -190,7 +201,7 @@ function formatResult(r, index) {
|
|
|
190
201
|
*
|
|
191
202
|
* mmnto/totem#1294 Phase 2 + mmnto/totem#1295 fix.
|
|
192
203
|
*/
|
|
193
|
-
async function federatedSearch(query, typeFilter, perStoreLimit, finalLimit, failures) {
|
|
204
|
+
async function federatedSearch(query, typeFilter, perStoreLimit, finalLimit, failures, onFtsFallback) {
|
|
194
205
|
const { store: primaryStore, linkedStores } = await getContext();
|
|
195
206
|
// mmnto/totem#1295 GCA HIGH: catch primary failures inside federatedSearch
|
|
196
207
|
// ONLY when linked stores exist, so a transient primary failure doesn't
|
|
@@ -208,12 +219,25 @@ async function federatedSearch(query, typeFilter, perStoreLimit, finalLimit, fai
|
|
|
208
219
|
const hasLinkedStores = linkedStores.size > 0;
|
|
209
220
|
const primaryPromise = hasLinkedStores
|
|
210
221
|
? primaryStore
|
|
211
|
-
.search({
|
|
222
|
+
.search({
|
|
223
|
+
query,
|
|
224
|
+
typeFilter,
|
|
225
|
+
maxResults: perStoreLimit,
|
|
226
|
+
allowFtsFallback: true,
|
|
227
|
+
onFtsFallback,
|
|
228
|
+
})
|
|
212
229
|
.catch(async (err) => {
|
|
213
230
|
const firstMsg = err instanceof Error ? err.message : String(err);
|
|
214
231
|
try {
|
|
215
232
|
await primaryStore.reconnect();
|
|
216
|
-
return await primaryStore.search({
|
|
233
|
+
return await primaryStore.search({
|
|
234
|
+
query,
|
|
235
|
+
typeFilter,
|
|
236
|
+
maxResults: perStoreLimit,
|
|
237
|
+
allowFtsFallback: true,
|
|
238
|
+
onFtsFallback,
|
|
239
|
+
});
|
|
240
|
+
// totem-context: mmnto-ai/totem#1295 — the catch below is not a silent swallow; the failure is recorded in `failures.primary` and surfaced to the agent as a per-query system warning.
|
|
217
241
|
}
|
|
218
242
|
catch (retryErr) {
|
|
219
243
|
const retryMsg = retryErr instanceof Error ? retryErr.message : String(retryErr);
|
|
@@ -230,18 +254,39 @@ async function federatedSearch(query, typeFilter, perStoreLimit, finalLimit, fai
|
|
|
230
254
|
return [];
|
|
231
255
|
}
|
|
232
256
|
})
|
|
233
|
-
: primaryStore.search({
|
|
257
|
+
: primaryStore.search({
|
|
258
|
+
query,
|
|
259
|
+
typeFilter,
|
|
260
|
+
maxResults: perStoreLimit,
|
|
261
|
+
allowFtsFallback: true,
|
|
262
|
+
onFtsFallback,
|
|
263
|
+
});
|
|
234
264
|
// Linked stores: catch per-store failures so one broken linked index
|
|
235
265
|
// doesn't break the overall query. On failure, attempt targeted
|
|
236
266
|
// reconnect + retry, then return empty for this query (populating
|
|
237
267
|
// `failures.linked` for the caller to surface). Global state is NEVER
|
|
238
268
|
// mutated here — the store stays in `linkedStores` so the next query
|
|
239
269
|
// can try again (the transient issue may have cleared).
|
|
240
|
-
const linkedPromises = Array.from(linkedStores.entries()).map(([name, ls]) => ls
|
|
270
|
+
const linkedPromises = Array.from(linkedStores.entries()).map(([name, ls]) => ls
|
|
271
|
+
.search({
|
|
272
|
+
query,
|
|
273
|
+
typeFilter,
|
|
274
|
+
maxResults: perStoreLimit,
|
|
275
|
+
allowFtsFallback: true,
|
|
276
|
+
onFtsFallback,
|
|
277
|
+
})
|
|
278
|
+
.catch(async (err) => {
|
|
241
279
|
const firstMsg = err instanceof Error ? err.message : String(err);
|
|
242
280
|
try {
|
|
243
281
|
await ls.reconnect();
|
|
244
|
-
return await ls.search({
|
|
282
|
+
return await ls.search({
|
|
283
|
+
query,
|
|
284
|
+
typeFilter,
|
|
285
|
+
maxResults: perStoreLimit,
|
|
286
|
+
allowFtsFallback: true,
|
|
287
|
+
onFtsFallback,
|
|
288
|
+
});
|
|
289
|
+
// totem-context: mmnto-ai/totem#1295 — the catch below is not a silent swallow; the failure is recorded in `failures.linked` and surfaced to the agent as a per-query system warning.
|
|
245
290
|
}
|
|
246
291
|
catch (retryErr) {
|
|
247
292
|
const retryMsg = retryErr instanceof Error ? retryErr.message : String(retryErr);
|
|
@@ -284,6 +329,11 @@ async function federatedSearch(query, typeFilter, perStoreLimit, finalLimit, fai
|
|
|
284
329
|
//
|
|
285
330
|
// RRF k=60 matches the constant used inside `LanceStore.rrfMerge` for
|
|
286
331
|
// intra-store hybrid fusion, for consistency.
|
|
332
|
+
//
|
|
333
|
+
// mmnto-ai/totem#2463: the `{ ...r }` spread carries each hit's `relevance`
|
|
334
|
+
// and `searchMethod` through untouched — this second fusion site overwrites
|
|
335
|
+
// ONLY `score`, exactly as the intra-store `rrfMerge` does, so the true
|
|
336
|
+
// relevance signal survives federation just as it survives single-store mode.
|
|
287
337
|
const RRF_K_FEDERATION = 60;
|
|
288
338
|
const reranked = [];
|
|
289
339
|
for (const bucket of buckets) {
|
|
@@ -294,7 +344,35 @@ async function federatedSearch(query, typeFilter, perStoreLimit, finalLimit, fai
|
|
|
294
344
|
reranked.sort((a, b) => (b.score ?? 0) - (a.score ?? 0));
|
|
295
345
|
return reranked.slice(0, finalLimit);
|
|
296
346
|
}
|
|
297
|
-
|
|
347
|
+
/**
|
|
348
|
+
* Which retrieval path the returned hits came from, for the envelope's
|
|
349
|
+
* `method` attribute (mmnto-ai/totem#2463). Any fts-stamped hit means a store
|
|
350
|
+
* degraded to keyword-only, so `fts` is reported to keep the envelope method in
|
|
351
|
+
* lockstep with the loud fallback warning. All hits vector-only → `vector`;
|
|
352
|
+
* otherwise (default / mixed / empty) → `hybrid`.
|
|
353
|
+
*/
|
|
354
|
+
function deriveSearchMethod(results) {
|
|
355
|
+
if (results.some((r) => r.searchMethod === 'fts'))
|
|
356
|
+
return 'fts';
|
|
357
|
+
if (results.length > 0 && results.every((r) => r.searchMethod === 'vector'))
|
|
358
|
+
return 'vector';
|
|
359
|
+
return 'hybrid';
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Machine-parsable retrieval outcome line (mmnto-ai/totem#2463). Sits directly
|
|
363
|
+
* below the `<index-meta>` line and shares its self-closing XML-attribute shape
|
|
364
|
+
* so a wrapper agent can read the whole outcome with one regex. Every attribute
|
|
365
|
+
* value is a closed enum or a formatted number — no user input — so no XML
|
|
366
|
+
* escaping is required. `hits` counts RETURNED hits: 0 for `no_useful_hits`
|
|
367
|
+
* (candidates are disclosed, not returned) and the floor-exempt subset for a
|
|
368
|
+
* mixed below-floor batch.
|
|
369
|
+
*/
|
|
370
|
+
export function formatRetrievalEnvelope(params) {
|
|
371
|
+
const best = params.bestRelevance !== null ? params.bestRelevance.toFixed(3) : 'n/a';
|
|
372
|
+
return (`<retrieval-envelope status="${params.status}" method="${params.method}" ` +
|
|
373
|
+
`bestRelevance="${best}" floor="${params.floor.toFixed(3)}" hits="${params.hits}" />`);
|
|
374
|
+
}
|
|
375
|
+
async function performSearch(query, typeFilter, maxResults, boundary, minRelevance) {
|
|
298
376
|
const { config, linkedStores, linkedStoreInitErrors, projectRoot } = await getContext();
|
|
299
377
|
const finalLimit = maxResults ?? 5;
|
|
300
378
|
// Knowledge-index freshness envelope (mmnto-ai/totem#2029 — docs-drift Mech C).
|
|
@@ -341,6 +419,14 @@ async function performSearch(query, typeFilter, maxResults, boundary) {
|
|
|
341
419
|
// hits. The agent would think it's querying the linked repo but get
|
|
342
420
|
// local results — exactly the "silent drift" pattern Tenet 4 forbids.
|
|
343
421
|
// Shield AI catch on mmnto/totem#1294 Phase 2 review.
|
|
422
|
+
// Out-of-band FTS-fallback signal (greptile P1, mmnto-ai/totem#2494 round 2):
|
|
423
|
+
// a fallback that returns ZERO rows leaves no fts-stamped result to infer
|
|
424
|
+
// from, so engagement is captured via callback — the envelope must report
|
|
425
|
+
// the embedder outage even on an empty keyword result set.
|
|
426
|
+
let ftsFallbackEngaged = false;
|
|
427
|
+
const onFtsFallback = () => {
|
|
428
|
+
ftsFallbackEngaged = true;
|
|
429
|
+
};
|
|
344
430
|
let results;
|
|
345
431
|
if (boundary !== undefined && config.partitions?.[boundary]) {
|
|
346
432
|
// Case 1: local partition — primary only, prefix filter
|
|
@@ -350,6 +436,8 @@ async function performSearch(query, typeFilter, maxResults, boundary) {
|
|
|
350
436
|
typeFilter,
|
|
351
437
|
maxResults: finalLimit,
|
|
352
438
|
boundary: config.partitions[boundary],
|
|
439
|
+
allowFtsFallback: true,
|
|
440
|
+
onFtsFallback,
|
|
353
441
|
});
|
|
354
442
|
}
|
|
355
443
|
else if (boundary !== undefined && linkedStores.has(boundary)) {
|
|
@@ -364,13 +452,27 @@ async function performSearch(query, typeFilter, maxResults, boundary) {
|
|
|
364
452
|
// real outage as an absence of relevant knowledge.
|
|
365
453
|
const linked = linkedStores.get(boundary);
|
|
366
454
|
try {
|
|
367
|
-
results = await linked.search({
|
|
455
|
+
results = await linked.search({
|
|
456
|
+
query,
|
|
457
|
+
typeFilter,
|
|
458
|
+
maxResults: finalLimit,
|
|
459
|
+
allowFtsFallback: true,
|
|
460
|
+
onFtsFallback,
|
|
461
|
+
});
|
|
462
|
+
// totem-context: mmnto-ai/totem#1295 — the catch below is not a silent swallow; a fully-failed targeted boundary (initial AND reconnect+retry throw) is surfaced to the agent as an isError ToolResult.
|
|
368
463
|
}
|
|
369
464
|
catch (err) {
|
|
370
465
|
const firstMsg = err instanceof Error ? err.message : String(err);
|
|
371
466
|
try {
|
|
372
467
|
await linked.reconnect();
|
|
373
|
-
results = await linked.search({
|
|
468
|
+
results = await linked.search({
|
|
469
|
+
query,
|
|
470
|
+
typeFilter,
|
|
471
|
+
maxResults: finalLimit,
|
|
472
|
+
allowFtsFallback: true,
|
|
473
|
+
onFtsFallback,
|
|
474
|
+
});
|
|
475
|
+
// totem-context: mmnto-ai/totem#1295 — the catch below is not a silent swallow; the double failure (initial AND reconnect+retry) is surfaced to the agent as an isError ToolResult.
|
|
374
476
|
}
|
|
375
477
|
catch (retryErr) {
|
|
376
478
|
const retryMsg = retryErr instanceof Error ? retryErr.message : String(retryErr);
|
|
@@ -413,6 +515,8 @@ async function performSearch(query, typeFilter, maxResults, boundary) {
|
|
|
413
515
|
typeFilter,
|
|
414
516
|
maxResults: finalLimit,
|
|
415
517
|
boundary,
|
|
518
|
+
allowFtsFallback: true,
|
|
519
|
+
onFtsFallback,
|
|
416
520
|
});
|
|
417
521
|
}
|
|
418
522
|
else {
|
|
@@ -420,7 +524,7 @@ async function performSearch(query, typeFilter, maxResults, boundary) {
|
|
|
420
524
|
// Pass the `failures` log so the federation path can populate it on
|
|
421
525
|
// store errors without mutating global state. Primary lives in a
|
|
422
526
|
// dedicated slot to avoid colliding with linked-store names.
|
|
423
|
-
results = await federatedSearch(query, typeFilter, finalLimit, finalLimit, failures);
|
|
527
|
+
results = await federatedSearch(query, typeFilter, finalLimit, finalLimit, failures, onFtsFallback);
|
|
424
528
|
}
|
|
425
529
|
// Build the runtime-failures warning (if any) once so we can decide
|
|
426
530
|
// whether to skip the "no results" early return for warn-only cases.
|
|
@@ -482,6 +586,39 @@ async function performSearch(query, typeFilter, maxResults, boundary) {
|
|
|
482
586
|
const allFederatedStoresFailed = boundary === undefined &&
|
|
483
587
|
failures.primary !== null &&
|
|
484
588
|
failures.linked.size === linkedStores.size;
|
|
589
|
+
// ─── Retrieval envelope + relevance floor (mmnto-ai/totem#2463) ──
|
|
590
|
+
//
|
|
591
|
+
// Floor on the TRUE relevance signal (`r.relevance`, vector-leg similarity),
|
|
592
|
+
// NEVER on the displayed `score` — that is an RRF rank artifact (≈0.016 by
|
|
593
|
+
// construction in hybrid/federated modes), so a floor over it would classify
|
|
594
|
+
// every fused hit as noise. The envelope discloses the outcome machine-
|
|
595
|
+
// readably beside the existing <index-meta> line.
|
|
596
|
+
const configuredFloor = typeof config.searchRelevanceFloor === 'number'
|
|
597
|
+
? config.searchRelevanceFloor
|
|
598
|
+
: DEFAULT_SEARCH_RELEVANCE_FLOOR;
|
|
599
|
+
const effectiveFloor = minRelevance !== undefined ? minRelevance : configuredFloor;
|
|
600
|
+
// A zero-row fallback leaves nothing fts-stamped — the callback flag keeps
|
|
601
|
+
// the envelope method honest for an empty keyword-only result set
|
|
602
|
+
// (greptile P1, mmnto-ai/totem#2494 round 2).
|
|
603
|
+
const method = results.length === 0 && ftsFallbackEngaged ? 'fts' : deriveSearchMethod(results);
|
|
604
|
+
// Loud degradation notice (Tenet 4 — fail honest): fallback engagement is
|
|
605
|
+
// signaled out-of-band (zero-row case) OR inferred from any fts-stamped hit.
|
|
606
|
+
const fallbackEngaged = ftsFallbackEngaged || results.some((r) => r.searchMethod === 'fts');
|
|
607
|
+
const fallbackWarning = fallbackEngaged
|
|
608
|
+
? formatSystemWarning([
|
|
609
|
+
'Embedding provider unavailable — search degraded to KEYWORD-ONLY (FTS) results.',
|
|
610
|
+
'',
|
|
611
|
+
'These matches carry NO semantic relevance signal (relevance is n/a); vector-similarity ranking is disabled until the embedder is restored. Fix the configured provider/API key or start Ollama, then retry for semantic results. (mmnto-ai/totem#2463)',
|
|
612
|
+
].join('\n'))
|
|
613
|
+
: null;
|
|
614
|
+
// Best relevance = max over hits that CARRY a relevance signal. Empty-safe:
|
|
615
|
+
// only spread into Math.max when non-empty (else it yields -Infinity). `null`
|
|
616
|
+
// encodes "no hit carried a relevance signal" — the floor never fires then.
|
|
617
|
+
const relevances = results
|
|
618
|
+
.map((r) => r.relevance)
|
|
619
|
+
.filter((x) => typeof x === 'number');
|
|
620
|
+
const hasRelevanceSignal = relevances.length > 0;
|
|
621
|
+
const bestRelevance = hasRelevanceSignal ? Math.max(...relevances) : null;
|
|
485
622
|
if (results.length === 0) {
|
|
486
623
|
if (allFederatedStoresFailed) {
|
|
487
624
|
return {
|
|
@@ -489,24 +626,113 @@ async function performSearch(query, typeFilter, maxResults, boundary) {
|
|
|
489
626
|
{
|
|
490
627
|
type: 'text',
|
|
491
628
|
text: runtimeWarning ??
|
|
492
|
-
'[Totem Error] Federated search failed: every queried store errored.', // totem-ignore #1294 — system-generated + XML-wrapped
|
|
629
|
+
'[Totem Error] Federated search failed: every queried store errored.', // totem-ignore mmnto-ai/totem#1294 — system-generated + XML-wrapped
|
|
493
630
|
},
|
|
494
631
|
],
|
|
495
632
|
isError: true,
|
|
496
633
|
};
|
|
497
634
|
}
|
|
635
|
+
const emptyEnvelope = formatRetrievalEnvelope({
|
|
636
|
+
status: 'empty',
|
|
637
|
+
method,
|
|
638
|
+
bestRelevance,
|
|
639
|
+
floor: effectiveFloor,
|
|
640
|
+
hits: 0,
|
|
641
|
+
});
|
|
498
642
|
const body = formatXmlResponse('knowledge', 'No results found.');
|
|
499
|
-
const text = composeResponseText({
|
|
643
|
+
const text = composeResponseText({
|
|
644
|
+
fallbackWarning,
|
|
645
|
+
runtimeWarning,
|
|
646
|
+
staleWarning,
|
|
647
|
+
indexEnvelope,
|
|
648
|
+
retrievalEnvelope: emptyEnvelope,
|
|
649
|
+
body,
|
|
650
|
+
}); // totem-ignore mmnto-ai/totem#1294 — composed from system-generated + XML-wrapped pieces
|
|
500
651
|
return { content: [{ type: 'text', text }] };
|
|
501
652
|
}
|
|
653
|
+
// Floor fires ONLY when a real relevance signal exists — a pure-FTS corpus
|
|
654
|
+
// (no vector relevance to report) is never demoted to no_useful_hits. And it
|
|
655
|
+
// judges ONLY the hits that carry a signal: keyword-only hits have no
|
|
656
|
+
// comparable relevance and are floor-EXEMPT — a mixed batch must never
|
|
657
|
+
// withhold them because their vector-leg siblings scored weak (greptile P1,
|
|
658
|
+
// mmnto-ai/totem#2494 round 2).
|
|
659
|
+
if (hasRelevanceSignal && bestRelevance !== null && bestRelevance < effectiveFloor) {
|
|
660
|
+
const floorExempt = results.filter((r) => typeof r.relevance !== 'number');
|
|
661
|
+
const withheld = results.filter((r) => typeof r.relevance === 'number');
|
|
662
|
+
// Disclose every withheld below-floor candidate compactly (path +
|
|
663
|
+
// relevance, NO content) — exclusion is disclosed, never silently
|
|
664
|
+
// dropped (Prop 308 F1).
|
|
665
|
+
const candidateLines = withheld.map((r, i) => {
|
|
666
|
+
const rel = typeof r.relevance === 'number' ? r.relevance.toFixed(3) : 'n/a';
|
|
667
|
+
const label = r.sourceRepo ? `[${r.sourceRepo}] ` + r.absoluteFilePath : r.absoluteFilePath;
|
|
668
|
+
return `${i + 1}. ${label} — relevance ${rel}`;
|
|
669
|
+
});
|
|
670
|
+
const disclosure = [
|
|
671
|
+
`Below-floor candidates (disclosed, not returned — path + relevance only; floor ${effectiveFloor.toFixed(3)}, best relevance ${bestRelevance.toFixed(3)}):`,
|
|
672
|
+
...candidateLines,
|
|
673
|
+
].join('\n');
|
|
674
|
+
if (floorExempt.length === 0) {
|
|
675
|
+
// Every hit carried a below-floor signal → honest no_useful_hits.
|
|
676
|
+
const belowFloorEnvelope = formatRetrievalEnvelope({
|
|
677
|
+
status: 'no_useful_hits',
|
|
678
|
+
method,
|
|
679
|
+
bestRelevance,
|
|
680
|
+
floor: effectiveFloor,
|
|
681
|
+
hits: 0,
|
|
682
|
+
});
|
|
683
|
+
const body = formatXmlResponse('knowledge', [
|
|
684
|
+
`No results met the relevance floor of ${effectiveFloor.toFixed(3)} (best relevance ${bestRelevance.toFixed(3)}).`,
|
|
685
|
+
'',
|
|
686
|
+
disclosure,
|
|
687
|
+
].join('\n'));
|
|
688
|
+
const text = composeResponseText({
|
|
689
|
+
fallbackWarning,
|
|
690
|
+
runtimeWarning,
|
|
691
|
+
staleWarning,
|
|
692
|
+
indexEnvelope,
|
|
693
|
+
retrievalEnvelope: belowFloorEnvelope,
|
|
694
|
+
body,
|
|
695
|
+
}); // totem-ignore mmnto-ai/totem#1294 — composed from system-generated + XML-wrapped pieces
|
|
696
|
+
return { content: [{ type: 'text', text }] };
|
|
697
|
+
}
|
|
698
|
+
// Mixed batch: return the floor-exempt keyword hits, disclose the
|
|
699
|
+
// withheld signal-bearing ones alongside.
|
|
700
|
+
const mixedEnvelope = formatRetrievalEnvelope({
|
|
701
|
+
status: 'ok',
|
|
702
|
+
method,
|
|
703
|
+
bestRelevance,
|
|
704
|
+
floor: effectiveFloor,
|
|
705
|
+
hits: floorExempt.length,
|
|
706
|
+
});
|
|
707
|
+
const formattedExempt = floorExempt.map((r, i) => formatResult(r, i)).join('\n\n---\n\n');
|
|
708
|
+
const body = formatXmlResponse('knowledge', formattedExempt + '\n\n---\n\n' + disclosure);
|
|
709
|
+
const text = composeResponseText({
|
|
710
|
+
fallbackWarning,
|
|
711
|
+
runtimeWarning,
|
|
712
|
+
staleWarning,
|
|
713
|
+
indexEnvelope,
|
|
714
|
+
retrievalEnvelope: mixedEnvelope,
|
|
715
|
+
body,
|
|
716
|
+
}); // totem-ignore mmnto-ai/totem#1294 — composed from system-generated + XML-wrapped pieces
|
|
717
|
+
return { content: [{ type: 'text', text }] };
|
|
718
|
+
}
|
|
719
|
+
const okEnvelope = formatRetrievalEnvelope({
|
|
720
|
+
status: 'ok',
|
|
721
|
+
method,
|
|
722
|
+
bestRelevance,
|
|
723
|
+
floor: effectiveFloor,
|
|
724
|
+
hits: results.length,
|
|
725
|
+
});
|
|
502
726
|
const formatted = results.map((r, i) => formatResult(r, i)).join('\n\n---\n\n');
|
|
503
727
|
const knowledgeBody = formatXmlResponse('knowledge', formatted);
|
|
504
728
|
let text = composeResponseText({
|
|
729
|
+
fallbackWarning,
|
|
505
730
|
runtimeWarning,
|
|
506
731
|
staleWarning,
|
|
507
732
|
indexEnvelope,
|
|
733
|
+
retrievalEnvelope: okEnvelope,
|
|
508
734
|
body: knowledgeBody,
|
|
509
|
-
}); // totem-ignore #1294 — composed from system-generated + XML-wrapped pieces
|
|
735
|
+
}); // totem-ignore mmnto-ai/totem#1294 — composed from system-generated + XML-wrapped pieces
|
|
510
736
|
// Append a system warning when the payload is large enough to risk context pressure
|
|
511
737
|
if (text.length > config.contextWarningThreshold) {
|
|
512
738
|
text +=
|
|
@@ -520,21 +746,27 @@ async function performSearch(query, typeFilter, maxResults, boundary) {
|
|
|
520
746
|
* Compose the final response text by stacking diagnostics on top of the
|
|
521
747
|
* knowledge body. Order (outermost → innermost):
|
|
522
748
|
*
|
|
523
|
-
* 1.
|
|
524
|
-
* 2.
|
|
525
|
-
* 3.
|
|
526
|
-
* 4.
|
|
749
|
+
* 1. fallback warning (embedder down → keyword-only; mmnto-ai/totem#2463)
|
|
750
|
+
* 2. runtime warning (per-call store failures from federatedSearch)
|
|
751
|
+
* 3. STALE warning (knowledge index >7 days old; mmnto-ai/totem#2029)
|
|
752
|
+
* 4. index-meta envelope (always-present freshness metadata)
|
|
753
|
+
* 5. retrieval envelope (machine-parsable outcome; mmnto-ai/totem#2463) —
|
|
754
|
+
* emitted directly below <index-meta> so both parse as adjacent XML lines
|
|
755
|
+
* 6. body (the wrapped `<knowledge>` block OR "no results")
|
|
527
756
|
*
|
|
528
757
|
* Pieces are joined by blank lines so each is its own logical block in
|
|
529
758
|
* the agent's view. Null pieces are omitted; the body is required.
|
|
530
759
|
*/
|
|
531
760
|
function composeResponseText(parts) {
|
|
532
761
|
const blocks = [];
|
|
762
|
+
if (parts.fallbackWarning)
|
|
763
|
+
blocks.push(parts.fallbackWarning);
|
|
533
764
|
if (parts.runtimeWarning)
|
|
534
765
|
blocks.push(parts.runtimeWarning);
|
|
535
766
|
if (parts.staleWarning)
|
|
536
767
|
blocks.push(parts.staleWarning);
|
|
537
768
|
blocks.push(parts.indexEnvelope);
|
|
769
|
+
blocks.push(parts.retrievalEnvelope);
|
|
538
770
|
blocks.push(parts.body);
|
|
539
771
|
return blocks.join('\n\n');
|
|
540
772
|
}
|
|
@@ -566,11 +798,23 @@ export function registerSearchKnowledge(server) {
|
|
|
566
798
|
return trimmed === '' ? undefined : trimmed;
|
|
567
799
|
}, z.string().optional())
|
|
568
800
|
.describe('Partition name, linked-index name, or file path prefix to scope results. Resolution order: (1) configured partition names (e.g., "core", "cli", "mcp") → primary index, prefix-filtered; (2) linked-index names from linkedIndexes config (e.g., "strategy") → routes only to that cross-repo index; (3) raw path prefixes (e.g., "src/components/") → primary, prefix-filtered. When omitted, search federates across primary + all linked indexes, merging by semantic score. Blank or whitespace-only values are normalized to "omitted" (federated default).'),
|
|
801
|
+
// mmnto-ai/totem#2463: per-call relevance floor override. Floors on the
|
|
802
|
+
// true vector-leg relevance (0..1), NOT the displayed RRF score. Below
|
|
803
|
+
// it, the tool reports status="no_useful_hits" and discloses the
|
|
804
|
+
// below-floor candidates instead of returning noise. Overrides the
|
|
805
|
+
// config `searchRelevanceFloor`; the retrieval-envelope always reports
|
|
806
|
+
// the effective floor.
|
|
807
|
+
min_relevance: z
|
|
808
|
+
.number()
|
|
809
|
+
.min(0)
|
|
810
|
+
.max(1)
|
|
811
|
+
.optional()
|
|
812
|
+
.describe('Minimum per-hit relevance (0..1, vector-leg similarity) to treat results as useful. Overrides the configured searchRelevanceFloor. Below it, status is "no_useful_hits" with the below-floor candidates disclosed.'),
|
|
569
813
|
},
|
|
570
814
|
annotations: {
|
|
571
815
|
readOnlyHint: true,
|
|
572
816
|
},
|
|
573
|
-
}, async ({ query, type_filter, max_results, boundary }) => {
|
|
817
|
+
}, async ({ query, type_filter, max_results, boundary, min_relevance }) => {
|
|
574
818
|
const start = Date.now();
|
|
575
819
|
// A.3.a: emit `mcp_call` activity event to the Trap Ledger. Fire-and-forget;
|
|
576
820
|
// the ledger write must not block or break the tool call (Tenet 4 + sensor
|
|
@@ -589,6 +833,7 @@ export function registerSearchKnowledge(server) {
|
|
|
589
833
|
try {
|
|
590
834
|
const { projectRoot, config } = await getContext();
|
|
591
835
|
setLogDir(path.join(projectRoot, config.totemDir));
|
|
836
|
+
// totem-context: best-effort log-dir init — the catch below records the failure via logSearch and must not block the tool call.
|
|
592
837
|
}
|
|
593
838
|
catch (err) {
|
|
594
839
|
// Non-fatal — logging just won't write to disk. Record the failure.
|
|
@@ -618,14 +863,15 @@ export function registerSearchKnowledge(server) {
|
|
|
618
863
|
const linkedStoresWarning = await runFirstLinkedStoresCheck();
|
|
619
864
|
let result;
|
|
620
865
|
try {
|
|
621
|
-
result = await performSearch(query, type_filter, max_results, boundary);
|
|
866
|
+
result = await performSearch(query, type_filter, max_results, boundary, min_relevance);
|
|
867
|
+
// totem-context: the catch below is not a silent swallow; a failed reconnect+retry is surfaced to the agent as an isError ToolResult.
|
|
622
868
|
}
|
|
623
869
|
catch (originalErr) {
|
|
624
870
|
// Any LanceDB error could indicate a stale handle (e.g. files deleted
|
|
625
871
|
// during a full sync rebuild). Reconnect and retry once before failing.
|
|
626
872
|
try {
|
|
627
873
|
await reconnectStore();
|
|
628
|
-
result = await performSearch(query, type_filter, max_results, boundary);
|
|
874
|
+
result = await performSearch(query, type_filter, max_results, boundary, min_relevance);
|
|
629
875
|
}
|
|
630
876
|
catch (retryErr) {
|
|
631
877
|
// Retry failed — report both errors for diagnostics
|
|
@@ -653,6 +899,14 @@ export function registerSearchKnowledge(server) {
|
|
|
653
899
|
const resultText = result.content[0]?.text ?? '';
|
|
654
900
|
const scoreMatches = [...resultText.matchAll(/\*\*Score:\*\* ([\d.]+)/g)];
|
|
655
901
|
const topScore = scoreMatches.length > 0 ? parseFloat(scoreMatches[0][1]) : null;
|
|
902
|
+
// mmnto-ai/totem#2463: record best relevance alongside topScore. Parsed
|
|
903
|
+
// from the retrieval-envelope's bestRelevance attribute (same derive-
|
|
904
|
+
// from-response-text pattern as topScore); "n/a" → null (no signal).
|
|
905
|
+
const relevanceMatch = resultText.match(/<retrieval-envelope[^>]*\bbestRelevance="([^"]+)"/);
|
|
906
|
+
const bestRelevanceRaw = relevanceMatch?.[1];
|
|
907
|
+
const topRelevance = bestRelevanceRaw !== undefined && bestRelevanceRaw !== 'n/a'
|
|
908
|
+
? parseFloat(bestRelevanceRaw)
|
|
909
|
+
: null;
|
|
656
910
|
// Log error responses (e.g., the broken-linked-boundary path at
|
|
657
911
|
// performSearch Case 3) as errors instead of zero-result successes,
|
|
658
912
|
// so routing failures are visible in search-log.jsonl. Without this
|
|
@@ -679,6 +933,7 @@ export function registerSearchKnowledge(server) {
|
|
|
679
933
|
resultCount: scoreMatches.length,
|
|
680
934
|
durationMs: Date.now() - start,
|
|
681
935
|
topScore,
|
|
936
|
+
topRelevance,
|
|
682
937
|
});
|
|
683
938
|
}
|
|
684
939
|
// Prepend health warning and linked-stores warning to the first search
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-knowledge.js","sourceRoot":"","sources":["../../src/tools/search-knowledge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search-knowledge.js","sourceRoot":"","sources":["../../src/tools/search-knowledge.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,13 @@ let mockHealthCheckThrows = false;
|
|
|
15
15
|
let mockSearchThrows = false;
|
|
16
16
|
let mockSearchThrowsOnce = false;
|
|
17
17
|
let mockReconnectCalled = false;
|
|
18
|
+
/**
|
|
19
|
+
* mmnto-ai/totem#2494 round 2: when true, the mocked primary `search` invokes
|
|
20
|
+
* `options.onFtsFallback` before returning — simulating LanceStore's keyword-
|
|
21
|
+
* only degradation engaging (including the zero-row case, where no fts-stamped
|
|
22
|
+
* result exists to infer engagement from).
|
|
23
|
+
*/
|
|
24
|
+
let mockSimulateFtsFallback = false;
|
|
18
25
|
/**
|
|
19
26
|
* mmnto/totem#1295 CR minor: number of upcoming `getContext()` calls
|
|
20
27
|
* that should throw before getContext starts returning normally.
|
|
@@ -32,6 +39,8 @@ let mockLinkedStoreInitErrors = new Map();
|
|
|
32
39
|
* verifies the call site fires with the correct activity_name.
|
|
33
40
|
*/
|
|
34
41
|
let mockLogMcpCall;
|
|
42
|
+
/** mmnto-ai/totem#2463: captured logSearch spy so tests can assert topRelevance. */
|
|
43
|
+
let mockLogSearch;
|
|
35
44
|
vi.mock('@modelcontextprotocol/sdk/server/mcp.js', () => ({
|
|
36
45
|
McpServer: class {
|
|
37
46
|
},
|
|
@@ -53,10 +62,11 @@ vi.mock('../context.js', () => ({
|
|
|
53
62
|
totemDir: '.totem',
|
|
54
63
|
lanceDir: '.totem/.lance',
|
|
55
64
|
contextWarningThreshold: 50_000,
|
|
65
|
+
searchRelevanceFloor: 0.4,
|
|
56
66
|
partitions: { core: ['packages/core/'] },
|
|
57
67
|
},
|
|
58
68
|
store: {
|
|
59
|
-
search: vi.fn(async () => {
|
|
69
|
+
search: vi.fn(async (options = {}) => {
|
|
60
70
|
if (mockSearchThrows) {
|
|
61
71
|
throw new Error('LanceDB search failed');
|
|
62
72
|
}
|
|
@@ -64,6 +74,9 @@ vi.mock('../context.js', () => ({
|
|
|
64
74
|
mockSearchThrowsOnce = false;
|
|
65
75
|
throw new Error('Stale handle error');
|
|
66
76
|
}
|
|
77
|
+
if (mockSimulateFtsFallback) {
|
|
78
|
+
options.onFtsFallback?.();
|
|
79
|
+
}
|
|
67
80
|
// Fill in absoluteFilePath from the fake projectRoot when the
|
|
68
81
|
// test didn't set one explicitly — mirrors real LanceStore.
|
|
69
82
|
return mockSearchResults.map((r) => ({
|
|
@@ -150,10 +163,12 @@ describe('search_knowledge', () => {
|
|
|
150
163
|
mockSearchThrows = false;
|
|
151
164
|
mockSearchThrowsOnce = false;
|
|
152
165
|
mockReconnectCalled = false;
|
|
166
|
+
mockSimulateFtsFallback = false;
|
|
153
167
|
mockGetContextFailuresRemaining = 0;
|
|
154
168
|
mockLinkedStores = new Map();
|
|
155
169
|
mockLinkedStoreInitErrors = new Map();
|
|
156
170
|
mockLogMcpCall = vi.fn(async () => { });
|
|
171
|
+
mockLogSearch = vi.fn();
|
|
157
172
|
// Reset modules to clear the firstHealthCheckDone flag
|
|
158
173
|
vi.resetModules();
|
|
159
174
|
// Re-apply all mocks after module reset
|
|
@@ -178,10 +193,11 @@ describe('search_knowledge', () => {
|
|
|
178
193
|
totemDir: '.totem',
|
|
179
194
|
lanceDir: '.totem/.lance',
|
|
180
195
|
contextWarningThreshold: 50_000,
|
|
196
|
+
searchRelevanceFloor: 0.4,
|
|
181
197
|
partitions: { core: ['packages/core/'] },
|
|
182
198
|
},
|
|
183
199
|
store: {
|
|
184
|
-
search: vi.fn(async () => {
|
|
200
|
+
search: vi.fn(async (options = {}) => {
|
|
185
201
|
if (mockSearchThrows) {
|
|
186
202
|
throw new Error('LanceDB search failed');
|
|
187
203
|
}
|
|
@@ -189,6 +205,9 @@ describe('search_knowledge', () => {
|
|
|
189
205
|
mockSearchThrowsOnce = false;
|
|
190
206
|
throw new Error('Stale handle error');
|
|
191
207
|
}
|
|
208
|
+
if (mockSimulateFtsFallback) {
|
|
209
|
+
options.onFtsFallback?.();
|
|
210
|
+
}
|
|
192
211
|
// Fill in absoluteFilePath from the fake projectRoot when
|
|
193
212
|
// the test didn't set one explicitly — mirrors LanceStore.
|
|
194
213
|
return mockSearchResults.map((r) => ({
|
|
@@ -231,7 +250,7 @@ describe('search_knowledge', () => {
|
|
|
231
250
|
formatIndexEnvelope: vi.fn((_state) => '<index-meta status="mocked" />'),
|
|
232
251
|
}));
|
|
233
252
|
vi.doMock('../search-log.js', () => ({
|
|
234
|
-
logSearch:
|
|
253
|
+
logSearch: mockLogSearch,
|
|
235
254
|
setLogDir: vi.fn(),
|
|
236
255
|
}));
|
|
237
256
|
vi.doMock('../ledger-writer.js', () => ({
|
|
@@ -1224,5 +1243,273 @@ describe('search_knowledge', () => {
|
|
|
1224
1243
|
expect(result.content[0].text).toContain('No results found');
|
|
1225
1244
|
});
|
|
1226
1245
|
});
|
|
1246
|
+
// --- Retrieval envelope + relevance floor (mmnto-ai/totem#2463) ---
|
|
1247
|
+
describe('retrieval envelope + relevance floor (mmnto-ai/totem#2463)', () => {
|
|
1248
|
+
// The whole outcome must parse from the response text with ONE regex
|
|
1249
|
+
// (the wrapper-agent contract).
|
|
1250
|
+
const ENVELOPE_RE = /<retrieval-envelope status="(\w+)" method="(\w+)" bestRelevance="([^"]+)" floor="([^"]+)" hits="(\d+)" \/>/;
|
|
1251
|
+
it('emits status="ok" with bestRelevance, floor, and per-hit Relevance', async () => {
|
|
1252
|
+
mockSearchResults = [
|
|
1253
|
+
{
|
|
1254
|
+
label: 'A',
|
|
1255
|
+
type: 'code',
|
|
1256
|
+
filePath: 'src/a.ts',
|
|
1257
|
+
score: 0.016,
|
|
1258
|
+
relevance: 0.83,
|
|
1259
|
+
searchMethod: 'hybrid',
|
|
1260
|
+
content: 'alpha body',
|
|
1261
|
+
},
|
|
1262
|
+
{
|
|
1263
|
+
label: 'B',
|
|
1264
|
+
type: 'code',
|
|
1265
|
+
filePath: 'src/b.ts',
|
|
1266
|
+
score: 0.016,
|
|
1267
|
+
relevance: 0.61,
|
|
1268
|
+
searchMethod: 'hybrid',
|
|
1269
|
+
content: 'beta body',
|
|
1270
|
+
},
|
|
1271
|
+
];
|
|
1272
|
+
const result = (await handle({ query: 'test' }));
|
|
1273
|
+
const text = result.content[0].text;
|
|
1274
|
+
const m = text.match(ENVELOPE_RE);
|
|
1275
|
+
expect(m).not.toBeNull();
|
|
1276
|
+
expect(m[1]).toBe('ok');
|
|
1277
|
+
expect(m[2]).toBe('hybrid');
|
|
1278
|
+
expect(m[3]).toBe('0.830'); // max over hit relevances
|
|
1279
|
+
expect(m[4]).toBe('0.400'); // configured floor (mock config)
|
|
1280
|
+
expect(m[5]).toBe('2');
|
|
1281
|
+
// Both Score (RRF, ordering) and Relevance (true signal) are rendered.
|
|
1282
|
+
expect(text).toContain('**Relevance:** 0.830');
|
|
1283
|
+
expect(text).toContain('**Relevance:** 0.610');
|
|
1284
|
+
// status=ok returns full content.
|
|
1285
|
+
expect(text).toContain('alpha body');
|
|
1286
|
+
});
|
|
1287
|
+
it('emits the retrieval-envelope directly below the <index-meta> line', async () => {
|
|
1288
|
+
mockSearchResults = [
|
|
1289
|
+
{
|
|
1290
|
+
label: 'A',
|
|
1291
|
+
type: 'code',
|
|
1292
|
+
filePath: 'src/a.ts',
|
|
1293
|
+
score: 0.016,
|
|
1294
|
+
relevance: 0.9,
|
|
1295
|
+
searchMethod: 'hybrid',
|
|
1296
|
+
content: 'body',
|
|
1297
|
+
},
|
|
1298
|
+
];
|
|
1299
|
+
const result = (await handle({ query: 'test' }));
|
|
1300
|
+
const text = result.content[0].text;
|
|
1301
|
+
const idxMeta = text.indexOf('<index-meta');
|
|
1302
|
+
const idxEnv = text.indexOf('<retrieval-envelope');
|
|
1303
|
+
expect(idxMeta).toBeGreaterThanOrEqual(0);
|
|
1304
|
+
expect(idxEnv).toBeGreaterThan(idxMeta);
|
|
1305
|
+
// Only whitespace separates the two envelope lines.
|
|
1306
|
+
const between = text.slice(text.indexOf('/>', idxMeta) + 2, idxEnv);
|
|
1307
|
+
expect(between.trim()).toBe('');
|
|
1308
|
+
});
|
|
1309
|
+
it('reports no_useful_hits and discloses below-floor candidates (path + relevance, NO content)', async () => {
|
|
1310
|
+
mockSearchResults = [
|
|
1311
|
+
{
|
|
1312
|
+
label: 'Weak A',
|
|
1313
|
+
type: 'code',
|
|
1314
|
+
filePath: 'src/a.ts',
|
|
1315
|
+
score: 0.016,
|
|
1316
|
+
relevance: 0.2,
|
|
1317
|
+
searchMethod: 'hybrid',
|
|
1318
|
+
content: 'SECRET_BODY_A',
|
|
1319
|
+
},
|
|
1320
|
+
{
|
|
1321
|
+
label: 'Weak B',
|
|
1322
|
+
type: 'code',
|
|
1323
|
+
filePath: 'src/b.ts',
|
|
1324
|
+
score: 0.016,
|
|
1325
|
+
relevance: 0.15,
|
|
1326
|
+
searchMethod: 'hybrid',
|
|
1327
|
+
content: 'SECRET_BODY_B',
|
|
1328
|
+
},
|
|
1329
|
+
];
|
|
1330
|
+
const result = (await handle({ query: 'test' }));
|
|
1331
|
+
const text = result.content[0].text;
|
|
1332
|
+
const m = text.match(ENVELOPE_RE);
|
|
1333
|
+
expect(m[1]).toBe('no_useful_hits');
|
|
1334
|
+
expect(m[3]).toBe('0.200'); // best of the below-floor set
|
|
1335
|
+
expect(m[5]).toBe('0'); // hits counts RETURNED hits — candidates are disclosed, not returned
|
|
1336
|
+
// Candidates disclosed by path + relevance — never silently dropped.
|
|
1337
|
+
expect(text).toContain('/fake/project/src/a.ts');
|
|
1338
|
+
expect(text).toContain('relevance 0.200');
|
|
1339
|
+
expect(text).toContain('relevance 0.150');
|
|
1340
|
+
// ...but their content is withheld.
|
|
1341
|
+
expect(text).not.toContain('SECRET_BODY_A');
|
|
1342
|
+
expect(text).not.toContain('SECRET_BODY_B');
|
|
1343
|
+
});
|
|
1344
|
+
it('returns floor-exempt keyword hits from a mixed batch and discloses only the withheld signal-bearing ones', async () => {
|
|
1345
|
+
// greptile P1 (mmnto-ai/totem#2494 round 2): a keyword-only hit has no
|
|
1346
|
+
// comparable relevance signal — it must never be withheld because a
|
|
1347
|
+
// vector-leg sibling scored below the floor.
|
|
1348
|
+
mockSearchResults = [
|
|
1349
|
+
{
|
|
1350
|
+
label: 'Keyword hit',
|
|
1351
|
+
type: 'code',
|
|
1352
|
+
filePath: 'src/k.ts',
|
|
1353
|
+
score: 0.016,
|
|
1354
|
+
searchMethod: 'fts',
|
|
1355
|
+
content: 'KEYWORD_BODY',
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
label: 'Weak vector hit',
|
|
1359
|
+
type: 'code',
|
|
1360
|
+
filePath: 'src/w.ts',
|
|
1361
|
+
score: 0.016,
|
|
1362
|
+
relevance: 0.2,
|
|
1363
|
+
searchMethod: 'hybrid',
|
|
1364
|
+
content: 'WEAK_VECTOR_BODY',
|
|
1365
|
+
},
|
|
1366
|
+
];
|
|
1367
|
+
const result = (await handle({ query: 'test' }));
|
|
1368
|
+
const text = result.content[0].text;
|
|
1369
|
+
const m = text.match(ENVELOPE_RE);
|
|
1370
|
+
expect(m[1]).toBe('ok'); // exempt hits ARE returned
|
|
1371
|
+
expect(m[3]).toBe('0.200'); // bestRelevance still reports the below-floor max
|
|
1372
|
+
expect(m[5]).toBe('1'); // hits counts RETURNED hits (the exempt subset)
|
|
1373
|
+
// The keyword hit's content is returned...
|
|
1374
|
+
expect(text).toContain('KEYWORD_BODY');
|
|
1375
|
+
// ...the below-floor vector hit is disclosed (path + relevance), content withheld.
|
|
1376
|
+
expect(text).toContain('/fake/project/src/w.ts');
|
|
1377
|
+
expect(text).toContain('relevance 0.200');
|
|
1378
|
+
expect(text).not.toContain('WEAK_VECTOR_BODY');
|
|
1379
|
+
});
|
|
1380
|
+
it('reports method="fts" + the keyword-only warning when the fallback returns zero rows', async () => {
|
|
1381
|
+
// greptile P1 (mmnto-ai/totem#2494 round 2): a zero-row fallback leaves
|
|
1382
|
+
// no fts-stamped hit — engagement must surface via the out-of-band
|
|
1383
|
+
// callback, or an embedder outage masquerades as a healthy empty search.
|
|
1384
|
+
mockSimulateFtsFallback = true;
|
|
1385
|
+
mockSearchResults = [];
|
|
1386
|
+
const result = (await handle({ query: 'test' }));
|
|
1387
|
+
const text = result.content[0].text;
|
|
1388
|
+
expect(result.isError).toBeUndefined();
|
|
1389
|
+
const m = text.match(ENVELOPE_RE);
|
|
1390
|
+
expect(m[1]).toBe('empty');
|
|
1391
|
+
expect(m[2]).toBe('fts'); // NOT "hybrid" — the outage is visible
|
|
1392
|
+
expect(text).toContain('KEYWORD-ONLY');
|
|
1393
|
+
expect(text).toContain('No results found');
|
|
1394
|
+
});
|
|
1395
|
+
it('never fires the floor when no hit carries a relevance signal (bestRelevance n/a)', async () => {
|
|
1396
|
+
// Low RRF score but NO relevance signal → must NOT become no_useful_hits.
|
|
1397
|
+
mockSearchResults = [
|
|
1398
|
+
{
|
|
1399
|
+
label: 'K',
|
|
1400
|
+
type: 'code',
|
|
1401
|
+
filePath: 'src/k.ts',
|
|
1402
|
+
score: 0.016,
|
|
1403
|
+
searchMethod: 'fts',
|
|
1404
|
+
content: 'keyword body',
|
|
1405
|
+
},
|
|
1406
|
+
];
|
|
1407
|
+
const result = (await handle({ query: 'test' }));
|
|
1408
|
+
const text = result.content[0].text;
|
|
1409
|
+
const m = text.match(ENVELOPE_RE);
|
|
1410
|
+
expect(m[1]).toBe('ok');
|
|
1411
|
+
expect(m[3]).toBe('n/a');
|
|
1412
|
+
expect(text).toContain('keyword body'); // content returned, not withheld
|
|
1413
|
+
});
|
|
1414
|
+
it('min_relevance overrides the configured floor in both directions', async () => {
|
|
1415
|
+
mockSearchResults = [
|
|
1416
|
+
{
|
|
1417
|
+
label: 'Mid',
|
|
1418
|
+
type: 'code',
|
|
1419
|
+
filePath: 'src/m.ts',
|
|
1420
|
+
score: 0.016,
|
|
1421
|
+
relevance: 0.3,
|
|
1422
|
+
searchMethod: 'hybrid',
|
|
1423
|
+
content: 'mid body',
|
|
1424
|
+
},
|
|
1425
|
+
];
|
|
1426
|
+
// Config floor 0.4 → 0.3 is below → no_useful_hits, floor reported 0.400.
|
|
1427
|
+
const strict = (await handle({ query: 'test' }));
|
|
1428
|
+
const ms = strict.content[0].text.match(ENVELOPE_RE);
|
|
1429
|
+
expect(ms[1]).toBe('no_useful_hits');
|
|
1430
|
+
expect(ms[4]).toBe('0.400');
|
|
1431
|
+
// Override to 0.1 → 0.3 clears the bar → ok, floor reported 0.100.
|
|
1432
|
+
const loose = (await handle({ query: 'test', min_relevance: 0.1 }));
|
|
1433
|
+
const ml = loose.content[0].text.match(ENVELOPE_RE);
|
|
1434
|
+
expect(ml[1]).toBe('ok');
|
|
1435
|
+
expect(ml[4]).toBe('0.100');
|
|
1436
|
+
expect(loose.content[0].text).toContain('mid body');
|
|
1437
|
+
});
|
|
1438
|
+
it('preserves relevance through the federation RRF merge (second fusion site)', async () => {
|
|
1439
|
+
mockSearchResults = [
|
|
1440
|
+
{
|
|
1441
|
+
label: 'P',
|
|
1442
|
+
type: 'code',
|
|
1443
|
+
filePath: 'src/p.ts',
|
|
1444
|
+
score: 0.95,
|
|
1445
|
+
relevance: 0.88,
|
|
1446
|
+
searchMethod: 'hybrid',
|
|
1447
|
+
content: 'primary body',
|
|
1448
|
+
},
|
|
1449
|
+
];
|
|
1450
|
+
mockLinkedStores.set('strategy', {
|
|
1451
|
+
search: vi.fn(async () => [
|
|
1452
|
+
{
|
|
1453
|
+
label: 'S',
|
|
1454
|
+
type: 'spec',
|
|
1455
|
+
filePath: 'adr/s.md',
|
|
1456
|
+
absoluteFilePath: '/abs/strategy/adr/s.md',
|
|
1457
|
+
sourceRepo: 'strategy',
|
|
1458
|
+
score: 0.5,
|
|
1459
|
+
relevance: 0.72,
|
|
1460
|
+
searchMethod: 'hybrid',
|
|
1461
|
+
content: 'strategy body',
|
|
1462
|
+
},
|
|
1463
|
+
]),
|
|
1464
|
+
reconnect: vi.fn(async () => { }),
|
|
1465
|
+
});
|
|
1466
|
+
const result = (await handle({ query: 'test' }));
|
|
1467
|
+
const text = result.content[0].text;
|
|
1468
|
+
// Federation overwrites score with RRF but must carry relevance through.
|
|
1469
|
+
expect(text).toContain('**Relevance:** 0.880');
|
|
1470
|
+
expect(text).toContain('**Relevance:** 0.720');
|
|
1471
|
+
const m = text.match(ENVELOPE_RE);
|
|
1472
|
+
expect(m[3]).toBe('0.880'); // max across federated hits
|
|
1473
|
+
});
|
|
1474
|
+
it('degraded embedder: fts-stamped hits surface a keyword-only warning and method="fts"', async () => {
|
|
1475
|
+
mockSearchResults = [
|
|
1476
|
+
{
|
|
1477
|
+
label: 'K1',
|
|
1478
|
+
type: 'code',
|
|
1479
|
+
filePath: 'src/k.ts',
|
|
1480
|
+
score: 1.0,
|
|
1481
|
+
searchMethod: 'fts',
|
|
1482
|
+
content: 'keyword hit body',
|
|
1483
|
+
},
|
|
1484
|
+
];
|
|
1485
|
+
const result = (await handle({ query: 'test' }));
|
|
1486
|
+
const text = result.content[0].text;
|
|
1487
|
+
expect(result.isError).toBeUndefined();
|
|
1488
|
+
const m = text.match(ENVELOPE_RE);
|
|
1489
|
+
expect(m[2]).toBe('fts');
|
|
1490
|
+
// Loud, honest degradation warning.
|
|
1491
|
+
expect(text).toContain('[SYSTEM WARNING]');
|
|
1492
|
+
expect(text).toContain('KEYWORD-ONLY');
|
|
1493
|
+
// Keyword hits render Relevance as an explicit n/a note.
|
|
1494
|
+
expect(text).toContain('**Relevance:** n/a (keyword match)');
|
|
1495
|
+
});
|
|
1496
|
+
it('logs topRelevance alongside topScore', async () => {
|
|
1497
|
+
mockSearchResults = [
|
|
1498
|
+
{
|
|
1499
|
+
label: 'A',
|
|
1500
|
+
type: 'code',
|
|
1501
|
+
filePath: 'src/a.ts',
|
|
1502
|
+
score: 0.016,
|
|
1503
|
+
relevance: 0.77,
|
|
1504
|
+
searchMethod: 'hybrid',
|
|
1505
|
+
content: 'body',
|
|
1506
|
+
},
|
|
1507
|
+
];
|
|
1508
|
+
await handle({ query: 'test' });
|
|
1509
|
+
const call = mockLogSearch.mock.calls.find((c) => c[0].query === 'test');
|
|
1510
|
+
expect(call).toBeTruthy();
|
|
1511
|
+
expect(call[0].topRelevance).toBeCloseTo(0.77, 3);
|
|
1512
|
+
});
|
|
1513
|
+
});
|
|
1227
1514
|
});
|
|
1228
1515
|
//# sourceMappingURL=search-knowledge.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-knowledge.test.js","sourceRoot":"","sources":["../../src/tools/search-knowledge.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search-knowledge.test.js","sourceRoot":"","sources":["../../src/tools/search-knowledge.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmnto/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.105.0",
|
|
4
4
|
"description": "MCP server for Totem, the local-first toolkit that keeps AI-agent work queryable, enforceable, and derivable as plain files in your codebase",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"dotenv": "^16.4.0",
|
|
23
23
|
"jiti": "^2.4.0",
|
|
24
24
|
"zod": "^3.24.0",
|
|
25
|
-
"@mmnto/totem": "1.
|
|
25
|
+
"@mmnto/totem": "1.105.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.0.0",
|