mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-24 13:54:31 +00:00
This commit addresses GitHub issue #17 by implementing comprehensive forgetting mitigation for continual learning in the GNN module. ## New Features ### Optimizer Implementation (training.rs) - Full Adam optimizer with bias-corrected first and second moments - SGD with momentum support - Lazy initialization of state buffers for efficiency ### Replay Buffer (replay.rs) - Experience replay with reservoir sampling for uniform distribution - Distribution shift detection with statistical tracking - Configurable capacity and batch sampling ### Elastic Weight Consolidation (ewc.rs) - Fisher information diagonal computation - Anchor weight consolidation for task boundaries - EWC penalty and gradient computation ### Learning Rate Scheduling (scheduler.rs) - Constant, StepDecay, Exponential schedulers - CosineAnnealing with warm restarts - WarmupLinear for pre-training warmup - ReduceOnPlateau for adaptive learning ## Deployment Infrastructure ### GitHub Actions Release Pipeline (.github/workflows/release.yml) - 8-stage CI/CD pipeline for complete releases - Validates, builds crates, WASM, and native modules - Publishes to crates.io and npmjs.com - Creates GitHub releases with artifacts ### Deployment Script (scripts/deploy.sh) - Comprehensive deployment orchestration - Version synchronization across Cargo.toml and package.json - Dry-run mode for testing - Cross-platform native builds support ## Test Coverage - 177 tests passing in ruvector-gnn - Comprehensive tests for all new modules - Convergence tests for optimizers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
46 lines
1.5 KiB
JSON
46 lines
1.5 KiB
JSON
{
|
|
"name": "@ruvector/wasm",
|
|
"version": "0.1.2",
|
|
"description": "High-performance Rust vector database for browsers via WASM",
|
|
"main": "pkg/ruvector_wasm.js",
|
|
"types": "pkg/ruvector_wasm.d.ts",
|
|
"files": [
|
|
"pkg",
|
|
"src/worker.js",
|
|
"src/worker-pool.js",
|
|
"src/indexeddb.js"
|
|
],
|
|
"scripts": {
|
|
"build": "npm run build:web && npm run build:simd && npm run build:bundler",
|
|
"build:web": "wasm-pack build --target web --out-dir pkg --release",
|
|
"build:simd": "wasm-pack build --target web --out-dir pkg-simd --release -- --features simd",
|
|
"build:node": "wasm-pack build --target nodejs --out-dir pkg-node --release",
|
|
"build:bundler": "wasm-pack build --target bundler --out-dir pkg-bundler --release",
|
|
"build:all": "npm run build && npm run build:node && npm run build:bundler",
|
|
"test": "wasm-pack test --headless --chrome",
|
|
"test:firefox": "wasm-pack test --headless --firefox",
|
|
"test:node": "wasm-pack test --node",
|
|
"size": "npm run build && gzip -c pkg/ruvector_wasm_bg.wasm | wc -c && echo 'bytes (gzipped)'",
|
|
"optimize": "npm run build && wasm-opt -Oz pkg/ruvector_wasm_bg.wasm -o pkg/ruvector_wasm_bg.wasm",
|
|
"serve": "python3 -m http.server 8080"
|
|
},
|
|
"keywords": [
|
|
"vector",
|
|
"database",
|
|
"embeddings",
|
|
"wasm",
|
|
"browser",
|
|
"rust",
|
|
"simd",
|
|
"web-workers",
|
|
"indexeddb"
|
|
],
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/ruvnet/ruvector.git"
|
|
},
|
|
"devDependencies": {
|
|
"wasm-pack": "^0.12.1"
|
|
}
|
|
}
|