instar 1.3.1006 → 1.3.1007
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/memory/SemanticMemory.d.ts +33 -0
- package/dist/memory/SemanticMemory.d.ts.map +1 -1
- package/dist/memory/SemanticMemory.js +93 -4
- package/dist/memory/SemanticMemory.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +3 -3
- package/upgrades/1.3.1007.md +74 -0
- package/upgrades/side-effects/semantic-recall-query.md +184 -0
|
@@ -55,6 +55,25 @@ export interface SemanticMemoryRemediatorResult {
|
|
|
55
55
|
export interface SemanticMemoryCapabilityLeafKeyVault {
|
|
56
56
|
deriveLeafKey(context: 'capability', scopeId: string): Buffer;
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Build the two FTS5 match expressions a recall query needs.
|
|
60
|
+
*
|
|
61
|
+
* `strict` drops stopwords and keeps FTS5's implicit AND, so a genuine
|
|
62
|
+
* multi-keyword query stays precise. `loose` ORs the same content words and is
|
|
63
|
+
* used ONLY as a fallback when strict returns nothing — five loosely-relevant
|
|
64
|
+
* memories beat the empty set that made stored lessons unreachable.
|
|
65
|
+
*
|
|
66
|
+
* Stopword removal never empties the query: if a message is ALL stopwords the
|
|
67
|
+
* original tokens are kept, so behaviour degrades to the previous semantics
|
|
68
|
+
* rather than silently matching everything.
|
|
69
|
+
*
|
|
70
|
+
* Exported for tests — the failure this fixes is invisible at the route level
|
|
71
|
+
* (a zero-result search looks identical to "nothing was ever stored").
|
|
72
|
+
*/
|
|
73
|
+
export declare function buildFtsQueryVariants(query: string): {
|
|
74
|
+
strict: string;
|
|
75
|
+
loose: string;
|
|
76
|
+
} | null;
|
|
58
77
|
export declare class SemanticMemory {
|
|
59
78
|
/**
|
|
60
79
|
* W-4 / §A57 — process-wide registry of active SemanticMemory instances.
|
|
@@ -153,6 +172,20 @@ export declare class SemanticMemory {
|
|
|
153
172
|
private embeddingProvider;
|
|
154
173
|
private vectorSearch;
|
|
155
174
|
private _vectorAvailable;
|
|
175
|
+
/**
|
|
176
|
+
* Which retrieval strategy actually served the most recent `search()` call.
|
|
177
|
+
*
|
|
178
|
+
* `fts-strict` is the precise implicit-AND query; `fts-loose-fallback` means the
|
|
179
|
+
* strict query found NOTHING and the weaker OR query was used instead. Exposed
|
|
180
|
+
* because "No Silent Degradation to Brittle Fallback" requires a drop to a weaker
|
|
181
|
+
* strategy to be an observable event rather than a detail — a retrieval path that
|
|
182
|
+
* silently serves from the cheap strategy reports healthy while being fake-healthy.
|
|
183
|
+
* That is not hypothetical here: recall ran on keyword-only search for its entire
|
|
184
|
+
* life while a fully-populated vector index went uncalled, and nothing said so.
|
|
185
|
+
*/
|
|
186
|
+
private _lastSearchStrategy;
|
|
187
|
+
/** Which strategy served the last `search()` — see `_lastSearchStrategy`. */
|
|
188
|
+
get lastSearchStrategy(): 'fts-strict' | 'fts-loose-fallback' | 'none';
|
|
156
189
|
private jsonlPath;
|
|
157
190
|
/** Set after corruption auto-recovery — caller should reimport from JSONL */
|
|
158
191
|
private _needsRebuild;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SemanticMemory.d.ts","sourceRoot":"","sources":["../../src/memory/SemanticMemory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,EACf,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAOzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAahE;;;;;;;;;GASG;AACH,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,oCAAoC;IACnD,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/D;
|
|
1
|
+
{"version":3,"file":"SemanticMemory.d.ts","sourceRoot":"","sources":["../../src/memory/SemanticMemory.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,55 @@ function sanitizeFts5Query(query) {
|
|
|
38
38
|
.replace(/\s+/g, ' ')
|
|
39
39
|
.trim();
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* English function words that carry no retrieval signal but are FATAL to an
|
|
43
|
+
* FTS5 implicit-AND query.
|
|
44
|
+
*
|
|
45
|
+
* FTS5 requires EVERY bare token to match. No stored entity contains the word
|
|
46
|
+
* "why", so any question beginning "why ..." matches nothing regardless of the
|
|
47
|
+
* content words beside it. Recall is fed the user's raw message — always a
|
|
48
|
+
* natural-language sentence — so in practice it returned empty almost always.
|
|
49
|
+
* Measured on a live 2,852-entity store: "can I reach Codey" → 0 results,
|
|
50
|
+
* "is Codey responding to my messages" → 0, "why is Codey not replying" → 0,
|
|
51
|
+
* while "reach Codey" → 7, "Codey messages" → 17, "Codey" → 20.
|
|
52
|
+
*/
|
|
53
|
+
const FTS_STOPWORDS = new Set([
|
|
54
|
+
'a', 'about', 'am', 'an', 'and', 'any', 'are', 'as', 'at', 'be', 'been', 'but',
|
|
55
|
+
'by', 'can', 'could', 'did', 'do', 'does', 'for', 'from', 'get', 'got', 'had',
|
|
56
|
+
'has', 'have', 'how', 'i', 'if', 'in', 'is', 'it', 'its', 'me', 'my', 'no',
|
|
57
|
+
'of', 'on', 'or', 'our', 'should', 'so', 'that', 'the', 'their', 'them',
|
|
58
|
+
'then', 'there', 'these', 'they', 'this', 'to', 'was', 'we', 'were', 'what',
|
|
59
|
+
'when', 'where', 'which', 'who', 'why', 'will', 'with', 'would', 'you', 'your',
|
|
60
|
+
]);
|
|
61
|
+
/**
|
|
62
|
+
* Build the two FTS5 match expressions a recall query needs.
|
|
63
|
+
*
|
|
64
|
+
* `strict` drops stopwords and keeps FTS5's implicit AND, so a genuine
|
|
65
|
+
* multi-keyword query stays precise. `loose` ORs the same content words and is
|
|
66
|
+
* used ONLY as a fallback when strict returns nothing — five loosely-relevant
|
|
67
|
+
* memories beat the empty set that made stored lessons unreachable.
|
|
68
|
+
*
|
|
69
|
+
* Stopword removal never empties the query: if a message is ALL stopwords the
|
|
70
|
+
* original tokens are kept, so behaviour degrades to the previous semantics
|
|
71
|
+
* rather than silently matching everything.
|
|
72
|
+
*
|
|
73
|
+
* Exported for tests — the failure this fixes is invisible at the route level
|
|
74
|
+
* (a zero-result search looks identical to "nothing was ever stored").
|
|
75
|
+
*/
|
|
76
|
+
export function buildFtsQueryVariants(query) {
|
|
77
|
+
const sanitized = sanitizeFts5Query(query);
|
|
78
|
+
if (!sanitized)
|
|
79
|
+
return null;
|
|
80
|
+
const tokens = sanitized.split(' ').filter((t) => t.length > 0);
|
|
81
|
+
if (tokens.length === 0)
|
|
82
|
+
return null;
|
|
83
|
+
const content = tokens.filter((t) => !FTS_STOPWORDS.has(t.toLowerCase()));
|
|
84
|
+
const effective = content.length > 0 ? content : tokens;
|
|
85
|
+
return {
|
|
86
|
+
strict: effective.join(' '),
|
|
87
|
+
loose: effective.length > 1 ? effective.join(' OR ') : effective.join(' '),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
41
90
|
export class SemanticMemory {
|
|
42
91
|
/**
|
|
43
92
|
* W-4 / §A57 — process-wide registry of active SemanticMemory instances.
|
|
@@ -349,6 +398,22 @@ export class SemanticMemory {
|
|
|
349
398
|
embeddingProvider = null;
|
|
350
399
|
vectorSearch = null;
|
|
351
400
|
_vectorAvailable = false;
|
|
401
|
+
/**
|
|
402
|
+
* Which retrieval strategy actually served the most recent `search()` call.
|
|
403
|
+
*
|
|
404
|
+
* `fts-strict` is the precise implicit-AND query; `fts-loose-fallback` means the
|
|
405
|
+
* strict query found NOTHING and the weaker OR query was used instead. Exposed
|
|
406
|
+
* because "No Silent Degradation to Brittle Fallback" requires a drop to a weaker
|
|
407
|
+
* strategy to be an observable event rather than a detail — a retrieval path that
|
|
408
|
+
* silently serves from the cheap strategy reports healthy while being fake-healthy.
|
|
409
|
+
* That is not hypothetical here: recall ran on keyword-only search for its entire
|
|
410
|
+
* life while a fully-populated vector index went uncalled, and nothing said so.
|
|
411
|
+
*/
|
|
412
|
+
_lastSearchStrategy = 'none';
|
|
413
|
+
/** Which strategy served the last `search()` — see `_lastSearchStrategy`. */
|
|
414
|
+
get lastSearchStrategy() {
|
|
415
|
+
return this._lastSearchStrategy;
|
|
416
|
+
}
|
|
352
417
|
jsonlPath;
|
|
353
418
|
/** Set after corruption auto-recovery — caller should reimport from JSONL */
|
|
354
419
|
_needsRebuild = false;
|
|
@@ -1216,9 +1281,14 @@ export class SemanticMemory {
|
|
|
1216
1281
|
*/
|
|
1217
1282
|
search(query, options) {
|
|
1218
1283
|
const db = this.ensureOpen();
|
|
1219
|
-
const
|
|
1220
|
-
if (!
|
|
1284
|
+
const variants = buildFtsQueryVariants(query);
|
|
1285
|
+
if (!variants) {
|
|
1286
|
+
// Reset rather than leaving the previous call's strategy readable — a stale
|
|
1287
|
+
// "served by strict" on a query that never ran is exactly the kind of
|
|
1288
|
+
// falsely-healthy signal this field exists to prevent.
|
|
1289
|
+
this._lastSearchStrategy = 'none';
|
|
1221
1290
|
return [];
|
|
1291
|
+
}
|
|
1222
1292
|
const limit = options?.limit ?? 20;
|
|
1223
1293
|
// ─── FTS5 results ─────────────────────────────────────────
|
|
1224
1294
|
let sql = `
|
|
@@ -1227,7 +1297,7 @@ export class SemanticMemory {
|
|
|
1227
1297
|
JOIN entities e ON e.rowid = entities_fts.rowid
|
|
1228
1298
|
WHERE entities_fts MATCH ?
|
|
1229
1299
|
`;
|
|
1230
|
-
const params = [
|
|
1300
|
+
const params = [variants.strict];
|
|
1231
1301
|
if (options?.types && options.types.length > 0) {
|
|
1232
1302
|
const placeholders = options.types.map(() => '?').join(',');
|
|
1233
1303
|
sql += ` AND e.type IN (${placeholders})`;
|
|
@@ -1252,7 +1322,26 @@ export class SemanticMemory {
|
|
|
1252
1322
|
}
|
|
1253
1323
|
sql += ` ORDER BY entities_fts.rank LIMIT ?`;
|
|
1254
1324
|
params.push(limit * 3); // Fetch extra for re-ranking
|
|
1255
|
-
const
|
|
1325
|
+
const statement = db.prepare(sql);
|
|
1326
|
+
let rows = statement.all(...params);
|
|
1327
|
+
this._lastSearchStrategy = 'fts-strict';
|
|
1328
|
+
// Strict (implicit-AND over content words) is the precise query and stays
|
|
1329
|
+
// authoritative whenever it finds anything. Only when it finds NOTHING do we
|
|
1330
|
+
// widen to OR — an empty result is what made stored lessons unreachable, and
|
|
1331
|
+
// a loosely-relevant hit is strictly better than silence. Every other filter
|
|
1332
|
+
// (type, domain, confidence, privacy) is unchanged and still applies.
|
|
1333
|
+
//
|
|
1334
|
+
// The widening is RECORDED, not silent. Per the "No Silent Degradation to
|
|
1335
|
+
// Brittle Fallback" standard, falling back to a weaker strategy is an event:
|
|
1336
|
+
// a retrieval path that quietly serves from the cheap strategy looks healthy
|
|
1337
|
+
// while being fake-healthy, which is the exact defect this whole change exists
|
|
1338
|
+
// to fix. Reading `lastSearchStrategy` tells a caller what actually served.
|
|
1339
|
+
if (rows.length === 0 && variants.loose !== variants.strict) {
|
|
1340
|
+
const looseParams = [...params];
|
|
1341
|
+
looseParams[0] = variants.loose;
|
|
1342
|
+
rows = statement.all(...looseParams);
|
|
1343
|
+
this._lastSearchStrategy = 'fts-loose-fallback';
|
|
1344
|
+
}
|
|
1256
1345
|
// ─── Vector results (if available) ────────────────────────
|
|
1257
1346
|
// vectorScores is populated asynchronously via searchHybrid() for callers
|
|
1258
1347
|
// that need vector scoring. For synchronous search(), we use cached scores
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SemanticMemory.js","sourceRoot":"","sources":["../../src/memory/SemanticMemory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SemanticMemory.js","sourceRoot":"","sources":["../../src/memory/SemanticMemory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-07-27T17:
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-07-27T17:44:44.950Z",
|
|
5
|
+
"instarVersion": "1.3.1007",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -1610,7 +1610,7 @@
|
|
|
1610
1610
|
"type": "subsystem",
|
|
1611
1611
|
"domain": "memory",
|
|
1612
1612
|
"sourcePath": "src/memory/SemanticMemory.ts",
|
|
1613
|
-
"contentHash": "
|
|
1613
|
+
"contentHash": "c501a2a098d7c473cba4d3b6c8996626f87462f6ac7db02af169728fd50a38dc",
|
|
1614
1614
|
"since": "2025-01-01"
|
|
1615
1615
|
},
|
|
1616
1616
|
"subsystem:multi-machine-coordinator": {
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Fixed a silent failure that made the agent's memory recall return nothing for essentially
|
|
9
|
+
every question it was asked.
|
|
10
|
+
|
|
11
|
+
Before answering, the agent searches its own memory store and injects anything relevant as
|
|
12
|
+
context. That search required **every** word of the query to appear in a stored entry —
|
|
13
|
+
FTS5's implicit AND over bare tokens. Recall is fed the user's raw message, which is always
|
|
14
|
+
a sentence, so ordinary function words decided the outcome. No stored entity contains the
|
|
15
|
+
word "why", so any question beginning "why" matched nothing regardless of its content words.
|
|
16
|
+
|
|
17
|
+
`SemanticMemory.search()` now strips stopwords before building the match expression, and
|
|
18
|
+
falls back to an OR of the content words when the strict AND match returns zero rows. The
|
|
19
|
+
strict query runs first and stays authoritative whenever it finds anything, so keyword
|
|
20
|
+
searches are unchanged and the widening only ever replaces an empty result.
|
|
21
|
+
|
|
22
|
+
The failure was invisible by construction: an empty result set is indistinguishable from an
|
|
23
|
+
empty memory. No error, no warning, no slow query — the system reported healthy while
|
|
24
|
+
returning nothing indefinitely.
|
|
25
|
+
|
|
26
|
+
## What to Tell Your User
|
|
27
|
+
|
|
28
|
+
Your agent's memory has been storing things correctly all along, but the part that looks
|
|
29
|
+
things up was almost never finding them — so lessons it had genuinely learned would quietly
|
|
30
|
+
fail to come back, and it could re-discover the same thing weeks later as though it were new.
|
|
31
|
+
|
|
32
|
+
The cause was mundane: the lookup demanded that every word of the question appear in a
|
|
33
|
+
stored note, including words like "why", "is" and "the". Since no note contains the word
|
|
34
|
+
"why", any question starting with "why" found nothing at all. Questions are the only thing
|
|
35
|
+
this system is ever given, so it was returning empty almost every time.
|
|
36
|
+
|
|
37
|
+
Ordinary connecting words are now ignored when searching, and if the precise search finds
|
|
38
|
+
nothing the agent retries with a looser one. Precise matches still win whenever they exist,
|
|
39
|
+
so this makes recall find more without making it noisier — and a question about something
|
|
40
|
+
genuinely not in memory still correctly returns nothing.
|
|
41
|
+
|
|
42
|
+
You don't need to do anything. Recall simply starts working where it previously came back
|
|
43
|
+
empty.
|
|
44
|
+
|
|
45
|
+
## Summary of New Capabilities
|
|
46
|
+
|
|
47
|
+
- Memory recall now answers natural-language questions instead of returning empty for any
|
|
48
|
+
query containing ordinary function words.
|
|
49
|
+
- A looser fallback search runs only when the precise search finds nothing, so existing
|
|
50
|
+
keyword lookups keep their exact previous behaviour and precision.
|
|
51
|
+
- Queries about genuinely unknown topics still return no results — the fallback widens the
|
|
52
|
+
search without inventing relevance.
|
|
53
|
+
|
|
54
|
+
## Evidence
|
|
55
|
+
|
|
56
|
+
Tests were run against **unmodified source first**, to prove they exercise the bug:
|
|
57
|
+
|
|
58
|
+
| run | result |
|
|
59
|
+
|---|---|
|
|
60
|
+
| fix reverted | **9 failed / 4 passed** — the 4 are the regression guards |
|
|
61
|
+
| fix applied | **13 passed** |
|
|
62
|
+
| semantic-memory regression surface | **5 files, 126 passed** |
|
|
63
|
+
| `tsc --noEmit` | clean |
|
|
64
|
+
|
|
65
|
+
Verified against the live 2,852-entity store, not only fixtures:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
"can I reach Codey" 0 → 5 hits
|
|
69
|
+
"is Codey responding to my messages" 0 → 5 hits
|
|
70
|
+
"why can a telegram bot not see messages" 0 → 5 hits, top hit "Telegram bot visibility limit"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
That top hit is an entity stored on 2026-07-19 which never surfaced and was re-derived from
|
|
74
|
+
scratch on 2026-07-27 — the incident that prompted the fix.
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# Side-effects review — natural-language recall for SemanticMemory.search
|
|
2
|
+
|
|
3
|
+
**Change:** `search()` strips stopwords before building the FTS5 match expression, and
|
|
4
|
+
falls back to an OR of the content words when the strict implicit-AND match returns
|
|
5
|
+
nothing.
|
|
6
|
+
|
|
7
|
+
**Discovered:** live, 2026-07-27, while diagnosing why a lesson recorded on 2026-07-19
|
|
8
|
+
("Telegram bot visibility limit") was re-derived from scratch eight days later. Capture had
|
|
9
|
+
worked; the entity was stored, FTS-indexed, and retrievable by keyword. The recall hook was
|
|
10
|
+
enabled and installed. It returned nothing because of the shape of the query it was handed.
|
|
11
|
+
|
|
12
|
+
## The mechanism
|
|
13
|
+
|
|
14
|
+
FTS5 requires **every** bare token to match. Recall is fed the user's raw message, which is
|
|
15
|
+
always a sentence. Measured against the live 2,852-entity store:
|
|
16
|
+
|
|
17
|
+
| query | before |
|
|
18
|
+
|---|---|
|
|
19
|
+
| `can I reach Codey` | 0 |
|
|
20
|
+
| `is Codey responding to my messages` | 0 |
|
|
21
|
+
| `why is Codey not replying` | 0 |
|
|
22
|
+
| `reach Codey` | 7 |
|
|
23
|
+
| `Codey messages` | 17 |
|
|
24
|
+
|
|
25
|
+
No stored entity contains the word "why", so a question beginning "why" could never match
|
|
26
|
+
anything regardless of its content words. The system was enabled, wired, and structurally
|
|
27
|
+
incapable of answering the queries it received.
|
|
28
|
+
|
|
29
|
+
## 1. Over-block — what legitimate input does this now reject?
|
|
30
|
+
|
|
31
|
+
None. Stopword removal only ever *widens* the candidate set, and the OR fallback runs only
|
|
32
|
+
when the strict query returned zero rows. Every input that previously returned results
|
|
33
|
+
returns the same results by the same path — the strict query is attempted first and
|
|
34
|
+
unchanged for keyword queries.
|
|
35
|
+
|
|
36
|
+
The one guarded edge is an all-stopword query (`"what is it"`). Removing every token would
|
|
37
|
+
leave an empty match expression, which in FTS5 is a syntax error rather than a match-nothing.
|
|
38
|
+
`buildFtsQueryVariants` keeps the original tokens in that case, so behaviour degrades to
|
|
39
|
+
exactly the previous semantics rather than throwing or matching everything. Pinned by test.
|
|
40
|
+
|
|
41
|
+
## 2. Under-block — what does this still miss?
|
|
42
|
+
|
|
43
|
+
- **This fixes the fallback path, NOT the primary one — and the primary one is the real bug.**
|
|
44
|
+
A fully-populated vector index already exists: `GET /semantic/stats` reports
|
|
45
|
+
`vectorSearchAvailable: true, embeddingCount: 2852` against 2,852 entities, i.e. 100%
|
|
46
|
+
coverage. `searchHybrid()` performs real vector KNN. But `PromptBuildRecall.ts:138` calls
|
|
47
|
+
the synchronous `search()` — FTS5 keyword-only — because `recall()` is synchronous
|
|
48
|
+
(`PromptBuildRecall.ts:113`) and `searchHybrid` is async. So recall runs on keyword
|
|
49
|
+
matching while the embeddings sit unused, and a query worded differently from the stored
|
|
50
|
+
entity misses regardless of this change.
|
|
51
|
+
|
|
52
|
+
This change is therefore a **floor-raiser for the lexical path**, which still matters —
|
|
53
|
+
`searchHybrid()` degrades to `search()` whenever vectors are unavailable, and
|
|
54
|
+
`/semantic/search` uses it directly — but it is explicitly not the answer to
|
|
55
|
+
"why didn't recall find this". Keyword search should be supplementary, not primary.
|
|
56
|
+
<!-- tracked: ACT-1386 -->
|
|
57
|
+
|
|
58
|
+
*Correction of record:* an earlier draft of this artifact claimed `vec0` was unloadable and
|
|
59
|
+
recall was lexical-only by necessity. That was wrong. It came from probing `semantic.db`
|
|
60
|
+
with python's `sqlite3`, which does not load the extension; the Node process loads it
|
|
61
|
+
successfully. The false claim is recorded here rather than quietly deleted, because
|
|
62
|
+
"I verified with the wrong tool and concluded a capability was missing" is the same failure
|
|
63
|
+
class this whole change exists to address.
|
|
64
|
+
- **Stopword list is English-only and fixed.** A domain word that is genuinely a stopword
|
|
65
|
+
here (e.g. "session") is not covered, and shouldn't be — over-stripping would blunt
|
|
66
|
+
precision.
|
|
67
|
+
- **The OR fallback ranks by FTS rank only.** It can surface a weakly-relevant entity when a
|
|
68
|
+
strongly-relevant one does not exist. That is the intended trade: five loosely-relevant
|
|
69
|
+
memories beat the empty set that made every stored lesson unreachable. It cannot fabricate
|
|
70
|
+
a hit — a query about something genuinely not stored still returns empty (pinned by test).
|
|
71
|
+
|
|
72
|
+
## 2b. The fallback announces itself (self-caught during review)
|
|
73
|
+
|
|
74
|
+
The first revision of this change introduced a **silent** degradation — the OR widening
|
|
75
|
+
substituted a weaker strategy and reported nothing. That is the same defect class the change
|
|
76
|
+
exists to fix, added by the fix. Caught before merge and corrected.
|
|
77
|
+
|
|
78
|
+
`search()` now records `lastSearchStrategy`:
|
|
79
|
+
|
|
80
|
+
- `fts-strict` — the precise implicit-AND query served
|
|
81
|
+
- `fts-loose-fallback` — strict found nothing; the weaker OR query served instead
|
|
82
|
+
- `none` — no query ran (reset on the early-return path, so a stale "served by strict" can
|
|
83
|
+
never be read for a query that never executed)
|
|
84
|
+
|
|
85
|
+
Read-only. It gates nothing and does not change what `search()` returns. This is
|
|
86
|
+
*No Silent Degradation to Brittle Fallback* (`docs/STANDARDS-REGISTRY.md:125`) applied to a
|
|
87
|
+
retrieval path: "silent degradation to a weak check is worse than no check, because it looks
|
|
88
|
+
protected while being fake-protected." The standard's own scope is LLM calls that *gate* an
|
|
89
|
+
action, so it did not formally bind here — but its reasoning is exactly on point, and
|
|
90
|
+
honouring it cost three tests.
|
|
91
|
+
|
|
92
|
+
The concrete argument for it: recall ran on keyword-only search for its entire life while a
|
|
93
|
+
fully-populated vector index (2,852/2,852 embeddings) went uncalled, and nothing anywhere
|
|
94
|
+
reported that. A cheap path that announces itself is the difference between that being
|
|
95
|
+
discoverable and being invisible for months.
|
|
96
|
+
|
|
97
|
+
## 3. Level-of-abstraction fit
|
|
98
|
+
|
|
99
|
+
Correct layer. `search()` is the single funnel every recall caller uses — the
|
|
100
|
+
`before-prompt-recall` hook, `PromptBuildRecall`, and the `/semantic/search` route all reach
|
|
101
|
+
it. Fixing query construction here fixes every caller at once. Fixing it in the hook would
|
|
102
|
+
have left the route and any future caller broken, and would have put query-shaping knowledge
|
|
103
|
+
outside the module that owns the index.
|
|
104
|
+
|
|
105
|
+
## 4. Signal vs authority compliance
|
|
106
|
+
|
|
107
|
+
Recall is a **signal producer** — its output is injected as context, never as an
|
|
108
|
+
instruction, and it gates nothing. This change cannot block, delay, or redirect any action;
|
|
109
|
+
the worst case is that a slightly-less-relevant memory is surfaced as background context.
|
|
110
|
+
That is precisely the class of check where widening recall is safe: a false positive costs a
|
|
111
|
+
line of injected context, while the false negative it replaces cost a repeated incident.
|
|
112
|
+
|
|
113
|
+
No blocking authority is added or moved.
|
|
114
|
+
|
|
115
|
+
## 5. Interactions
|
|
116
|
+
|
|
117
|
+
- **Filter composition.** The fallback re-uses the identical prepared statement and
|
|
118
|
+
parameter list, substituting only the match expression. Type, domain, confidence, and
|
|
119
|
+
privacy filters therefore apply to both passes identically — verified by a test asserting
|
|
120
|
+
`minConfidence: 0.95` still returns empty through the fallback path.
|
|
121
|
+
- **Vector re-ranking.** `_lastVectorScores` merging is untouched and runs after row
|
|
122
|
+
selection, so a widened row set is re-ranked by the same logic.
|
|
123
|
+
- **Operator stripping preserved.** `sanitizeFts5Query` still runs first, so `AND`/`OR`/
|
|
124
|
+
`NOT`/`NEAR` and FTS5 syntax characters are removed from user input before tokenising. The
|
|
125
|
+
`OR` this change introduces is constructed by us from already-sanitised tokens, never
|
|
126
|
+
passed through from the caller. Pinned by test.
|
|
127
|
+
- **No double-execution cost in the common case.** The second query runs only on a zero-row
|
|
128
|
+
first pass.
|
|
129
|
+
|
|
130
|
+
## 6. External surfaces
|
|
131
|
+
|
|
132
|
+
No wire format, schema, migration, config, or route change. `/semantic/search` returns
|
|
133
|
+
results where it previously returned an empty array for the same input. Nothing that
|
|
134
|
+
previously returned data changes shape. One new exported function (`buildFtsQueryVariants`),
|
|
135
|
+
exported for testability because the failure is invisible at the route level — a zero-result
|
|
136
|
+
search looks identical to "nothing was ever stored", which is exactly why this survived
|
|
137
|
+
undetected.
|
|
138
|
+
|
|
139
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
140
|
+
|
|
141
|
+
**Machine-local by design, and correctly so — no new state is introduced.** This changes only
|
|
142
|
+
how a query string is built before hitting a local SQLite FTS index. Each machine already
|
|
143
|
+
owns its own `semantic.db`; whether that store *replicates* is a separate concern that this
|
|
144
|
+
change neither introduces nor alters. No notice, no generated URL, no durable state, nothing
|
|
145
|
+
that could strand on topic transfer.
|
|
146
|
+
|
|
147
|
+
## 8. Rollback cost
|
|
148
|
+
|
|
149
|
+
Near zero. Revert the commit; `search()` returns to passing the sanitised string straight
|
|
150
|
+
through. No persisted state, no migration, no agent-state repair. Any query that worked
|
|
151
|
+
before the change works identically after a revert.
|
|
152
|
+
|
|
153
|
+
## Evidence
|
|
154
|
+
|
|
155
|
+
Tests verified to fail against unmodified source before the fix was applied:
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
# fix reverted
|
|
159
|
+
Tests 9 failed | 4 passed (13)
|
|
160
|
+
— the 4 passing are the regression guards: bare keyword query, strict-match
|
|
161
|
+
preference, genuinely-absent query returns empty, confidence filter honoured.
|
|
162
|
+
They SHOULD pass on unfixed source; that is what makes them guards.
|
|
163
|
+
|
|
164
|
+
# fix applied
|
|
165
|
+
Tests 13 passed (13)
|
|
166
|
+
|
|
167
|
+
# regression surface
|
|
168
|
+
semantic-memory + privacy + evidence + invokeFromRemediator + corruption-recovery
|
|
169
|
+
— 5 files, 126 tests passed
|
|
170
|
+
tsc --noEmit — clean
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Verified against the **live 2,852-entity store**, not only fixtures:
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
"can I reach Codey" 0 → 5 hits
|
|
177
|
+
"is Codey responding to my messages" 0 → 5 hits
|
|
178
|
+
"why can a telegram bot not see messages" 0 → 5 hits,
|
|
179
|
+
top hit = "Telegram bot visibility limit"
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
That last line is the point of the change: the entity recovered as the top hit is the exact
|
|
183
|
+
lesson that was stored on 2026-07-19, never surfaced, and re-derived from scratch on
|
|
184
|
+
2026-07-27.
|