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.
@@ -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":"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"}
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 sanitized = sanitizeFts5Query(query);
1220
- if (!sanitized)
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 = [sanitized];
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 rows = db.prepare(sql).all(...params);
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,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.3.1006",
3
+ "version": "1.3.1007",
4
4
  "description": "Coherence infrastructure for self-evolving AI agents — on the Claude Code or Codex subscription you already have.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-07-27T17:08:28.815Z",
5
- "instarVersion": "1.3.1006",
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": "9c384e1db6fed559f6425a32d1f20490d98b40660b8f7be62d7cf515cb576df4",
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.