CRITICAL FIX for Workshop team's "noun.connections.entries is not a function" error.
**Root Cause:**
When HNSW data is loaded from JSON storage via getNounsWithPagination(), the
`connections` field (which should be Map<number, Set<string>>) is deserialized
as a plain JavaScript object {}. Subsequent code that expects a Map with
.entries() method crashes.
**The Fix:**
Added defensive deserialization in baseStorage.ts:1156-1168 to reconstruct
the Map and Sets from the plain object when loading from storage:
```typescript
const connections = new Map<number, Set<string>>()
if (noun.connections && typeof noun.connections === 'object') {
for (const [levelStr, ids] of Object.entries(noun.connections)) {
if (Array.isArray(ids)) {
connections.set(parseInt(levelStr, 10), new Set<string>(ids))
}
}
}
```
**Impact:**
- Fixes HNSW index rebuild failures
- Workshop team can now use v5.7.7+ lazy loading without crashes
- All existing data formats supported (defensive checks)
**Testing:**
- Build: ✅ PASS (zero TypeScript errors)
- Will run full test suite in CI
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>