BREAKING CHANGE: Removed getAllNouns() and getAllVerbs() from StorageAdapter interface
These methods could cause expensive full scans on cloud storage (S3/R2) leading to
high costs and performance issues. Replaced with safe paginated methods.
Changes:
- Remove getAllNouns/getAllVerbs from StorageAdapter interface and implementations
- Add internal optimization methods for intelligent preloading when safe
- Fix OPFS storage file naming consistency (.json extension)
- Fix S3 high-volume mode detection thresholds (was too aggressive)
- Fix TypeScript compilation errors with async methods
- Update all tests to use paginated methods
Performance:
- Add smart dataset size detection for automatic optimization
- Maintain all internal performance optimizations through safe preloading
- Only preload data in read-only mode or when dataset is small (<10k entities)
Fixes:
- Fix intelligent verb scoring tests metadata structure
- Fix S3 storage getVerbsBySource/Target/Type methods
- Fix memory usage in search operations using pagination
Docs:
- Add comprehensive storage architecture documentation
- Document known bash redirection issue
- Update README with architecture doc link
All affected tests passing
Major improvements to build process, package optimization, and test infrastructure:
## Package Size Optimization (3.4MB → 2.2MB)
- Remove source maps from npm package (reduce size by 35%)
- Update package.json files field to exclude *.js.map and *.d.ts.map
- Enhanced .npmignore for better exclusion patterns
- Preserve all browser compatibility and universal shims
## Test Infrastructure Fixes
- Increase test timeouts to 120s for TensorFlow operations
- Improve memory management with garbage collection hooks
- Add proper cleanup between tests to prevent file accumulation
- Configure single-fork test execution to reduce memory usage
- Fix test parameter issues in intelligent verb scoring tests
## Bug Fixes
- Fix lock directory creation in FileSystemStorage
- Remove deprecated node-fetch import from api-integration tests
- Fix addVerb() and db.add() parameter usage throughout test suite
- Ensure proper vector dimensions (384) in all test vectors
- Add directory existence checks before lock file operations
## Build & Development
- Update vitest configuration for better concurrency and reliability
- Add comprehensive test cleanup in setup.ts
- Preserve all browser JavaScript functionality and universal compatibility layer
The package now meets size requirements while maintaining full functionality
for both browser and Node.js environments.
Add a new COGNITION augmentation that automatically generates intelligent weight and confidence scores for verb relationships using semantic analysis, frequency patterns, and temporal factors.
Key features:
- Semantic proximity scoring using entity embeddings
- Frequency amplification for repeated relationships
- Temporal decay for time-based relationship strength
- Learning and adaptation from user feedback
- Zero-configuration setup (just enable: true)
- Off by default to maintain backward compatibility
Integration points:
- New intelligentVerbScoring config in BrainyDataConfig
- Automatic scoring in addVerb() when weight not provided
- Feedback methods: provideFeedbackForVerbScoring(), getVerbScoringStats()
- Export/import learning data for persistence
- Full augmentation pipeline integration
Documentation:
- Comprehensive usage guide at /docs/guides/intelligent-verb-scoring.md
- Examples for simple and advanced configurations
- Learning workflows and troubleshooting
Tests:
- Complete test coverage for all features
- Configuration, semantic scoring, learning, and error handling
- Performance and integration testing
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>