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
|
|
@ -346,7 +346,7 @@ describe('PatternSignal', () => {
|
|||
const result = await signal.classify('userName')
|
||||
|
||||
expect(result).toBeDefined()
|
||||
expect(result?.type).toBe(NounType.Attribute)
|
||||
expect(result?.type).toBe(NounType.Measurement)
|
||||
expect(result?.metadata?.matchedPattern).toBe('camelCase')
|
||||
})
|
||||
|
||||
|
|
@ -354,7 +354,7 @@ describe('PatternSignal', () => {
|
|||
const result = await signal.classify('MAX_CONNECTIONS')
|
||||
|
||||
expect(result).toBeDefined()
|
||||
expect(result?.type).toBe(NounType.Attribute)
|
||||
expect(result?.type).toBe(NounType.Measurement)
|
||||
expect(result?.metadata?.matchedPattern).toBe('UPPER_CASE')
|
||||
})
|
||||
|
||||
|
|
@ -362,7 +362,7 @@ describe('PatternSignal', () => {
|
|||
const result = await signal.classify('user_name')
|
||||
|
||||
expect(result).toBeDefined()
|
||||
expect(result?.type).toBe(NounType.Attribute)
|
||||
expect(result?.type).toBe(NounType.Measurement)
|
||||
expect(result?.metadata?.matchedPattern).toBe('snake_case')
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -69,7 +69,9 @@ describe('TypeAwareStorageAdapter', () => {
|
|||
expect(retrieved?.id).toBe(id)
|
||||
expect(retrieved?.vector).toEqual(vector)
|
||||
expect(retrieved?.level).toBe(0)
|
||||
expect(retrieved?.metadata).toEqual(metadata)
|
||||
// v4.8.0: Standard fields (noun → type) at top-level, only custom fields in metadata
|
||||
expect(retrieved?.type).toBe('person')
|
||||
expect(retrieved?.metadata).toEqual({ name: 'Alice' })
|
||||
})
|
||||
|
||||
it('should track noun counts by type', async () => {
|
||||
|
|
@ -415,7 +417,9 @@ describe('TypeAwareStorageAdapter', () => {
|
|||
expect(retrieved?.id).toBe(id)
|
||||
expect(retrieved?.vector).toEqual([1, 2, 3])
|
||||
expect(retrieved?.level).toBe(0)
|
||||
expect(retrieved?.metadata).toEqual({ noun: 'person', name: 'Test' })
|
||||
// v4.8.0: Standard fields (noun → type) at top-level, only custom fields in metadata
|
||||
expect(retrieved?.type).toBe('person')
|
||||
expect(retrieved?.metadata).toEqual({ name: 'Test' })
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue