fix: v4.8.1 critical bug fixes for update() and clustering
- Fix update() method saving data as '_data' instead of 'data' - Fix update() passing wrong entity structure to metadata index - Add guard against undefined IDs in analyzeKey() for clustering - Fix EntityIdMapper to read from top-level metadata in v4.8.0 - Fix PatternSignal tests to use NounType.Measurement - Update test expectations for v4.8.0 entity structure Fixes augmentations-simplified.test.ts (all 25 tests passing) Fixes neural-simplified clustering (32/33 tests passing) Overall: 98.3% test pass rate (988/997 tests)
This commit is contained in:
parent
df65810b10
commit
00b27d409f
5 changed files with 38 additions and 10 deletions
|
|
@ -641,7 +641,7 @@ export class Brainy<T = any> implements BrainyInterface<T> {
|
|||
const updatedMetadata = {
|
||||
...newMetadata,
|
||||
...dataFields,
|
||||
_data: params.data !== undefined ? params.data : existing.data, // Update the data field
|
||||
data: params.data !== undefined ? params.data : existing.data, // v4.8.0: Store data field
|
||||
noun: params.type || existing.type,
|
||||
service: existing.service,
|
||||
createdAt: existing.createdAt,
|
||||
|
|
@ -663,9 +663,27 @@ export class Brainy<T = any> implements BrainyInterface<T> {
|
|||
|
||||
await this.storage.saveNounMetadata(params.id, updatedMetadata)
|
||||
|
||||
// Update metadata index - remove old entry and add new one
|
||||
// v4.8.0: Build entity structure for metadata index (with top-level fields)
|
||||
const entityForIndexing = {
|
||||
id: params.id,
|
||||
vector,
|
||||
connections: new Map(),
|
||||
level: 0,
|
||||
type: params.type || existing.type,
|
||||
confidence: params.confidence !== undefined ? params.confidence : existing.confidence,
|
||||
weight: params.weight !== undefined ? params.weight : existing.weight,
|
||||
createdAt: existing.createdAt,
|
||||
updatedAt: Date.now(),
|
||||
service: existing.service,
|
||||
data: params.data !== undefined ? params.data : existing.data,
|
||||
createdBy: existing.createdBy,
|
||||
// Only custom fields in metadata
|
||||
metadata: newMetadata
|
||||
}
|
||||
|
||||
// Update metadata index - remove old entry and add new one with v4.8.0 structure
|
||||
await this.metadataIndex.removeFromIndex(params.id, existing.metadata)
|
||||
await this.metadataIndex.addToIndex(params.id, updatedMetadata)
|
||||
await this.metadataIndex.addToIndex(params.id, entityForIndexing)
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue