CRITICAL FIX for Workshop team's production blocker: - VFS roots multiplied exponentially (5 → 100+ in 2 minutes) - Fresh workspace created 7 duplicate roots on first page load - Root cause: Query-then-create race condition across VFS instances ARCHITECTURAL SOLUTION: Replace Smart Root Selection (symptom masking) with fixed-ID pattern (root cause fix). Changes: - Use deterministic UUID '00000000-0000-0000-0000-000000000000' for VFS root - Storage-level uniqueness prevents all duplicates across instances - Remove selectBestRoot() method (~60 lines) - no longer needed - Add auto-cleanup for old v5.9.0 UUID-based roots - Idempotent creation: Concurrent calls gracefully handled Why this works: - All VFS instances use same fixed ID - Storage enforces uniqueness (filesystem/database constraint) - No queries needed (O(1) get vs O(log n) query) - Works across server restarts and multi-server deployments - Simpler code: ~30 lines added, ~60 lines removed Test Results: - Build: Zero TypeScript errors - VFS tests: 116/128 pass (was 57/128 before fix) - Full suite: 1174/1200 pass (97.8%) Impact on Workshop: - Fresh workspace: 1 root (was 7) - After 2 minutes: 1 root (was 100) - No manual cleanup needed - Per-request pattern now fully supported Technical Details: - VFS root ID: 00000000-0000-0000-0000-000000000000 - User-visible path: / (path field, not ID) - Storage path: entities/nouns/collection/metadata/00/00000000...json - Migration: Auto-cleanup on first init Fixes: #VFS-ROOT-DUPLICATION See: .strategy/V5_10_0_VFS_ROOT_FIX.md for complete analysis |
||
|---|---|---|
| .. | ||
| api | ||
| augmentations | ||
| cli | ||
| config | ||
| cortex | ||
| critical | ||
| data | ||
| distributed | ||
| embeddings | ||
| errors | ||
| graph | ||
| hnsw | ||
| import | ||
| importers | ||
| interfaces | ||
| mcp | ||
| neural | ||
| patterns | ||
| query | ||
| scripts | ||
| shared | ||
| storage | ||
| streaming | ||
| transaction | ||
| triple | ||
| types | ||
| universal | ||
| utils | ||
| versioning | ||
| vfs | ||
| augmentationManager.ts | ||
| augmentationPipeline.ts | ||
| brainy.ts | ||
| coreTypes.ts | ||
| cortex.ts | ||
| index.ts | ||
| pipeline.ts | ||
| setup.ts | ||
| unified.ts | ||
| worker.ts | ||