@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.
- package/dist/lib/classification-enforcement.integration.test.js +50 -0
- package/dist/lib/classification-enforcement.integration.test.js.map +1 -1
- package/dist/lib/retrieval.d.ts +70 -4
- package/dist/lib/retrieval.js +172 -22
- package/dist/lib/retrieval.js.map +1 -1
- package/dist/lib/retrieval.test.js +87 -11
- package/dist/lib/retrieval.test.js.map +1 -1
- package/package.json +1 -1
- package/setup.sql +7 -5
|
@@ -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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"}
|
package/dist/lib/retrieval.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
91
|
-
*
|
|
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
|
-
*
|
|
112
|
-
*
|
|
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[]>;
|
package/dist/lib/retrieval.js
CHANGED
|
@@ -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
|
-
*
|
|
132
|
-
*
|
|
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'
|
|
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
|
-
|
|
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
|
-
*
|
|
295
|
-
*
|
|
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
|
-
//
|
|
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
|
-
|
|
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:
|
|
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(() => (
|
|
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(() => (
|
|
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(() => (
|
|
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 (
|
|
616
|
+
if (returnedResults.length > 0) {
|
|
467
617
|
try {
|
|
468
|
-
await provider.bumpReturned(
|
|
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
|
|
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
|
-
|
|
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') &&
|
|
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
|
|
73
|
-
const d = detectStrategies('
|
|
74
|
-
return !d.strategies.includes('temporal')
|
|
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
|
|
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.
|
|
85
|
+
return d.temporalRange !== undefined;
|
|
79
86
|
})());
|
|
80
|
-
assert('
|
|
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.
|
|
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
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
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
|