# VFS + Knowledge Layer Integration ## Overview The Knowledge Layer is an optional augmentation that transforms VFS from a filesystem into an intelligent knowledge management system. When enabled, it adds event recording, semantic versioning, persistent entities, universal concepts, and Git integration. ## Enabling Knowledge Layer ```javascript const brain = new Brainy({ storage: { type: 'memory' }, silent: true }) await brain.init() const vfs = brain.vfs() await vfs.init() // Enable Knowledge Layer augmentation await vfs.enableKnowledgeLayer() // Now VFS has additional intelligent features ``` ## Architecture The Knowledge Layer consists of five integrated systems: ### 1. EventRecorder Tracks all filesystem operations as searchable events with embeddings. ### 2. SemanticVersioning Creates versions based on semantic meaning changes, not just byte differences. ### 3. PersistentEntitySystem Tracks evolving entities (characters, concepts, systems) across files. ### 4. ConceptSystem Manages universal concepts that span multiple files and projects. ### 5. GitBridge Enables import/export between VFS and Git repositories. ## Event Recording Every filesystem operation is recorded as an event: ```javascript // All operations are automatically recorded await vfs.writeFile('/doc.txt', 'Initial content') await vfs.appendFile('/doc.txt', '\nMore content') await vfs.rename('/doc.txt', '/document.txt') // Query events const history = await vfs.getHistory('/document.txt') for (const event of history) { console.log(event.type, event.timestamp, event.user) // 'create' 2025-01-20T10:00:00Z 'alice' // 'write' 2025-01-20T10:01:00Z 'alice' // 'rename' 2025-01-20T10:02:00Z 'alice' } // Search events semantically const events = await vfs.searchEvents('document changes') ``` ### Event Types - `create` - File/directory created - `write` - Content written - `append` - Content appended - `delete` - File/directory deleted - `rename` - Path changed - `move` - File relocated - `metadata` - Metadata updated - `relationship` - Relationship added/removed ### Event Schema ```javascript { id: 'uuid', type: 'write', path: '/document.txt', oldPath: null, // For renames/moves timestamp: Date.now(), user: 'current-user', size: 1024, // Bytes affected contentHash: 'sha256...', // Content fingerprint vector: [0.1, 0.2, ...], // Semantic embedding metadata: { mimeType: 'text/plain', encoding: 'utf8' } } ``` ## Semantic Versioning Versions are created when content *meaning* changes significantly: ```javascript // Initial version await vfs.writeFile('/story.txt', 'Once upon a time...') // Minor change - no new version (typo fix) await vfs.writeFile('/story.txt', 'Once upon a time...') // Major change - creates new version (plot development) await vfs.writeFile('/story.txt', 'Once upon a time, the kingdom fell...') // Get versions const versions = await vfs.getVersions('/story.txt') for (const version of versions) { console.log(version.id, version.timestamp, version.semanticHash) // Compare semantic similarity between versions console.log(version.similarity) // 0.45 (significantly different) } // Restore version await vfs.restoreVersion('/story.txt', versions[0].id) // Diff versions semantically const diff = await vfs.diffVersions('/story.txt', v1.id, v2.id) console.log(diff.additions) // New concepts added console.log(diff.removals) // Concepts removed console.log(diff.modifications) // Concepts changed ``` ### Version Triggers - Semantic similarity < 0.7 threshold - New concepts introduced - Major structural changes - Explicit version creation ## Persistent Entities Track characters, systems, and entities across files: ```javascript // Create persistent entity const character = await vfs.createEntity({ name: 'Alice', type: 'character', description: 'Main protagonist, a curious explorer', attributes: { age: 25, occupation: 'Archaeologist', traits: ['brave', 'intelligent', 'curious'] } }) // Entity appears across multiple files await vfs.writeFile('/chapter1.txt', 'Alice entered the ancient tomb...') await vfs.writeFile('/chapter2.txt', 'Alice decoded the hieroglyphs...') // Track entity across files const occurrences = await vfs.findEntityOccurrences('Alice') // Returns all files mentioning Alice with context // Update entity globally await vfs.updateEntity(character.id, { attributes: { age: 26, // Birthday happened in the story newTrait: 'experienced' } }) // Entity types const entities = await vfs.listEntities({ type: 'character' }) // Supports: character, location, object, system, concept, etc. ``` ### Entity Relationships ```javascript // Link entities await vfs.linkEntities('Alice', 'Ancient Tomb', 'explores') await vfs.linkEntities('Alice', 'Bob', 'mentored_by') // Query entity graph const graph = await vfs.getEntityGraph('Alice', { depth: 2 }) // Returns connected entities and their relationships ``` ## Concept System Universal concepts that transcend individual files: ```javascript // Create concept const authConcept = await vfs.createConcept({ name: 'Authentication', type: 'technical', domain: 'security', description: 'User identity verification system', keywords: ['login', 'password', 'token', 'session'], relatedConcepts: ['Authorization', 'Security'] }) // Concepts are automatically detected in files await vfs.writeFile('/auth.js', 'function authenticate(user, password) {...}') await vfs.writeFile('/login.tsx', 'const LoginForm = () => {...}') // Find files by concept const authFiles = await vfs.findByConcept('Authentication') // Returns all files related to authentication concept // Get concept map const conceptMap = await vfs.getConceptMap('/src') // Returns hierarchy of concepts in directory // Merge similar concepts await vfs.mergeConcepts('User Auth', 'Authentication') // Concept evolution tracking const evolution = await vfs.trackConceptEvolution('Authentication') // Shows how the concept has changed over time ``` ### Concept Relationships ```javascript // Define concept relationships await vfs.relateConcepts('Authentication', 'Session Management', 'requires') await vfs.relateConcepts('Authentication', 'User Database', 'uses') // Query concept network const network = await vfs.getConceptNetwork('Authentication') // Returns graph of related concepts ``` ## GitBridge Integration Seamlessly work with Git repositories: ```javascript // Import from Git repo await vfs.importFromGit('/local/git/repo', '/vfs/project') // Imports: // - All files and directories // - Git history as VFS events // - Commit messages as event metadata // - Branch structure as relationships // Export to Git format await vfs.exportToGit('/vfs/project', '/local/git/repo') // Exports: // - Files to working directory // - VFS events as git commits // - Relationships as .brainy/relationships.json // - Entities as .brainy/entities.json // - Concepts as .brainy/concepts.json // Sync with remote await vfs.syncWithGit('https://github.com/user/repo.git') ``` ### Git Metadata Preservation ```javascript // Git metadata is preserved const gitMeta = await vfs.getGitMetadata('/vfs/project/file.js') console.log(gitMeta.lastCommit) // Hash of last commit console.log(gitMeta.authors) // List of contributors console.log(gitMeta.created) // First commit date console.log(gitMeta.modified) // Last commit date ``` ## Knowledge Queries Powerful queries across all Knowledge Layer data: ```javascript // Timeline query const timeline = await vfs.getTimeline({ from: '2025-01-01', to: '2025-01-31', types: ['write', 'create'] }) // Impact analysis const impact = await vfs.analyzeImpact('/core/auth.js') // Returns files that would be affected by changes // Dependency graph const deps = await vfs.getDependencyGraph('/src') // Returns import/export relationships // Knowledge search const results = await vfs.knowledgeSearch({ query: 'authentication flow', includeEvents: true, includeVersions: true, includeEntities: true, includeConcepts: true }) // Collaborative insights const insights = await vfs.getInsights('/project') // Returns: // - Most active files // - Key concepts // - Entity relationships // - Development patterns // - Suggested improvements ``` ## Background Processing Knowledge Layer operations run in the background: ```javascript // Operations are non-blocking await vfs.writeFile('/large-doc.txt', hugeContent) // Returns immediately // Knowledge processing happens asynchronously: // 1. Event recording (immediate) // 2. Embedding generation (100ms) // 3. Version checking (200ms) // 4. Entity extraction (500ms) // 5. Concept detection (1s) // Check processing status const status = await vfs.getProcessingStatus() console.log(status.pending) // Number of pending operations console.log(status.processed) // Number completed // Wait for processing await vfs.waitForProcessing() // Blocks until all done ``` ## Machine Learning Integration The Knowledge Layer enables ML-powered features: ```javascript // Auto-tagging await vfs.enableAutoTagging() await vfs.writeFile('/report.pdf', pdfContent) const tags = await vfs.getTags('/report.pdf') // ['financial', 'quarterly', 'revenue', 'analysis'] // Content suggestions const suggestions = await vfs.getSuggestions('/story.txt') // Returns potential next sentences based on context // Duplicate detection const duplicates = await vfs.findDuplicates({ threshold: 0.95, // Similarity threshold checkContent: true, checkStructure: true }) // Anomaly detection const anomalies = await vfs.detectAnomalies() // Returns files that don't fit patterns // Smart categorization await vfs.enableSmartCategorization() const category = await vfs.getCategory('/document.txt') // Returns: 'technical/documentation/api' ``` ## Collaboration Features Knowledge Layer enables multi-user collaboration: ```javascript // Track user actions vfs.setUser('alice') await vfs.writeFile('/shared.txt', 'Alice\'s content') vfs.setUser('bob') await vfs.appendFile('/shared.txt', 'Bob\'s addition') // Get collaboration history const collabHistory = await vfs.getCollaborationHistory('/shared.txt') // Shows who did what when // Conflict detection const conflicts = await vfs.detectConflicts('/shared.txt') // Returns semantic conflicts, not just line differences // Merge intelligence const mergeStrategy = await vfs.suggestMerge( '/alice/version.txt', '/bob/version.txt' ) // Returns intelligent merge suggestions ``` ## Performance Impact Knowledge Layer overhead: - **Write operations**: +50-200ms for event recording - **Read operations**: No impact (cached) - **Search operations**: 10x faster (pre-computed embeddings) - **Storage**: ~20% additional for events and embeddings - **Memory**: +100MB for caches and indexes ## Configuration Fine-tune Knowledge Layer behavior: ```javascript await vfs.enableKnowledgeLayer({ eventRecording: true, // Track all operations semanticVersioning: true, // Smart versioning versionThreshold: 0.7, // Similarity threshold persistentEntities: true, // Track entities entityTypes: ['character', 'location', 'system'], concepts: true, // Universal concepts conceptDomains: ['technical', 'narrative', 'business'], gitBridge: true, // Git integration backgroundProcessing: true, // Non-blocking processingDelay: 100, // Ms before processing cacheSizes: { events: 10000, versions: 1000, entities: 5000, concepts: 2000 } }) ``` ## Complete Example ```javascript import { Brainy } from '@soulcraft/brainy' async function knowledgeExample() { // Initialize with Knowledge Layer const brain = new Brainy({ storage: { type: 'memory' } }) await brain.init() const vfs = brain.vfs() await vfs.init() await vfs.enableKnowledgeLayer() // Create a story with tracked entities const alice = await vfs.createEntity({ name: 'Alice', type: 'character', description: 'Protagonist' }) await vfs.writeFile('/chapter1.md', ` # Chapter 1 Alice discovered the ancient artifact... `) // File automatically: // - Records write event // - Generates embedding // - Links to Alice entity // - Detects "ancient artifact" concept // Create technical documentation await vfs.createConcept({ name: 'API Design', type: 'technical', domain: 'software' }) await vfs.writeFile('/api-guide.md', ` # API Design Guide RESTful principles... `) // Check Knowledge Layer insights const insights = await vfs.getInsights('/') console.log('Entities:', insights.entities) console.log('Concepts:', insights.concepts) console.log('Relationships:', insights.relationships) // Query across knowledge const results = await vfs.knowledgeSearch({ query: 'Alice artifact', includeEvents: true, includeEntities: true }) await vfs.close() await brain.close() } ``` The Knowledge Layer transforms VFS from a filesystem into an intelligent knowledge management system that understands content, tracks evolution, and enables semantic collaboration.