fix: VFS where clause field names + isVFS flag

CRITICAL FIX: VFS was using incorrect field names in where clauses
- Metadata index stores flat fields: path, vfsType, name
- VFS queried with: 'metadata.path', 'metadata.vfsType' (wrong!)
- Fixed to use correct field names in where clauses

Changes:
- initializeRoot() now uses correct where clause (no workaround needed)
- Added isVFS flag to all VFS entities (mkdir, writeFile, root)
- Updated VFSMetadata type to include isVFS field
- Removed PathResolver fallback (production code, no fallbacks)

This fixes:
- Duplicate root entities (Workshop team had ~10 roots!)
- VFS queries now work correctly with metadata index
- Clean separation between VFS and knowledge graph entities

Production-ready: No mocks, no fallbacks, no workarounds
This commit is contained in:
David Snelling 2025-10-24 11:12:27 -07:00
parent 3260a6ce6d
commit f8d2d37b82
3 changed files with 30 additions and 8 deletions

View file

@ -33,6 +33,7 @@ export interface VFSMetadata {
name: string // Filename or directory name
parent?: string // Parent directory entity ID
vfsType: 'file' | 'directory' | 'symlink'
isVFS?: boolean // v4.3.3: Mark as VFS entity (separates from knowledge graph)
// File attributes
size: number // Size in bytes (0 for directories)