mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-23 21:25:02 +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>
57 lines
2 KiB
JSON
57 lines
2 KiB
JSON
{
|
|
"name": "ruvector",
|
|
"version": "0.1.2",
|
|
"description": "High-performance Rust-native vector database with AgenticDB compatibility",
|
|
"private": true,
|
|
"workspaces": [
|
|
"crates/ruvector-node",
|
|
"crates/ruvector-wasm",
|
|
"crates/ruvector-graph-node",
|
|
"crates/ruvector-graph-wasm",
|
|
"packages/*"
|
|
],
|
|
"scripts": {
|
|
"build": "cargo build --release",
|
|
"build:node": "cd crates/ruvector-node && npm run build",
|
|
"build:wasm": "cd crates/ruvector-wasm && npm run build",
|
|
"build:graph": "npm run build:graph-node && npm run build:graph-wasm",
|
|
"build:graph-node": "cd crates/ruvector-graph-node && napi build --platform --release",
|
|
"build:graph-wasm": "cd crates/ruvector-graph-wasm && bash build.sh",
|
|
"build:all": "npm run build && npm run build:node && npm run build:wasm && npm run build:graph",
|
|
"test": "cargo test --workspace",
|
|
"test:graph": "cargo test -p ruvector-graph --all-features",
|
|
"test:integration": "cargo test --test graph_full_integration",
|
|
"bench": "cargo bench -p ruvector-bench",
|
|
"bench:graph": "cargo bench -p ruvector-graph",
|
|
"cli": "cargo run -p ruvector-cli --",
|
|
"mcp": "cargo run -p ruvector-cli --bin ruvector-mcp",
|
|
"example:graph": "cargo run --example simple_graph -p ruvector-graph",
|
|
"example:cypher": "cargo run --example cypher_queries -p ruvector-graph",
|
|
"example:hybrid": "cargo run --example hybrid_search -p ruvector-graph",
|
|
"example:distributed": "cargo run --example distributed_setup -p ruvector-graph --features distributed",
|
|
"lint": "cargo clippy --workspace -- -D warnings",
|
|
"format": "cargo fmt --all",
|
|
"check": "cargo check --workspace",
|
|
"check:graph": "cargo check -p ruvector-graph --all-features"
|
|
},
|
|
"keywords": [
|
|
"vector",
|
|
"database",
|
|
"embeddings",
|
|
"rust",
|
|
"hnsw",
|
|
"agentic",
|
|
"ai"
|
|
],
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/ruvnet/ruvector.git"
|
|
},
|
|
"engines": {
|
|
"node": ">=18.0.0"
|
|
},
|
|
"dependencies": {
|
|
"psycho-symbolic-reasoner": "^1.0.7"
|
|
}
|
|
}
|