@claude-flow/memory 3.0.0-alpha.23 → 3.0.0-alpha.25
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/auto-memory-bridge.d.ts.map +1 -1
- package/dist/auto-memory-bridge.js +43 -4
- package/dist/auto-memory-bridge.js.map +1 -1
- package/dist/auto-memory-bridge.test.js +11 -0
- package/dist/auto-memory-bridge.test.js.map +1 -1
- package/dist/auto-memory-index-3224.test.d.ts +2 -0
- package/dist/auto-memory-index-3224.test.d.ts.map +1 -0
- package/dist/auto-memory-index-3224.test.js +53 -0
- package/dist/auto-memory-index-3224.test.js.map +1 -0
- package/dist/consolidator-embedding-benchmark.test.d.ts +39 -0
- package/dist/consolidator-embedding-benchmark.test.d.ts.map +1 -0
- package/dist/consolidator-embedding-benchmark.test.js +366 -0
- package/dist/consolidator-embedding-benchmark.test.js.map +1 -0
- package/dist/consolidator.d.ts +36 -1
- package/dist/consolidator.d.ts.map +1 -1
- package/dist/consolidator.js +139 -42
- package/dist/consolidator.js.map +1 -1
- package/dist/consolidator.test.js +137 -0
- package/dist/consolidator.test.js.map +1 -1
- package/dist/controller-registry.d.ts +20 -0
- package/dist/controller-registry.d.ts.map +1 -1
- package/dist/controller-registry.js +85 -5
- package/dist/controller-registry.js.map +1 -1
- package/dist/controller-registry.test.js +113 -0
- package/dist/controller-registry.test.js.map +1 -1
- package/dist/hnsw-index.d.ts +11 -0
- package/dist/hnsw-index.d.ts.map +1 -1
- package/dist/hnsw-index.js +66 -5
- package/dist/hnsw-index.js.map +1 -1
- package/dist/hnsw-quantization.test.d.ts +17 -0
- package/dist/hnsw-quantization.test.d.ts.map +1 -0
- package/dist/hnsw-quantization.test.js +140 -0
- package/dist/hnsw-quantization.test.js.map +1 -0
- package/dist/hybrid-backend.d.ts +18 -2
- package/dist/hybrid-backend.d.ts.map +1 -1
- package/dist/hybrid-backend.js +67 -21
- package/dist/hybrid-backend.js.map +1 -1
- package/dist/hybrid-backend.test.js +133 -0
- package/dist/hybrid-backend.test.js.map +1 -1
- package/dist/learning-bridge.d.ts +29 -0
- package/dist/learning-bridge.d.ts.map +1 -1
- package/dist/learning-bridge.js +71 -6
- package/dist/learning-bridge.js.map +1 -1
- package/dist/learning-bridge.test.js +181 -1
- package/dist/learning-bridge.test.js.map +1 -1
- package/dist/mmr-benchmark.test.d.ts +2 -0
- package/dist/mmr-benchmark.test.d.ts.map +1 -0
- package/dist/mmr-benchmark.test.js +286 -0
- package/dist/mmr-benchmark.test.js.map +1 -0
- package/dist/mmr-rerank-perf.test.d.ts +2 -0
- package/dist/mmr-rerank-perf.test.d.ts.map +1 -0
- package/dist/mmr-rerank-perf.test.js +191 -0
- package/dist/mmr-rerank-perf.test.js.map +1 -0
- package/dist/smart-retrieval-scores.test.d.ts +2 -0
- package/dist/smart-retrieval-scores.test.d.ts.map +1 -0
- package/dist/smart-retrieval-scores.test.js +75 -0
- package/dist/smart-retrieval-scores.test.js.map +1 -0
- package/dist/smart-retrieval.d.ts +24 -1
- package/dist/smart-retrieval.d.ts.map +1 -1
- package/dist/smart-retrieval.js +75 -8
- package/dist/smart-retrieval.js.map +1 -1
- package/dist/smart-retrieval.test.js +177 -0
- package/dist/smart-retrieval.test.js.map +1 -1
- package/package.json +1 -1
package/dist/hybrid-backend.js
CHANGED
|
@@ -214,6 +214,18 @@ export class HybridBackend extends EventEmitter {
|
|
|
214
214
|
* Routes to AgentDB for HNSW-based vector search
|
|
215
215
|
*/
|
|
216
216
|
async querySemantic(query) {
|
|
217
|
+
const scored = await this.querySemanticScored(query);
|
|
218
|
+
return scored.map((r) => r.entry);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Semantic vector search, preserving each result's similarity score.
|
|
222
|
+
*
|
|
223
|
+
* `querySemantic()` above flattens to `MemoryEntry[]`, discarding score —
|
|
224
|
+
* fine for callers that only need entries, but `queryHybrid()`'s weighted
|
|
225
|
+
* fusion (`combineWeighted`) needs the score to survive, so it calls this
|
|
226
|
+
* variant directly instead.
|
|
227
|
+
*/
|
|
228
|
+
async querySemanticScored(query) {
|
|
217
229
|
this.stats.agentdbQueries++;
|
|
218
230
|
let embedding = query.embedding;
|
|
219
231
|
// Generate embedding if content provided
|
|
@@ -228,22 +240,22 @@ export class HybridBackend extends EventEmitter {
|
|
|
228
240
|
threshold: query.threshold || this.config.semanticThreshold,
|
|
229
241
|
filters: query.filters,
|
|
230
242
|
});
|
|
231
|
-
let
|
|
243
|
+
let scored = searchResults.map((r) => ({ entry: r.entry, score: r.score }));
|
|
232
244
|
// Apply tag/namespace/type filters that AgentDB may not enforce
|
|
233
245
|
if (query.filters) {
|
|
234
246
|
const f = query.filters;
|
|
235
247
|
if (f.tags && Array.isArray(f.tags)) {
|
|
236
248
|
const requiredTags = f.tags;
|
|
237
|
-
|
|
249
|
+
scored = scored.filter((r) => requiredTags.every((t) => r.entry.tags.includes(t)));
|
|
238
250
|
}
|
|
239
251
|
if (f.namespace && typeof f.namespace === 'string') {
|
|
240
|
-
|
|
252
|
+
scored = scored.filter((r) => r.entry.namespace === f.namespace);
|
|
241
253
|
}
|
|
242
254
|
if (f.type && typeof f.type === 'string' && f.type !== 'semantic') {
|
|
243
|
-
|
|
255
|
+
scored = scored.filter((r) => r.entry.type === f.type);
|
|
244
256
|
}
|
|
245
257
|
}
|
|
246
|
-
return
|
|
258
|
+
return scored.slice(0, query.k || 10);
|
|
247
259
|
}
|
|
248
260
|
/**
|
|
249
261
|
* Hybrid queries (combine both)
|
|
@@ -253,15 +265,19 @@ export class HybridBackend extends EventEmitter {
|
|
|
253
265
|
this.stats.hybridQueries++;
|
|
254
266
|
const strategy = query.combineStrategy || 'semantic-first';
|
|
255
267
|
const weights = query.weights || { semantic: 0.7, structured: 0.3 };
|
|
256
|
-
// Execute both queries in parallel
|
|
257
|
-
|
|
258
|
-
|
|
268
|
+
// Execute both queries in parallel. The scored semantic variant is
|
|
269
|
+
// needed for weighted fusion (combineWeighted); other strategies only
|
|
270
|
+
// need plain entries, derived from the same result rather than
|
|
271
|
+
// querying AgentDB twice.
|
|
272
|
+
const [semanticScored, structuredResults] = await Promise.all([
|
|
273
|
+
this.querySemanticScored(query.semantic),
|
|
259
274
|
query.structured ? this.queryStructured(query.structured) : Promise.resolve([]),
|
|
260
275
|
]);
|
|
276
|
+
const semanticResults = semanticScored.map((r) => r.entry);
|
|
261
277
|
// Combine results based on strategy
|
|
262
278
|
switch (strategy) {
|
|
263
279
|
case 'union':
|
|
264
|
-
return this.
|
|
280
|
+
return this.combineWeighted(semanticScored, structuredResults, weights);
|
|
265
281
|
case 'intersection':
|
|
266
282
|
return this.combineIntersection(semanticResults, structuredResults);
|
|
267
283
|
case 'semantic-first':
|
|
@@ -269,7 +285,7 @@ export class HybridBackend extends EventEmitter {
|
|
|
269
285
|
case 'structured-first':
|
|
270
286
|
return this.combineStructuredFirst(semanticResults, structuredResults);
|
|
271
287
|
default:
|
|
272
|
-
return this.
|
|
288
|
+
return this.combineWeighted(semanticScored, structuredResults, weights);
|
|
273
289
|
}
|
|
274
290
|
}
|
|
275
291
|
/**
|
|
@@ -466,18 +482,48 @@ export class HybridBackend extends EventEmitter {
|
|
|
466
482
|
return this.autoRoute(query);
|
|
467
483
|
}
|
|
468
484
|
/**
|
|
469
|
-
*
|
|
485
|
+
* Weighted union: fuses semantic + structured results via reciprocal-rank
|
|
486
|
+
* fusion (RRF), each arm scaled by its `weights` multiplier before
|
|
487
|
+
* summation — the same shape documented for Azure AI Search/Qdrant/
|
|
488
|
+
* Weaviate (a per-arm weight applied to that arm's RRF contribution,
|
|
489
|
+
* not a raw-score blend, since SQLite's structured results carry no
|
|
490
|
+
* similarity score comparable to AgentDB's). Dream Cycle 2026-08-28:
|
|
491
|
+
* `weights` used to be computed by the caller and discarded — this is
|
|
492
|
+
* the fusion that actually consumes it.
|
|
470
493
|
*/
|
|
471
|
-
|
|
472
|
-
const
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
494
|
+
combineWeighted(semanticScored, structuredResults, weights) {
|
|
495
|
+
const RRF_K = 60; // matches smart-retrieval.ts's applyRRF default
|
|
496
|
+
// Review (PR #3119): an unvalidated malformed weight (NaN, negative,
|
|
497
|
+
// Infinity) gives RRF undefined ranking semantics — NaN poisons every
|
|
498
|
+
// sum it touches (breaking the sort comparator below), a negative
|
|
499
|
+
// weight silently inverts that arm's intended preference, and
|
|
500
|
+
// Infinity swamps the other arm outright. Sanitize per-component: any
|
|
501
|
+
// non-finite or negative value falls back to that component's own
|
|
502
|
+
// documented default rather than failing the whole hybrid query (this
|
|
503
|
+
// mirrors `weights` itself already being optional with a default —
|
|
504
|
+
// a malformed field degrades the same way a missing one does).
|
|
505
|
+
const safeWeight = (value, fallback) => Number.isFinite(value) && value >= 0 ? value : fallback;
|
|
506
|
+
const safeWeights = {
|
|
507
|
+
semantic: safeWeight(weights.semantic, 0.7),
|
|
508
|
+
structured: safeWeight(weights.structured, 0.3),
|
|
509
|
+
};
|
|
510
|
+
const fused = new Map();
|
|
511
|
+
semanticScored.forEach(({ entry }, rank) => {
|
|
512
|
+
const contribution = safeWeights.semantic * (1 / (RRF_K + rank + 1));
|
|
513
|
+
const existing = fused.get(entry.id);
|
|
514
|
+
fused.set(entry.id, { entry, rrf: (existing?.rrf ?? 0) + contribution });
|
|
515
|
+
});
|
|
516
|
+
structuredResults.forEach((entry, rank) => {
|
|
517
|
+
const contribution = safeWeights.structured * (1 / (RRF_K + rank + 1));
|
|
518
|
+
const existing = fused.get(entry.id);
|
|
519
|
+
fused.set(entry.id, { entry, rrf: (existing?.rrf ?? 0) + contribution });
|
|
520
|
+
});
|
|
521
|
+
// Review (PR #3119): break rrf ties deterministically by entry.id
|
|
522
|
+
// rather than relying on Array.sort's stability + Map insertion order
|
|
523
|
+
// (semantic-arm-first) as an undocumented accident of iteration order.
|
|
524
|
+
return Array.from(fused.values())
|
|
525
|
+
.sort((a, b) => b.rrf - a.rrf || a.entry.id.localeCompare(b.entry.id))
|
|
526
|
+
.map((r) => r.entry);
|
|
481
527
|
}
|
|
482
528
|
/**
|
|
483
529
|
* Combine results using intersection (only common results)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-backend.js","sourceRoot":"","sources":["../src/hybrid-backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hybrid-backend.js","sourceRoot":"","sources":["../src/hybrid-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -191,6 +191,139 @@ describe('HybridBackend - ADR-009', () => {
|
|
|
191
191
|
// First results should be from semantic search
|
|
192
192
|
});
|
|
193
193
|
});
|
|
194
|
+
describe('Weighted Union Fusion (Dream Cycle 2026-08-28)', () => {
|
|
195
|
+
// Before this fix, `queryHybrid`'s 'union' strategy computed `weights`
|
|
196
|
+
// and then never consumed it (combineUnion was a plain dedup, no score
|
|
197
|
+
// math) — this suite proves `weights` now actually controls ordering.
|
|
198
|
+
const QUERY_CONTENT = 'authentication token verification';
|
|
199
|
+
// Populated in beforeEach — generateMemoryId() is `mem_<ms-timestamp>_
|
|
200
|
+
// <random>`, so these two ids' relative order is NOT fixed run-to-run
|
|
201
|
+
// (same millisecond is common; the random suffix then decides it). The
|
|
202
|
+
// tie-break test below computes its expectation from these actual ids
|
|
203
|
+
// rather than assuming id-order matches key-order.
|
|
204
|
+
let semFavId = '';
|
|
205
|
+
let structFavId = '';
|
|
206
|
+
beforeEach(async () => {
|
|
207
|
+
// Explicit, distinct `createdAt` values (rather than relying on wall-clock
|
|
208
|
+
// gaps between two `store()` calls, which can tie at millisecond
|
|
209
|
+
// resolution) so SQLiteBackend's `ORDER BY created_at DESC` deterministically
|
|
210
|
+
// ranks 'fusion-struct-fav' first in structured results.
|
|
211
|
+
// 'fusion-sem-fav' content closely matches QUERY_CONTENT → ranks BEFORE
|
|
212
|
+
// 'struct-fav' in semantic (AgentDB cosine) results. Opposite ranks in
|
|
213
|
+
// each arm is what makes the weight-sensitivity assertions below
|
|
214
|
+
// meaningful (same-order ranks in both arms couldn't distinguish a real
|
|
215
|
+
// weighted fusion from any dedup that happens to prefer one arm).
|
|
216
|
+
const semFav = createDefaultEntry({
|
|
217
|
+
key: 'fusion-sem-fav',
|
|
218
|
+
content: 'authentication token verification flow',
|
|
219
|
+
namespace: 'fusion-test',
|
|
220
|
+
});
|
|
221
|
+
semFav.createdAt = 1000;
|
|
222
|
+
await backend.store(semFav);
|
|
223
|
+
semFavId = semFav.id;
|
|
224
|
+
// Content deliberately shares nothing with QUERY_CONTENT → ranks
|
|
225
|
+
// AFTER 'fusion-sem-fav' in semantic results.
|
|
226
|
+
const structFav = createDefaultEntry({
|
|
227
|
+
key: 'fusion-struct-fav',
|
|
228
|
+
content: 'zzz totally unrelated filler xyz 12345',
|
|
229
|
+
namespace: 'fusion-test',
|
|
230
|
+
});
|
|
231
|
+
structFav.createdAt = 2000; // strictly newer → ranks FIRST under created_at DESC
|
|
232
|
+
await backend.store(structFav);
|
|
233
|
+
structFavId = structFav.id;
|
|
234
|
+
});
|
|
235
|
+
async function fusedTopKey(weights) {
|
|
236
|
+
const results = await backend.queryHybrid({
|
|
237
|
+
semantic: {
|
|
238
|
+
content: QUERY_CONTENT,
|
|
239
|
+
k: 5,
|
|
240
|
+
threshold: 0.01, // low: let both entries pass so both arms are populated
|
|
241
|
+
filters: { namespace: 'fusion-test' },
|
|
242
|
+
},
|
|
243
|
+
structured: {
|
|
244
|
+
namespace: 'fusion-test',
|
|
245
|
+
keyPrefix: 'fusion-',
|
|
246
|
+
limit: 5,
|
|
247
|
+
},
|
|
248
|
+
combineStrategy: 'union',
|
|
249
|
+
weights,
|
|
250
|
+
});
|
|
251
|
+
expect(results.length).toBe(2); // sanity: both entries present in the fused union
|
|
252
|
+
return results[0].key;
|
|
253
|
+
}
|
|
254
|
+
it('heavily semantic-weighted fusion ranks the semantically-closer entry first', async () => {
|
|
255
|
+
expect(await fusedTopKey({ semantic: 1, structured: 0.01 })).toBe('fusion-sem-fav');
|
|
256
|
+
});
|
|
257
|
+
it('heavily structured-weighted fusion ranks the more-recently-stored entry first', async () => {
|
|
258
|
+
expect(await fusedTopKey({ semantic: 0.01, structured: 1 })).toBe('fusion-struct-fav');
|
|
259
|
+
});
|
|
260
|
+
it('still returns the full deduped union when weights are omitted (regression guard)', async () => {
|
|
261
|
+
const results = await backend.queryHybrid({
|
|
262
|
+
semantic: {
|
|
263
|
+
content: QUERY_CONTENT,
|
|
264
|
+
k: 5,
|
|
265
|
+
threshold: 0.01,
|
|
266
|
+
filters: { namespace: 'fusion-test' },
|
|
267
|
+
},
|
|
268
|
+
structured: {
|
|
269
|
+
namespace: 'fusion-test',
|
|
270
|
+
keyPrefix: 'fusion-',
|
|
271
|
+
limit: 5,
|
|
272
|
+
},
|
|
273
|
+
combineStrategy: 'union',
|
|
274
|
+
});
|
|
275
|
+
const keys = results.map((r) => r.key).sort();
|
|
276
|
+
expect(keys).toEqual(['fusion-sem-fav', 'fusion-struct-fav']);
|
|
277
|
+
});
|
|
278
|
+
// Review (PR #3119): malformed weights previously had undefined ranking
|
|
279
|
+
// semantics (NaN poisons the sort comparator, negative/Infinity invert
|
|
280
|
+
// or swamp the intended ordering). Each malformed component now falls
|
|
281
|
+
// back to its own default (0.7 semantic / 0.3 structured) — same
|
|
282
|
+
// ranking as the semantic-heavy default, since 0.7 > 0.3.
|
|
283
|
+
it.each([
|
|
284
|
+
['NaN semantic weight', { semantic: NaN, structured: 0.3 }],
|
|
285
|
+
['negative semantic weight', { semantic: -5, structured: 0.3 }],
|
|
286
|
+
['Infinity structured weight', { semantic: 0.7, structured: Infinity }],
|
|
287
|
+
])('falls back to default weighting for a malformed weight (%s)', async (_label, weights) => {
|
|
288
|
+
expect(await fusedTopKey(weights)).toBe('fusion-sem-fav');
|
|
289
|
+
});
|
|
290
|
+
it('breaks exact rrf ties deterministically by entry id, not iteration order', async () => {
|
|
291
|
+
// weights of 0/0 make every entry's rrf contribution 0 — a genuine
|
|
292
|
+
// tie between both entries, not just a coincidentally-close score.
|
|
293
|
+
const results = await backend.queryHybrid({
|
|
294
|
+
semantic: {
|
|
295
|
+
content: QUERY_CONTENT,
|
|
296
|
+
k: 5,
|
|
297
|
+
threshold: 0.01,
|
|
298
|
+
filters: { namespace: 'fusion-test' },
|
|
299
|
+
},
|
|
300
|
+
structured: {
|
|
301
|
+
namespace: 'fusion-test',
|
|
302
|
+
keyPrefix: 'fusion-',
|
|
303
|
+
limit: 5,
|
|
304
|
+
},
|
|
305
|
+
combineStrategy: 'union',
|
|
306
|
+
weights: { semantic: 0, structured: 0 },
|
|
307
|
+
});
|
|
308
|
+
// Review: the tie-break is `entry.id.localeCompare`, not `entry.key`
|
|
309
|
+
// — generateMemoryId() is `mem_<ms-timestamp>_<random>`, so id-order
|
|
310
|
+
// has no fixed relationship to key-order (the two entries are often
|
|
311
|
+
// created in the same millisecond; the random suffix then decides
|
|
312
|
+
// it). Asserting a hardcoded key-alphabetical order here made this
|
|
313
|
+
// test flake on whichever id happened to sort backwards from its
|
|
314
|
+
// key. Compute the expectation from the actual ids captured in
|
|
315
|
+
// beforeEach instead, so the assertion matches what the code's
|
|
316
|
+
// documented contract (id order) actually guarantees.
|
|
317
|
+
const idToKey = {
|
|
318
|
+
[semFavId]: 'fusion-sem-fav',
|
|
319
|
+
[structFavId]: 'fusion-struct-fav',
|
|
320
|
+
};
|
|
321
|
+
const expectedKeys = [semFavId, structFavId]
|
|
322
|
+
.sort((a, b) => a.localeCompare(b))
|
|
323
|
+
.map((id) => idToKey[id]);
|
|
324
|
+
expect(results.map((r) => r.key)).toEqual(expectedKeys);
|
|
325
|
+
});
|
|
326
|
+
});
|
|
194
327
|
describe('CRUD Operations', () => {
|
|
195
328
|
let testEntry;
|
|
196
329
|
beforeEach(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-backend.test.js","sourceRoot":"","sources":["../src/hybrid-backend.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hybrid-backend.test.js","sourceRoot":"","sources":["../src/hybrid-backend.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,15 @@ export interface LearningBridgeConfig {
|
|
|
34
34
|
consolidationThreshold?: number;
|
|
35
35
|
/** Enable the bridge (default: true). When false all methods are no-ops */
|
|
36
36
|
enabled?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Namespace insights are stored under by the caller (default: 'learnings',
|
|
39
|
+
* matching AutoMemoryBridge.storeInsightInAgentDB). Entry IDs passed into
|
|
40
|
+
* this bridge (onInsightRecorded/onInsightAccessed/consolidate) are the
|
|
41
|
+
* human-readable `key` the caller stored the entry under, not the backend's
|
|
42
|
+
* internal `entry.id` — so lookups must go through getByKey(namespace, key)
|
|
43
|
+
* rather than get(id).
|
|
44
|
+
*/
|
|
45
|
+
insightNamespace?: string;
|
|
37
46
|
/**
|
|
38
47
|
* Optional factory for the neural learning system.
|
|
39
48
|
* When provided, this replaces the default dynamic import of @claude-flow/neural.
|
|
@@ -117,6 +126,8 @@ export declare class LearningBridge extends EventEmitter {
|
|
|
117
126
|
findSimilarPatterns(content: string, k?: number): Promise<PatternMatch[]>;
|
|
118
127
|
/** Return aggregated learning statistics */
|
|
119
128
|
getStats(): LearningStats;
|
|
129
|
+
/** Return the resolved SONA mode (explicit config > RUFLO_INTELLIGENCE_MODE > default) */
|
|
130
|
+
getSonaMode(): SONAMode;
|
|
120
131
|
/** Tear down the bridge. Subsequent method calls become no-ops. */
|
|
121
132
|
destroy(): void;
|
|
122
133
|
/**
|
|
@@ -126,6 +137,24 @@ export declare class LearningBridge extends EventEmitter {
|
|
|
126
137
|
*/
|
|
127
138
|
private initNeural;
|
|
128
139
|
private loadNeural;
|
|
140
|
+
/**
|
|
141
|
+
* Resolve the reward to report to the neural system when a trajectory
|
|
142
|
+
* completes. Uses the insight's current confidence (as tracked in
|
|
143
|
+
* backend metadata, which reflects access boosts and time decay) so the
|
|
144
|
+
* completion signal reflects how the insight actually turned out rather
|
|
145
|
+
* than an unconditional constant. Falls back to 1.0 — the prior hardcoded
|
|
146
|
+
* value — when the entry is missing or lacks a numeric confidence, so
|
|
147
|
+
* that case's behavior is unchanged.
|
|
148
|
+
*
|
|
149
|
+
* `entryId` here is the caller-assigned `key` an insight was stored
|
|
150
|
+
* under (e.g. AutoMemoryBridge.storeInsightInAgentDB), not the backend's
|
|
151
|
+
* internal `entry.id` — the two are generated independently
|
|
152
|
+
* (types.ts:createDefaultEntry always mints its own id). Looking this up
|
|
153
|
+
* with `backend.get(entryId)` would silently miss in production and
|
|
154
|
+
* always fall through to the 1.0 default, so this must go through
|
|
155
|
+
* getByKey(namespace, key) instead.
|
|
156
|
+
*/
|
|
157
|
+
private resolveConsolidationReward;
|
|
129
158
|
/**
|
|
130
159
|
* Create a deterministic hash-based embedding for content.
|
|
131
160
|
* This is a lightweight stand-in for a real embedding model,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"learning-bridge.d.ts","sourceRoot":"","sources":["../src/learning-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAe,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,yBAAyB,CAAC;AAI9E;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;AAE9C,2CAA2C;AAC3C,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"learning-bridge.d.ts","sourceRoot":"","sources":["../src/learning-bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/learning-bridge.js
CHANGED
|
@@ -9,6 +9,23 @@
|
|
|
9
9
|
* @module @claude-flow/memory/learning-bridge
|
|
10
10
|
*/
|
|
11
11
|
import { EventEmitter } from 'node:events';
|
|
12
|
+
const VALID_SONA_MODES = [
|
|
13
|
+
'real-time',
|
|
14
|
+
'balanced',
|
|
15
|
+
'research',
|
|
16
|
+
'edge',
|
|
17
|
+
'batch',
|
|
18
|
+
];
|
|
19
|
+
/**
|
|
20
|
+
* The SONA mode from `RUFLO_INTELLIGENCE_MODE`, if the operator set a recognised
|
|
21
|
+
* one — the fleet-wide default (e.g. `research` for higher accuracy) without a
|
|
22
|
+
* per-call `sonaMode`. An unset or unknown value returns undefined so the caller
|
|
23
|
+
* keeps its own default; a typo never silently selects a profile.
|
|
24
|
+
*/
|
|
25
|
+
function sonaModeFromEnv() {
|
|
26
|
+
const raw = (process.env.RUFLO_INTELLIGENCE_MODE?.trim() ?? '');
|
|
27
|
+
return VALID_SONA_MODES.includes(raw) ? raw : undefined;
|
|
28
|
+
}
|
|
12
29
|
const DEFAULT_CONFIG = {
|
|
13
30
|
sonaMode: 'balanced',
|
|
14
31
|
confidenceDecayRate: 0.005,
|
|
@@ -18,6 +35,7 @@ const DEFAULT_CONFIG = {
|
|
|
18
35
|
ewcLambda: 2000,
|
|
19
36
|
consolidationThreshold: 10,
|
|
20
37
|
enabled: true,
|
|
38
|
+
insightNamespace: 'learnings',
|
|
21
39
|
};
|
|
22
40
|
const MS_PER_HOUR = 3_600_000;
|
|
23
41
|
// ===== LearningBridge =====
|
|
@@ -50,7 +68,17 @@ export class LearningBridge extends EventEmitter {
|
|
|
50
68
|
constructor(backend, config) {
|
|
51
69
|
super();
|
|
52
70
|
this.backend = backend;
|
|
53
|
-
|
|
71
|
+
// sonaMode is resolved here, not baked into the module-scope DEFAULT_CONFIG
|
|
72
|
+
// above: DEFAULT_CONFIG is evaluated once, the first time this module is
|
|
73
|
+
// imported, so capturing sonaModeFromEnv() there would permanently miss any
|
|
74
|
+
// RUFLO_INTELLIGENCE_MODE set afterward in the same process (tests included).
|
|
75
|
+
// Resolving it per-instance keeps this in step with sona-adapter.ts's
|
|
76
|
+
// mergeConfig(), which reads the same env var fresh on every call.
|
|
77
|
+
this.config = {
|
|
78
|
+
...DEFAULT_CONFIG,
|
|
79
|
+
...config,
|
|
80
|
+
sonaMode: config?.sonaMode ?? sonaModeFromEnv() ?? DEFAULT_CONFIG.sonaMode,
|
|
81
|
+
};
|
|
54
82
|
}
|
|
55
83
|
// ===== Public API =====
|
|
56
84
|
/**
|
|
@@ -137,7 +165,8 @@ export class LearningBridge extends EventEmitter {
|
|
|
137
165
|
const entries = Array.from(this.activeTrajectories.entries());
|
|
138
166
|
for (const [entryId, trajectoryId] of entries) {
|
|
139
167
|
try {
|
|
140
|
-
await this.
|
|
168
|
+
const reward = await this.resolveConsolidationReward(entryId);
|
|
169
|
+
await this.neural.completeTask(trajectoryId, reward);
|
|
141
170
|
completed++;
|
|
142
171
|
patternsLearned++;
|
|
143
172
|
toRemove.push(entryId);
|
|
@@ -245,6 +274,10 @@ export class LearningBridge extends EventEmitter {
|
|
|
245
274
|
neuralAvailable: this.neural !== null,
|
|
246
275
|
};
|
|
247
276
|
}
|
|
277
|
+
/** Return the resolved SONA mode (explicit config > RUFLO_INTELLIGENCE_MODE > default) */
|
|
278
|
+
getSonaMode() {
|
|
279
|
+
return this.config.sonaMode;
|
|
280
|
+
}
|
|
248
281
|
/** Tear down the bridge. Subsequent method calls become no-ops. */
|
|
249
282
|
destroy() {
|
|
250
283
|
this.destroyed = true;
|
|
@@ -288,10 +321,15 @@ export class LearningBridge extends EventEmitter {
|
|
|
288
321
|
const NeuralLearningSystem = mod.NeuralLearningSystem ?? mod.default;
|
|
289
322
|
if (!NeuralLearningSystem)
|
|
290
323
|
return;
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
324
|
+
// NeuralLearningSystem's constructor takes a bare SONAMode string
|
|
325
|
+
// (see @claude-flow/neural's index.ts / cli's neural-package-bridge.ts
|
|
326
|
+
// for the reference-correct call shape) — it has no ewcLambda param;
|
|
327
|
+
// each mode carries its own fixed lambda via MODE_CONFIGS. Passing an
|
|
328
|
+
// object here (as this used to) doesn't throw: SONAManager's
|
|
329
|
+
// `MODE_CONFIGS[mode]` lookup coerces the object to the string
|
|
330
|
+
// "[object Object]", finds nothing, and `{...undefined}` silently
|
|
331
|
+
// produces an empty config instead of the intended mode's settings.
|
|
332
|
+
const instance = new NeuralLearningSystem(this.config.sonaMode);
|
|
295
333
|
if (typeof instance.initialize === 'function') {
|
|
296
334
|
await instance.initialize();
|
|
297
335
|
}
|
|
@@ -303,6 +341,33 @@ export class LearningBridge extends EventEmitter {
|
|
|
303
341
|
this.neural = null;
|
|
304
342
|
}
|
|
305
343
|
}
|
|
344
|
+
/**
|
|
345
|
+
* Resolve the reward to report to the neural system when a trajectory
|
|
346
|
+
* completes. Uses the insight's current confidence (as tracked in
|
|
347
|
+
* backend metadata, which reflects access boosts and time decay) so the
|
|
348
|
+
* completion signal reflects how the insight actually turned out rather
|
|
349
|
+
* than an unconditional constant. Falls back to 1.0 — the prior hardcoded
|
|
350
|
+
* value — when the entry is missing or lacks a numeric confidence, so
|
|
351
|
+
* that case's behavior is unchanged.
|
|
352
|
+
*
|
|
353
|
+
* `entryId` here is the caller-assigned `key` an insight was stored
|
|
354
|
+
* under (e.g. AutoMemoryBridge.storeInsightInAgentDB), not the backend's
|
|
355
|
+
* internal `entry.id` — the two are generated independently
|
|
356
|
+
* (types.ts:createDefaultEntry always mints its own id). Looking this up
|
|
357
|
+
* with `backend.get(entryId)` would silently miss in production and
|
|
358
|
+
* always fall through to the 1.0 default, so this must go through
|
|
359
|
+
* getByKey(namespace, key) instead.
|
|
360
|
+
*/
|
|
361
|
+
async resolveConsolidationReward(entryId) {
|
|
362
|
+
try {
|
|
363
|
+
const entry = await this.backend.getByKey(this.config.insightNamespace, entryId);
|
|
364
|
+
const confidence = entry?.metadata?.confidence;
|
|
365
|
+
return typeof confidence === 'number' ? confidence : 1.0;
|
|
366
|
+
}
|
|
367
|
+
catch {
|
|
368
|
+
return 1.0;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
306
371
|
/**
|
|
307
372
|
* Create a deterministic hash-based embedding for content.
|
|
308
373
|
* This is a lightweight stand-in for a real embedding model,
|