brainy/src
David Snelling f6f2717860 fix: reconstruct Map from JSON for HNSW connections (v5.7.8 hotfix)
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>
2025-11-13 10:45:06 -08:00
..
api feat: add ImageHandler with EXIF extraction and comprehensive MIME detection (v5.2.0) 2025-11-03 14:06:17 -08:00
augmentations fix: update tests for Stage 3 CANONICAL taxonomy (42 nouns, 127 verbs) 2025-11-11 10:09:01 -08:00
cli fix: update all Stage 2 references to Stage 3 CANONICAL type counts 2025-11-06 09:40:33 -08:00
config fix: enable GCS native storage with Application Default Credentials 2025-10-09 10:39:54 -07:00
cortex feat: Stage 3 CANONICAL taxonomy with 169 types (v5.5.0) 2025-11-06 09:02:23 -08:00
critical feat: add browser environment compatibility support 2025-09-17 15:48:02 -07:00
data feat: Phase 3 - Unified Semantic Type Inference (Nouns + Verbs) 2025-10-16 10:59:26 -07:00
distributed feat(v4.0.0): Complete metadata/vector separation architecture with Azure support 2025-10-17 12:29:27 -07:00
embeddings feat(v4.0.0): Complete metadata/vector separation architecture with Azure support 2025-10-17 12:29:27 -07:00
errors feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
graph perf: optimize imports with background deduplication (12-24x speedup) 2025-11-11 14:10:14 -08:00
hnsw fix: update all Stage 2 references to Stage 3 CANONICAL type counts 2025-11-06 09:40:33 -08:00
import fix: resolve v5.7.3 race condition by persisting write-through cache (v5.7.4) 2025-11-12 13:18:53 -08:00
importers fix: update all Stage 2 references to Stage 3 CANONICAL type counts 2025-11-06 09:40:33 -08:00
interfaces feat: implement always-adaptive caching with getCacheStats monitoring 2025-10-10 14:09:30 -07:00
mcp refactor: streamline core API surface 2025-10-04 08:52:06 -07:00
neural fix: resolve getRelations() empty array bug for ALL storage adapters (v5.5.0) 2025-11-06 10:47:59 -08:00
patterns 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
query fix: update remaining 31x→42x speedup references in typeAwareQueryPlanner 2025-11-06 09:41:22 -08:00
scripts feat: add node: protocol to all Node.js built-in imports for bundler compatibility 2025-09-17 14:20:21 -07:00
shared refactor: remove deprecated BrainyData class completely 2025-09-30 16:04:00 -07:00
storage fix: reconstruct Map from JSON for HNSW connections (v5.7.8 hotfix) 2025-11-13 10:45:06 -08:00
streaming feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
triple feat: Phase 3 - Unified Semantic Type Inference (Nouns + Verbs) 2025-10-16 10:59:26 -07:00
types feat: Stage 3 CANONICAL taxonomy with 169 types (v5.5.0) 2025-11-06 09:02:23 -08:00
universal fix: prevent fs adapter from throwing on import in browser 2025-09-17 16:22:02 -07:00
utils feat: Stage 3 CANONICAL taxonomy with 169 types (v5.5.0) 2025-11-06 09:02:23 -08:00
versioning fix: resolve critical COW ref resolution and versioning bugs 2025-11-04 13:05:59 -08:00
vfs fix: resolve HNSW race condition and verb weight extraction (v5.4.0) 2025-11-05 17:05:07 -08:00
augmentationManager.ts feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
augmentationPipeline.ts feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
brainy.ts docs: update index architecture documentation for v5.7.7 lazy loading 2025-11-13 10:10:39 -08:00
coreTypes.ts perf: 48-64× faster HNSW bulk imports via concurrent neighbor updates 2025-10-29 16:10:40 -07:00
cortex.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
index.ts feat: expose neural entity extraction APIs (v5.7.6 - Workshop request) 2025-11-13 09:01:56 -08:00
pipeline.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
setup.ts chore: enforce consistent coding style and semicolon removal 2025-09-29 09:50:59 -07:00
unified.ts chore: enforce consistent coding style and semicolon removal 2025-09-29 09:50:59 -07:00
worker.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00