@traqr/memory 0.2.28 → 0.2.30

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.
@@ -158,6 +158,56 @@ const fakeProvider = {
158
158
  assert('exactly the two in-tier rows survive', results.length === 2);
159
159
  }
160
160
  // ===========================================================================
161
+ // 1b. INTEGRATION — TD-906 Slice B exact-ID recall augmentation respects the
162
+ // ceiling on its NEW path (rescue a deeper-pool match, never an over-tier one).
163
+ // ===========================================================================
164
+ //
165
+ // The augmentation rescues semantic candidates that name the query's exact-ID
166
+ // token but ranked BELOW topN. It pulls from semanticFullResults (the raw
167
+ // over-fetch pool) and re-applies applyClassificationCeiling — so an over-tier
168
+ // row that matches the token must NEVER be surfaced, even though it sits in the
169
+ // pool. This is the new-path analogue of the FIDELITY NOTE above.
170
+ console.log('\n--- searchMemoriesV2 exact-ID augmentation classification enforcement (TD-906 Slice B) ---');
171
+ function rowWith(id, classification, content) {
172
+ return { ...searchRow(id, classification), content };
173
+ }
174
+ {
175
+ // 5 in-tier head rows (no token) + 3 below-topN rows: an in-tier token match
176
+ // (must be rescued), a plain in-tier non-match (must stay cut), and an
177
+ // over-tier token match (must be dropped by the ceiling backstop).
178
+ const pool = [
179
+ ...Array.from({ length: 5 }, (_, i) => rowWith(`head-${i}`, 'internal', `head row ${i}, no identifier`)),
180
+ rowWith('rescue-int', 'internal', 'the TD-999 analysis lives here'),
181
+ rowWith('plain-below', 'internal', 'a below-topN row with no identifier'),
182
+ rowWith('leak-conf', 'confidential', 'confidential note that also cites TD-999'),
183
+ ];
184
+ const augProvider = {
185
+ async search() { return pool; },
186
+ async getById(id) { return byId[id] ?? null; },
187
+ async bumpReturned() { },
188
+ async citeMemory() { },
189
+ };
190
+ setVectorDB(augProvider);
191
+ let res = [];
192
+ let ctrl = [];
193
+ try {
194
+ // Exact-ID query → augmentation fires.
195
+ res = await searchMemoriesV2('TD-999 recall probe', { accessLevel: 'exploration', limit: 5 });
196
+ // Control: conceptual query (no token) → augmentation is a no-op.
197
+ ctrl = await searchMemoriesV2('conceptual probe with no identifier', { accessLevel: 'exploration', limit: 5 });
198
+ }
199
+ finally {
200
+ resetVectorDB();
201
+ }
202
+ const ids = res.map((r) => r.id);
203
+ assert('augmentation rescues the in-tier below-topN token match', ids.includes('rescue-int'));
204
+ assert('augmentation NEVER surfaces the over-tier token match (ceiling backstop)', !ids.includes('leak-conf'));
205
+ assert('augmentation does not rescue a below-topN NON-match', !ids.includes('plain-below'));
206
+ assert('result still capped at topN', res.length === 5);
207
+ assert('zero over-tier rows in the augmented result', res.every((r) => r.classification !== 'confidential' && r.classification !== 'restricted'));
208
+ assert('control (no exact-ID token) leaves the below-topN match cut — augmentation is the cause', !ctrl.map((r) => r.id).includes('rescue-int'));
209
+ }
210
+ // ===========================================================================
161
211
  // 2. CONTRACT — PostgresVectorProvider.search() arg passing (commit-2).
162
212
  // ===========================================================================
163
213
  //
@@ -1 +1 @@
1
- {"version":3,"file":"classification-enforcement.integration.test.js","sourceRoot":"","sources":["../../src/lib/classification-enforcement.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classification-enforcement.integration.test.js","sourceRoot":"","sources":["../../src/lib/classification-enforcement.integration.test.ts"],"names":[],"mappings":"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"}
@@ -85,10 +85,73 @@ export declare function resolveClassificationCeiling(accessLevel?: MemoryAccessL
85
85
  * rows whenever 'internal' is in this list — `.in()` alone never matches NULL.
86
86
  */
87
87
  export declare function allowedClassificationsForCeiling(accessLevel?: MemoryAccessLevel, maxClassification?: MemoryClassification): MemoryClassification[] | undefined;
88
+ /**
89
+ * How deep to scan the semantic candidate pool for an exact-ID rescue. Only
90
+ * applied when the query carries an exact-ID/acronym token (otherwise the
91
+ * over-fetch is unchanged), so conceptual queries pay nothing.
92
+ */
93
+ export declare const EXACT_ID_RECALL_POOL = 100;
94
+ /**
95
+ * Extract high-precision exact-match tokens from a query: structured IDs
96
+ * (ticket keys like TD-865, JGC-294, MTQ-129) and upper-case acronyms/tickers
97
+ * (HNSW, RRF, AVGO). These are exactly the queries where semantic embeddings
98
+ * under-retrieve (TD-894 recall A/B) — a short ID/acronym carries little
99
+ * distributional signal, so the literal-matching memory ranks low or off the
100
+ * page. Lower-case prose yields NOTHING here, which is what keeps the
101
+ * augmentation a no-op on conceptual queries (no steering-memory eviction).
102
+ *
103
+ * A bare acronym that is merely the prefix of a captured ID (the `MTQ` in
104
+ * `MTQ-129`) is dropped — it would match every ticket in that team and is noise.
105
+ */
106
+ export declare function extractExactIdTokens(query: string): string[];
107
+ /**
108
+ * From a candidate pool (already classification-filtered semantic results), the
109
+ * entries whose content/summary/tags name ANY of `tokens` as a whole token,
110
+ * excluding ids already in `excludeIds`. Pool order is preserved (the rows were
111
+ * semantically ranked) so the caller appends them BELOW the curated head without
112
+ * re-ranking.
113
+ *
114
+ * Matched case-SENSITIVELY at WORD BOUNDARIES — IDs/acronyms are upper-case
115
+ * canonical, so a short token (`SE`, `MA`) never fires on lower-case prose or
116
+ * inside a larger token (`SE` ⊄ `SEC`, `TD-916` ⊄ `TD-9161`). Same guard shape
117
+ * as the coordination prior-work matcher (TD-917).
118
+ */
119
+ export declare function findExactIdMatches<T extends {
120
+ id: string;
121
+ content: string;
122
+ summary?: string;
123
+ tags?: string[];
124
+ }>(pool: readonly T[], tokens: readonly string[], excludeIds: ReadonlySet<string>): T[];
125
+ /**
126
+ * Append exact-ID recall `matches` BELOW the curated `head`, capped at `topN`.
127
+ * Augment-not-rerank (mem 03618ca7): the head keeps its order; only the weakest
128
+ * head rows are displaced when matches need the room — and only ever on a query
129
+ * that carried an exact-ID token, so conceptual recall is untouched.
130
+ */
131
+ export declare function appendExactIdMatches<T extends {
132
+ id: string;
133
+ }>(head: readonly T[], matches: readonly T[], topN: number): T[];
88
134
  /**
89
135
  * Detect which search strategies should be activated for a query.
90
- * Semantic + BM25 always run. Temporal activates on date patterns.
91
- * Graph activates when entity seed IDs are provided.
136
+ *
137
+ * TD-894 Path B (Sean-approved, Granola "Ultracode response 2" 2026-06-22:
138
+ * "Let's do infrastructure… let's do Path B. I trust your guidance… there's a
139
+ * ton of bloat in here"): the auto-detected default is now SEMANTIC-ONLY.
140
+ *
141
+ * Why: `bm25_search`/`temporal_search`/`graph_search` all carry `search_path=''`
142
+ * with unqualified table refs → every live call throws 42P01 (swallowed to []),
143
+ * so BM25/temporal/graph fusion has been a production no-op for months while
144
+ * still paying per-search dead RPC round-trips. The recall A/B on a *repaired*
145
+ * BM25 also showed equal-weight RRF evicting Sean's curated steering memories on
146
+ * conceptual queries (q08), so re-enabling as-is would regress recall. Per Path B
147
+ * we stop invoking the dead legs by default and reclaim the 21 MB of GIN indexes
148
+ * (migration 021); TD-587 (the never-ran hybrid) is superseded.
149
+ *
150
+ * The bm25/temporal/graph legs in searchMemoriesV2 remain reachable via an
151
+ * explicit `options.strategies` override (preserves the TD-810/885 classification
152
+ * regression test + any deliberate caller); they are simply no longer auto-on.
153
+ * `entityIds`/`temporalRange` are still returned so an override caller can drive
154
+ * graph/temporal, but they no longer flip a strategy on by themselves.
92
155
  */
93
156
  export declare function detectStrategies(query: string, entityIds?: string[]): DetectedStrategies;
94
157
  /**
@@ -108,8 +171,11 @@ export declare function findEntitiesInQuery(query: string, provider: VectorDBPro
108
171
  /**
109
172
  * Multi-strategy search with RRF fusion.
110
173
  *
111
- * Runs semantic + BM25 in parallel (always), plus temporal and graph
112
- * when detected. Fuses results via Reciprocal Rank Fusion.
174
+ * Default path is SEMANTIC-ONLY as of TD-894 Path B (see detectStrategies): the
175
+ * bm25/temporal/graph legs are dead in prod (42P01) and re-enabling as-is
176
+ * regresses curated-memory recall, so they no longer auto-activate. They remain
177
+ * reachable — and RRF-fused — via an explicit `options.strategies` override,
178
+ * which keeps the TD-810/885 classification post-filter exercised end-to-end.
113
179
  * Returns MemorySearchResult[] for backward compatibility.
114
180
  */
115
181
  export declare function searchMemoriesV2(query: string, options?: SearchV2Options): Promise<MemorySearchResult[]>;
@@ -115,6 +115,90 @@ export function allowedClassificationsForCeiling(accessLevel, maxClassification)
115
115
  return Object.keys(CLASSIFICATION_RANK).filter((cls) => CLASSIFICATION_RANK[cls] <= ceilingRank);
116
116
  }
117
117
  // ---------------------------------------------------------------------------
118
+ // Exact-ID / acronym recall augmentation (TD-906 Slice B)
119
+ // ---------------------------------------------------------------------------
120
+ /**
121
+ * How deep to scan the semantic candidate pool for an exact-ID rescue. Only
122
+ * applied when the query carries an exact-ID/acronym token (otherwise the
123
+ * over-fetch is unchanged), so conceptual queries pay nothing.
124
+ */
125
+ export const EXACT_ID_RECALL_POOL = 100;
126
+ /** All-caps function words a caps-typing user might use — never a ticker/acronym. */
127
+ const ACRONYM_STOPWORDS = new Set([
128
+ 'AND', 'THE', 'FOR', 'NOT', 'ALL', 'ANY', 'WITH', 'FROM', 'THIS', 'THAT',
129
+ 'WHAT', 'WHEN', 'WHERE', 'WHY', 'HOW', 'YOU', 'ARE', 'WAS', 'WERE', 'HAS',
130
+ 'HAD', 'CAN', 'WHO', 'WILL', 'OUR',
131
+ ]);
132
+ /** Escape a string for literal use inside a RegExp (tokens may carry `.`, e.g. BRK.B). */
133
+ function escapeRegExp(s) {
134
+ return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
135
+ }
136
+ /**
137
+ * Extract high-precision exact-match tokens from a query: structured IDs
138
+ * (ticket keys like TD-865, JGC-294, MTQ-129) and upper-case acronyms/tickers
139
+ * (HNSW, RRF, AVGO). These are exactly the queries where semantic embeddings
140
+ * under-retrieve (TD-894 recall A/B) — a short ID/acronym carries little
141
+ * distributional signal, so the literal-matching memory ranks low or off the
142
+ * page. Lower-case prose yields NOTHING here, which is what keeps the
143
+ * augmentation a no-op on conceptual queries (no steering-memory eviction).
144
+ *
145
+ * A bare acronym that is merely the prefix of a captured ID (the `MTQ` in
146
+ * `MTQ-129`) is dropped — it would match every ticket in that team and is noise.
147
+ */
148
+ export function extractExactIdTokens(query) {
149
+ const idTokens = [];
150
+ for (const m of query.matchAll(/\b[A-Z]{2,}-\d+\b/g))
151
+ idTokens.push(m[0]);
152
+ const idPrefixes = new Set(idTokens.map((t) => t.split('-')[0]));
153
+ const tokens = new Set(idTokens);
154
+ for (const m of query.matchAll(/\b[A-Z][A-Z0-9]{2,}\b/g)) {
155
+ const t = m[0];
156
+ if (idPrefixes.has(t) || ACRONYM_STOPWORDS.has(t))
157
+ continue;
158
+ tokens.add(t);
159
+ }
160
+ return [...tokens];
161
+ }
162
+ /**
163
+ * From a candidate pool (already classification-filtered semantic results), the
164
+ * entries whose content/summary/tags name ANY of `tokens` as a whole token,
165
+ * excluding ids already in `excludeIds`. Pool order is preserved (the rows were
166
+ * semantically ranked) so the caller appends them BELOW the curated head without
167
+ * re-ranking.
168
+ *
169
+ * Matched case-SENSITIVELY at WORD BOUNDARIES — IDs/acronyms are upper-case
170
+ * canonical, so a short token (`SE`, `MA`) never fires on lower-case prose or
171
+ * inside a larger token (`SE` ⊄ `SEC`, `TD-916` ⊄ `TD-9161`). Same guard shape
172
+ * as the coordination prior-work matcher (TD-917).
173
+ */
174
+ export function findExactIdMatches(pool, tokens, excludeIds) {
175
+ if (tokens.length === 0)
176
+ return [];
177
+ const re = new RegExp(`\\b(?:${tokens.map(escapeRegExp).join('|')})\\b`);
178
+ const out = [];
179
+ for (const row of pool) {
180
+ if (excludeIds.has(row.id))
181
+ continue;
182
+ const haystack = `${row.content}\n${row.summary ?? ''}\n${(row.tags ?? []).join(' ')}`;
183
+ if (re.test(haystack))
184
+ out.push(row);
185
+ }
186
+ return out;
187
+ }
188
+ /**
189
+ * Append exact-ID recall `matches` BELOW the curated `head`, capped at `topN`.
190
+ * Augment-not-rerank (mem 03618ca7): the head keeps its order; only the weakest
191
+ * head rows are displaced when matches need the room — and only ever on a query
192
+ * that carried an exact-ID token, so conceptual recall is untouched.
193
+ */
194
+ export function appendExactIdMatches(head, matches, topN) {
195
+ if (matches.length === 0)
196
+ return [...head];
197
+ const capped = matches.slice(0, topN);
198
+ const keepHead = Math.max(0, topN - capped.length);
199
+ return [...head.slice(0, keepHead), ...capped];
200
+ }
201
+ // ---------------------------------------------------------------------------
118
202
  // Strategy Detection (TD-159)
119
203
  // ---------------------------------------------------------------------------
120
204
  const DATE_PATTERNS = [
@@ -128,20 +212,32 @@ const DATE_PATTERNS = [
128
212
  ];
129
213
  /**
130
214
  * Detect which search strategies should be activated for a query.
131
- * Semantic + BM25 always run. Temporal activates on date patterns.
132
- * Graph activates when entity seed IDs are provided.
215
+ *
216
+ * TD-894 Path B (Sean-approved, Granola "Ultracode response 2" 2026-06-22:
217
+ * "Let's do infrastructure… let's do Path B. I trust your guidance… there's a
218
+ * ton of bloat in here"): the auto-detected default is now SEMANTIC-ONLY.
219
+ *
220
+ * Why: `bm25_search`/`temporal_search`/`graph_search` all carry `search_path=''`
221
+ * with unqualified table refs → every live call throws 42P01 (swallowed to []),
222
+ * so BM25/temporal/graph fusion has been a production no-op for months while
223
+ * still paying per-search dead RPC round-trips. The recall A/B on a *repaired*
224
+ * BM25 also showed equal-weight RRF evicting Sean's curated steering memories on
225
+ * conceptual queries (q08), so re-enabling as-is would regress recall. Per Path B
226
+ * we stop invoking the dead legs by default and reclaim the 21 MB of GIN indexes
227
+ * (migration 021); TD-587 (the never-ran hybrid) is superseded.
228
+ *
229
+ * The bm25/temporal/graph legs in searchMemoriesV2 remain reachable via an
230
+ * explicit `options.strategies` override (preserves the TD-810/885 classification
231
+ * regression test + any deliberate caller); they are simply no longer auto-on.
232
+ * `entityIds`/`temporalRange` are still returned so an override caller can drive
233
+ * graph/temporal, but they no longer flip a strategy on by themselves.
133
234
  */
134
235
  export function detectStrategies(query, entityIds) {
135
- const strategies = ['semantic', 'bm25'];
236
+ const strategies = ['semantic'];
237
+ // Date pattern still parsed so an explicit temporal-override caller gets a
238
+ // range, but it no longer auto-activates the (dead) temporal leg.
136
239
  const hasDatePattern = DATE_PATTERNS.some((p) => p.test(query));
137
- let temporalRange;
138
- if (hasDatePattern) {
139
- strategies.push('temporal');
140
- temporalRange = parseTemporalRange(query);
141
- }
142
- if (entityIds && entityIds.length > 0) {
143
- strategies.push('graph');
144
- }
240
+ const temporalRange = hasDatePattern ? parseTemporalRange(query) : undefined;
145
241
  return {
146
242
  strategies,
147
243
  temporalRange,
@@ -288,11 +384,34 @@ export async function findEntitiesInQuery(query, provider) {
288
384
  // ---------------------------------------------------------------------------
289
385
  // Search Orchestrator (TD-160)
290
386
  // ---------------------------------------------------------------------------
387
+ /**
388
+ * Surface a dead/failing OPTIONAL retrieval strategy ONCE per process.
389
+ *
390
+ * TD-894: the bm25/temporal/graph legs each `.catch(() => [])` on failure. When
391
+ * all three threw `42P01` (search_path='' + unqualified tables), fusion silently
392
+ * degraded to semantic-only and the no-op rotted undetected for MONTHS — the
393
+ * exact "silent proxy" failure the proxy-invariant warns about. A broken RPC
394
+ * errors on EVERY call, so warn-once-per-process keeps the signal loud without
395
+ * flooding logs on every search. (Semantic stays warn-always at its own call
396
+ * site — it's the critical leg; you want every transient failure, not just the
397
+ * first.)
398
+ */
399
+ const warnedDeadStrategies = new Set();
400
+ function noteStrategyFailure(strategy, err) {
401
+ if (!warnedDeadStrategies.has(strategy)) {
402
+ warnedDeadStrategies.add(strategy);
403
+ console.warn(`[retrieval] "${strategy}" strategy failed — degrading to remaining strategies (warn-once/process):`, err);
404
+ }
405
+ return { strategy, items: [] };
406
+ }
291
407
  /**
292
408
  * Multi-strategy search with RRF fusion.
293
409
  *
294
- * Runs semantic + BM25 in parallel (always), plus temporal and graph
295
- * when detected. Fuses results via Reciprocal Rank Fusion.
410
+ * Default path is SEMANTIC-ONLY as of TD-894 Path B (see detectStrategies): the
411
+ * bm25/temporal/graph legs are dead in prod (42P01) and re-enabling as-is
412
+ * regresses curated-memory recall, so they no longer auto-activate. They remain
413
+ * reachable — and RRF-fused — via an explicit `options.strategies` override,
414
+ * which keeps the TD-810/885 classification post-filter exercised end-to-end.
296
415
  * Returns MemorySearchResult[] for backward compatibility.
297
416
  */
298
417
  export async function searchMemoriesV2(query, options = {}) {
@@ -301,9 +420,19 @@ export async function searchMemoriesV2(query, options = {}) {
301
420
  const topN = options.limit || 10;
302
421
  const k = options.rrfK || 60;
303
422
  const overFetchLimit = topN * 2;
304
- // 0.5 Auto-resolve entities from query (if no explicit entityIds)
423
+ // TD-906 Slice B: when the query names an exact identifier (ticket ID like
424
+ // TD-865, acronym like HNSW), the literal-matching memory ranks low or off the
425
+ // page semantically. Scan deeper so the augmentation step (6.7) can rescue it.
426
+ // Empty for ordinary prose → the semantic fetch is unchanged.
427
+ const exactIdTokens = extractExactIdTokens(query);
428
+ const semanticOverFetch = exactIdTokens.length > 0 ? Math.max(overFetchLimit, EXACT_ID_RECALL_POOL) : overFetchLimit;
429
+ // 0.5 Auto-resolve entities from query — ONLY when a caller explicitly opts
430
+ // into the graph leg via options.strategies. TD-894 Path B made the default
431
+ // path semantic-only, so the per-search findEntitiesByNames round-trip (which
432
+ // exists solely to seed the dead `graph_search`) is pure overhead otherwise.
305
433
  let resolvedEntityIds = options.entityIds || [];
306
- if (resolvedEntityIds.length === 0) {
434
+ const wantsGraph = options.strategies?.includes('graph') ?? false;
435
+ if (wantsGraph && resolvedEntityIds.length === 0) {
307
436
  resolvedEntityIds = await findEntitiesInQuery(query, provider);
308
437
  }
309
438
  // 1. Detect strategies (with resolved entity IDs)
@@ -329,7 +458,7 @@ export async function searchMemoriesV2(query, options = {}) {
329
458
  strategyPromises.push(provider
330
459
  .search(query, {
331
460
  ...options,
332
- limit: overFetchLimit,
461
+ limit: semanticOverFetch,
333
462
  precomputedEmbedding: embeddingStr,
334
463
  })
335
464
  .then((results) => {
@@ -357,7 +486,7 @@ export async function searchMemoriesV2(query, options = {}) {
357
486
  items: results.map((r, i) => ({ id: r.id, rank: i + 1 })),
358
487
  };
359
488
  })
360
- .catch(() => ({ strategy: 'bm25', items: [] })));
489
+ .catch((err) => noteStrategyFailure('bm25', err)));
361
490
  }
362
491
  if (detected.strategies.includes('temporal') && detected.temporalRange) {
363
492
  strategyPromises.push(provider
@@ -369,7 +498,7 @@ export async function searchMemoriesV2(query, options = {}) {
369
498
  strategy: 'temporal',
370
499
  items: results.map((r, i) => ({ id: r.id, rank: i + 1 })),
371
500
  }))
372
- .catch(() => ({ strategy: 'temporal', items: [] })));
501
+ .catch((err) => noteStrategyFailure('temporal', err)));
373
502
  }
374
503
  if (detected.strategies.includes('graph') && detected.graphSeedIds?.length) {
375
504
  strategyPromises.push(provider
@@ -380,7 +509,7 @@ export async function searchMemoriesV2(query, options = {}) {
380
509
  strategy: 'graph',
381
510
  items: results.map((r, i) => ({ id: r.id, rank: i + 1 })),
382
511
  }))
383
- .catch(() => ({ strategy: 'graph', items: [] })));
512
+ .catch((err) => noteStrategyFailure('graph', err)));
384
513
  }
385
514
  // 4. Fuse via RRF
386
515
  const strategyResults = await Promise.all(strategyPromises);
@@ -459,18 +588,39 @@ export async function searchMemoriesV2(query, options = {}) {
459
588
  // (bm25/temporal/graph + getById hydration). Fail-safe: no ceiling → unchanged.
460
589
  const filtered = applyClassificationCeiling(hydratedResults, options.accessLevel, options.maxClassification);
461
590
  const finalResults = filtered.slice(0, topN);
591
+ // 6.7 TD-906 Slice B — exact-ID/acronym recall augmentation (augment-not-rerank).
592
+ // Semantic embeddings under-retrieve literal identifiers (ticket IDs like TD-865,
593
+ // acronyms like HNSW) — the one proven BM25 upside (TD-894 recall A/B). Reclaim
594
+ // ONLY that: rescue any deeper-pool semantic candidate that names the query's
595
+ // exact-ID token and APPEND it below the curated head. No exact-ID token → the
596
+ // block is skipped, so conceptual recall (and Sean's steering memories) stays
597
+ // byte-identical to pre-TD-906. The pool is already classification-filtered by the
598
+ // semantic RPC; applyClassificationCeiling re-runs as a defense-in-depth backstop
599
+ // so the augmentation can never widen the caller's tier.
600
+ let returnedResults = finalResults;
601
+ if (exactIdTokens.length > 0 && finalResults.length > 0) {
602
+ const headIds = new Set(finalResults.map((r) => r.id));
603
+ const matches = applyClassificationCeiling(findExactIdMatches(semanticFullResults, exactIdTokens, headIds), options.accessLevel, options.maxClassification);
604
+ if (matches.length > 0) {
605
+ // Keep the tail strictly below the head's weakest score so the array stays
606
+ // monotonic non-increasing (and clearly reads as augmentation, not a re-rank).
607
+ const tailCeil = Math.max(0, finalResults[finalResults.length - 1].relevanceScore);
608
+ const tail = matches.map((m, i) => ({ ...m, relevanceScore: tailCeil - (i + 1) * 1e-6 }));
609
+ returnedResults = appendExactIdMatches(finalResults, tail, topN);
610
+ }
611
+ }
462
612
  // 7. TD-817: feedback write path — bump times_returned on what was ACTUALLY
463
613
  // returned to the caller (not the 2x over-fetched strategy candidates).
464
614
  // Awaited but guarded: a counter failure must never fail the search, and
465
615
  // fire-and-forget is the TD-830 unwatched-write class.
466
- if (finalResults.length > 0) {
616
+ if (returnedResults.length > 0) {
467
617
  try {
468
- await provider.bumpReturned(finalResults.map((r) => r.id));
618
+ await provider.bumpReturned(returnedResults.map((r) => r.id));
469
619
  }
470
620
  catch (err) {
471
621
  console.warn('[retrieval] Failed to bump times_returned:', err);
472
622
  }
473
623
  }
474
- return finalResults;
624
+ return returnedResults;
475
625
  }
476
626
  //# sourceMappingURL=retrieval.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval.js","sourceRoot":"","sources":["../../src/lib/retrieval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieval.js","sourceRoot":"","sources":["../../src/lib/retrieval.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * Run: npx tsx packages/memory/src/lib/retrieval.test.ts
11
11
  */
12
- import { reciprocalRankFusion, detectStrategies, parseTemporalRange } from './retrieval.js';
12
+ import { reciprocalRankFusion, detectStrategies, parseTemporalRange, extractExactIdTokens, findExactIdMatches, appendExactIdMatches, } from './retrieval.js';
13
13
  let passed = 0;
14
14
  let failed = 0;
15
15
  function assert(label, condition) {
@@ -65,22 +65,28 @@ assert('empty strategies → []', reciprocalRankFusion([]).length === 0);
65
65
  // detectStrategies
66
66
  // ============================================================
67
67
  console.log('\n--- detectStrategies ---');
68
- assert('semantic + bm25 always on', (() => {
68
+ // TD-894 Path B (Sean-approved 2026-06-22): the auto-detected default is now
69
+ // SEMANTIC-ONLY. bm25/temporal/graph are dead in prod (42P01) and no longer
70
+ // auto-activate; they stay reachable only via an explicit options.strategies
71
+ // override (exercised by classification-enforcement.integration.test.ts).
72
+ assert('default is semantic-only (no auto bm25/temporal/graph)', (() => {
69
73
  const d = detectStrategies('what do we know about caching');
70
- return d.strategies.includes('semantic') && d.strategies.includes('bm25');
74
+ return (d.strategies.includes('semantic') &&
75
+ !d.strategies.includes('bm25') &&
76
+ !d.strategies.includes('temporal') &&
77
+ !d.strategies.includes('graph'));
71
78
  })());
72
- assert('no temporal/graph for a plain query', (() => {
73
- const d = detectStrategies('how does the daemon work');
74
- return !d.strategies.includes('temporal') && !d.strategies.includes('graph');
79
+ assert('date phrase no longer auto-activates the dead temporal leg', (() => {
80
+ const d = detectStrategies('what happened last week with the deploy');
81
+ return !d.strategies.includes('temporal');
75
82
  })());
76
- assert('date phrase activates temporal', (() => {
83
+ assert('date phrase still parses a temporalRange (for override callers)', (() => {
77
84
  const d = detectStrategies('what happened last week with the deploy');
78
- return d.strategies.includes('temporal') && d.temporalRange !== undefined;
85
+ return d.temporalRange !== undefined;
79
86
  })());
80
- assert('ISO date activates temporal', detectStrategies('the 2026-03-15 incident').strategies.includes('temporal'));
81
- assert('entityIds activate graph', (() => {
87
+ assert('entityIds no longer auto-activate the dead graph leg', (() => {
82
88
  const d = detectStrategies('AVGO thesis', ['ent-1']);
83
- return d.strategies.includes('graph') && d.graphSeedIds?.length === 1;
89
+ return !d.strategies.includes('graph') && d.graphSeedIds?.length === 1;
84
90
  })());
85
91
  // ============================================================
86
92
  // parseTemporalRange
@@ -114,6 +120,76 @@ assert('no date pattern → 30-day default', (() => {
114
120
  return days === 30;
115
121
  })());
116
122
  // ============================================================
123
+ // extractExactIdTokens (TD-906 Slice B)
124
+ // ============================================================
125
+ console.log('\n--- extractExactIdTokens ---');
126
+ assert('single ticket ID', extractExactIdTokens('TD-865').join() === 'TD-865');
127
+ assert('multiple IDs across prose', (() => {
128
+ const t = extractExactIdTokens('how does TD-865 relate to JGC-294 here');
129
+ return t.includes('TD-865') && t.includes('JGC-294');
130
+ })());
131
+ assert('acronym extracted (>=3 upper chars)', extractExactIdTokens('the HNSW index for search').includes('HNSW'));
132
+ assert('ID captured but its bare team-prefix dropped (MTQ ⊄ tokens)', (() => {
133
+ const t = extractExactIdTokens('MTQ-129 cron fix');
134
+ return t.includes('MTQ-129') && !t.includes('MTQ');
135
+ })());
136
+ assert('conceptual lower-case query → NO tokens (the no-op guard)', extractExactIdTokens('how does Sean think about concentration versus diversification').length === 0);
137
+ assert('all-caps function words are not acronyms', extractExactIdTokens('AND THE FOR WITH').length === 0);
138
+ assert('lower-case ticket id is not extracted (upper-case convention)', extractExactIdTokens('the td-865 fix').length === 0);
139
+ assert('two-letter acronym is below the >=3 bar (precision)', extractExactIdTokens('SE and MA today').length === 0);
140
+ // ============================================================
141
+ // findExactIdMatches (TD-906 Slice B)
142
+ // ============================================================
143
+ console.log('\n--- findExactIdMatches ---');
144
+ const pool = [
145
+ { id: 'p1', content: 'the TD-865 fix landed', summary: '', tags: [] },
146
+ { id: 'p2', content: 'unrelated note about caching', summary: '', tags: [] },
147
+ { id: 'p3', content: 'see ref TD-8655 elsewhere', summary: '', tags: [] }, // must NOT match TD-865
148
+ { id: 'p4', content: 'no id here', summary: 'mentions HNSW in summary', tags: [] },
149
+ { id: 'p5', content: 'plain', summary: '', tags: ['TD-865', 'misc'] },
150
+ ];
151
+ assert('matches a whole-token ID in content', (() => {
152
+ const m = findExactIdMatches(pool, ['TD-865'], new Set());
153
+ return m.length === 2 && m[0].id === 'p1' && m[1].id === 'p5';
154
+ })());
155
+ assert('does NOT match an ID inside a longer token (TD-865 ⊄ TD-8655)', (() => {
156
+ const m = findExactIdMatches(pool, ['TD-865'], new Set());
157
+ return !m.some((r) => r.id === 'p3');
158
+ })());
159
+ assert('matches an acronym in summary', findExactIdMatches(pool, ['HNSW'], new Set()).some((r) => r.id === 'p4'));
160
+ assert('excludeIds removes already-returned rows', (() => {
161
+ const m = findExactIdMatches(pool, ['TD-865'], new Set(['p1']));
162
+ return m.length === 1 && m[0].id === 'p5';
163
+ })());
164
+ assert('preserves pool order', (() => {
165
+ const m = findExactIdMatches(pool, ['TD-865', 'HNSW'], new Set());
166
+ return m.map((r) => r.id).join() === 'p1,p4,p5';
167
+ })());
168
+ assert('no tokens → no matches', findExactIdMatches(pool, [], new Set()).length === 0);
169
+ // ============================================================
170
+ // appendExactIdMatches (TD-906 Slice B) — augment-not-rerank
171
+ // ============================================================
172
+ console.log('\n--- appendExactIdMatches ---');
173
+ const head10 = Array.from({ length: 10 }, (_, i) => ({ id: `h${i}` }));
174
+ const head3 = Array.from({ length: 3 }, (_, i) => ({ id: `h${i}` }));
175
+ assert('empty matches → head unchanged (copy)', (() => {
176
+ const r = appendExactIdMatches(head3, [], 10);
177
+ return r.length === 3 && r.map((x) => x.id).join() === 'h0,h1,h2';
178
+ })());
179
+ assert('room to spare → appends below without displacing head', (() => {
180
+ const r = appendExactIdMatches(head3, [{ id: 'm0' }, { id: 'm1' }], 10);
181
+ return r.map((x) => x.id).join() === 'h0,h1,h2,m0,m1';
182
+ })());
183
+ assert('full head → displaces only the weakest head rows for the tail', (() => {
184
+ const r = appendExactIdMatches(head10, [{ id: 'm0' }, { id: 'm1' }], 10);
185
+ return r.length === 10 && r.map((x) => x.id).join() === 'h0,h1,h2,h3,h4,h5,h6,h7,m0,m1';
186
+ })());
187
+ assert('tail never overflows topN (matches capped)', (() => {
188
+ const many = Array.from({ length: 20 }, (_, i) => ({ id: `m${i}` }));
189
+ const r = appendExactIdMatches(head3, many, 5);
190
+ return r.length === 5 && r[r.length - 1].id === 'm4' && !r.some((x) => x.id.startsWith('h'));
191
+ })());
192
+ // ============================================================
117
193
  // Summary
118
194
  // ============================================================
119
195
  console.log(`\n${'='.repeat(50)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval.test.js","sourceRoot":"","sources":["../../src/lib/retrieval.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieval.test.js","sourceRoot":"","sources":["../../src/lib/retrieval.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@traqr/memory",
3
- "version": "0.2.28",
3
+ "version": "0.2.30",
4
4
  "description": "Persistent memory for AI agents. Multi-strategy retrieval (semantic + BM25 + RRF), 3-zone cosine triage, type-aware lifecycle, entity canonicalization. Postgres + pgvector.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/setup.sql CHANGED
@@ -301,11 +301,13 @@ CREATE INDEX IF NOT EXISTS idx_traqr_memories_temporal
301
301
  ON traqr_memories(valid_at, invalid_at)
302
302
  WHERE is_archived = FALSE AND is_forgotten = FALSE;
303
303
 
304
- -- traqr_memories: v2 BM25 tsvector indexes (GIN for full-text search)
305
- CREATE INDEX IF NOT EXISTS idx_traqr_memories_search_en
306
- ON traqr_memories USING gin(search_vector_en);
307
- CREATE INDEX IF NOT EXISTS idx_traqr_memories_search_simple
308
- ON traqr_memories USING gin(search_vector_simple);
304
+ -- traqr_memories: v2 BM25 tsvector GIN indexes REMOVED in TD-894 Path B
305
+ -- (migration 021). bm25_search is dead in prod (search_path='' + unqualified
306
+ -- ref 42P01) and no longer auto-runs (retrieval.ts is semantic-only), so these
307
+ -- GIN indexes backed nothing live and cost ~15 MB RAM + per-write maintenance.
308
+ -- The search_vector_en/simple COLUMNS stay (cheap, still populated); only the
309
+ -- indexes are gone. Re-add only if BM25 fusion is repaired to a selective,
310
+ -- index-usable query shape (see migration 021 rollback).
309
311
 
310
312
  -- traqr_memory_history
311
313
  CREATE INDEX IF NOT EXISTS idx_traqr_memory_history_memory