mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-25 15:03:46 +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>
82 lines
1.9 KiB
JSON
82 lines
1.9 KiB
JSON
{
|
|
"name": "@ruvector/node",
|
|
"version": "0.1.2",
|
|
"description": "High-performance Rust vector database for Node.js with HNSW indexing and SIMD optimizations",
|
|
"main": "index.js",
|
|
"types": "index.d.ts",
|
|
"type": "module",
|
|
"napi": {
|
|
"name": "ruvector",
|
|
"triples": {
|
|
"defaults": true,
|
|
"additional": [
|
|
"aarch64-apple-darwin",
|
|
"aarch64-unknown-linux-gnu",
|
|
"aarch64-unknown-linux-musl",
|
|
"aarch64-pc-windows-msvc",
|
|
"x86_64-unknown-linux-musl"
|
|
]
|
|
}
|
|
},
|
|
"engines": {
|
|
"node": ">= 18"
|
|
},
|
|
"scripts": {
|
|
"artifacts": "napi artifacts",
|
|
"build": "napi build --platform --release",
|
|
"build:debug": "napi build --platform",
|
|
"prepublishOnly": "napi prepublish -t npm",
|
|
"test": "ava",
|
|
"test:watch": "ava --watch",
|
|
"bench": "ava tests/benchmark.test.mjs",
|
|
"example:simple": "node examples/simple.mjs",
|
|
"example:advanced": "node examples/advanced.mjs",
|
|
"example:semantic": "node examples/semantic-search.mjs",
|
|
"version": "napi version",
|
|
"clean": "rm -rf *.node index.js index.d.ts npm"
|
|
},
|
|
"devDependencies": {
|
|
"@napi-rs/cli": "^2.18.0",
|
|
"ava": "^6.0.0"
|
|
},
|
|
"ava": {
|
|
"files": [
|
|
"tests/**/*.test.mjs"
|
|
],
|
|
"timeout": "2m",
|
|
"concurrency": 5,
|
|
"environmentVariables": {
|
|
"NODE_ENV": "test"
|
|
}
|
|
},
|
|
"files": [
|
|
"index.js",
|
|
"index.d.ts",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"keywords": [
|
|
"vector",
|
|
"database",
|
|
"embeddings",
|
|
"similarity-search",
|
|
"hnsw",
|
|
"rust",
|
|
"napi",
|
|
"semantic-search",
|
|
"machine-learning",
|
|
"rag",
|
|
"simd",
|
|
"performance"
|
|
],
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/ruvnet/ruvector.git",
|
|
"directory": "crates/ruvector-node"
|
|
},
|
|
"homepage": "https://github.com/ruvnet/ruvector#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/ruvnet/ruvector/issues"
|
|
}
|
|
}
|