- Update package.json version to 0.1.15
- Built native binary for linux-x64-gnu
- Published base package to npm registry
Multi-platform binaries (darwin, windows, arm64) need to be built
via GitHub Actions CI.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update package.json version to 0.1.15
- Build native binary for linux-x64-gnu
- Published base package to npm registry
Native binaries for other platforms (darwin, windows, arm64) will
be built and published via GitHub Actions CI.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Use dynamic version check instead of hardcoded value to avoid
test failures when workspace version changes.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
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>
- Export training module and types from lib.rs (TrainingConfig,
TrainingDataset, Trainer, TrainingMetrics, generate_teacher_predictions)
- Export RouterConfig and FastGRNNConfig from lib.rs
- Add From<std::io::Error> impl for TinyDancerError
- Update examples to work without external dependencies:
- admin-server.rs: Simplified to demonstrate health checks and
config inspection without axum/tokio
- full_observability.rs: Uses manual metrics tracking instead of
prometheus crate
- metrics_example.rs: Manual metrics collection and display
- tracing_example.rs: Simple timing-based example without
OpenTelemetry
Fixes#16🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add comprehensive README.md files for 13 crates with GitHub/ruv.io links
- Update root README with crates table showing all 25 published crates
- Add npm packages section with badges and install instructions
- All crates published to crates.io v0.1.2
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update test imports to use ruvector_core::types::DbOptions instead of
ruvector_core::DbOptions in stress_tests.rs, concurrent_tests.rs,
and integration_tests.rs
- Fix hypergraph.rs tests to use String VectorIds instead of integers
- Fix learned_index.rs tests to use String VectorIds
- Fix neural_hash.rs tests to use String VectorIds
- Add missing re-exports NormalizationStrategy and NonconformityMeasure
in advanced_features.rs
- Add move keyword to closure in property_tests.rs to fix lifetime error
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix import paths for DbOptions, HnswConfig, QuantizationConfig from types module
- Replace invalid Python-style format strings with Rust string repeat
- Fix finish_with_message calls to use owned String instead of borrowed
- Fix embedding_offset test assertions to use Option<usize>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove async from &mut self methods in streaming.rs (NAPI limitation)
- Remove Debug derive from structs with Float32Array (not impl Debug)
- Remove Clone derive from string_enum types (conflicting implementations)
- Change Option<f32> to Option<f64> in JS types (NAPI doesn't support f32)
- Add f32/f64 conversions between JS layer and core Rust library
- Change avg_degree from f32 to f64 in JsGraphStats
These fixes allow the ruvector-graph-node crate to compile successfully.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Format all Rust code with cargo fmt
- Generate Cargo.lock for security audit
- Add build:wasm script to graph-wasm package.json
- Update npm/package-lock.json
The CI was failing due to:
1. Rust code formatting check failures
2. Missing Cargo.lock file for cargo audit
3. Missing build:wasm script expected by graph-ci.yml workflow
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create docs/api/CYPHER_REFERENCE.md with complete Cypher query guide
- Update README to highlight all capabilities in core npx ruvector package
- Add Tiny Dancer (AI agent routing) to features and comparison table
- Fix ruvector-wasm insertBatch to use js_sys::Array instead of serde
This commit fixes multiple compilation issues in the Neo4j-compatible
hypergraph database implementation:
Build Fixes:
- Add Hash, Eq derives to Label type for HashMap compatibility
- Fix PropertyValue enum - add List variant as alias for Array
- Fix LabelIndex to use label.name instead of Label struct as key
- Split cypher lexer alt() into nested calls (nom 21-alternative limit)
- Fix RoaringBitmap serialize method (use serialize_into)
- Add ordered-float dependency for Hash impl on float values
- Fix ReadOnlyTable usage (use iter().count() instead of len())
- Add VectorIndex trait import for HnswIndex methods
- Fix PropertyValue variant names in match statements (Boolean/Integer)
- Add Clone bound to AdaptiveRadixTree generic parameter
- Fix PhysicalPlan to use custom Debug impl (dyn Operator not Clone)
- Add HyperedgeScan to PlanNode compile_node match
Type System:
- Implement Hash and Eq for plan::Value using OrderedFloat
- Fix property_value_to_string to handle all PropertyValue variants
- Add proper type annotations for nom parser combinators
Code Quality:
- Remove unused Clone derive from PhysicalPlan
- Use std::mem::take for ownership transfer in Pipeline
- Fix ArtNode type annotation in adaptive_radix.rs
- Clean up test_cypher_parser.rs to use library import
The library now compiles successfully. Some test files still need
updates for NodeBuilder/EdgeBuilder exports and From implementations.
Major new package implementing a distributed hypergraph database with:
## Core Components (crates/ruvector-graph/)
- Cypher-compatible query parser with lexer, AST, optimizer
- Query execution engine with SIMD optimization and parallel execution
- ACID transaction support with MVCC isolation levels
- Distributed consensus and federation layer
- Vector-graph hybrid queries for AI/RAG workloads
- Performance optimizations (100x faster than Neo4j target)
## Bindings
- WASM bindings (crates/ruvector-graph-wasm/)
- NAPI-RS Node.js bindings (crates/ruvector-graph-node/)
- NPM packages for both targets
## CLI Integration
- 8 new graph commands: create, query, shell, import, export, info, benchmark, serve
## CI/CD
- Updated build-native.yml for graph packages
- New graph-ci.yml for testing and benchmarks
- New graph-release.yml for automated publishing
## Data Generation
- OpenRouter/Kimi K2 integration (packages/graph-data-generator/)
- Agentic-synth benchmark suite integration
## Tests & Benchmarks
- 11 test files covering all components
- Criterion benchmarks for performance validation
- Neo4j compatibility test suite
## Architecture Highlights
- CSR graph layout for cache-friendly access
- SIMD-vectorized query operators
- Roaring bitmaps for label indexes
- Bloom filters for fast negative lookups
- Adaptive radix tree for property indexes
Note: This is a comprehensive implementation created by 15 parallel agents.
Some integration fixes may be needed to resolve cross-module dependencies.
Co-authored-by: Claude AI Swarm <swarm@claude.ai>
- ruvector-cluster: Distributed coordination with DAG-based consensus,
consistent hashing sharding, node discovery (static/gossip/multicast),
and load balancing across shards
- ruvector-raft: Full Raft consensus implementation following the paper
spec, including leader election, log replication, snapshots, and RPC
messages with bincode 2.0 serialization
- ruvector-replication: Data replication with sync/async/semi-sync modes,
vector clock conflict resolution, CRDT-inspired merge strategies,
change streaming with checkpointing, and automatic failover with
quorum-based decisions
All 56 tests pass across the 3 new crates. Fixed several issues during
review: bincode error types, Send bounds for async spawns, unnecessary
async methods converted to sync.
Critical fix for v0.1.7 that resolves native module loading failure.
Changes:
- Fixed case sensitivity: VectorDB → VectorDb in type checks
- Native module exports VectorDb (lowercase 'b')
- Code was checking for VectorDB (uppercase 'B')
- Re-export as VectorDB for API consistency
- Version bump: 0.1.6 → 0.1.7
This fix resolves the error:
"Native module loaded but VectorDB not found"
Related commits:
- Database pooling: already in storage.rs (commit 44ca725)
- Package name fixes: already applied (ruvector-core)
Next steps:
- Rebuild platform packages with pooling code
- Publish platform packages v0.1.2
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Introduced comprehensive README for ruvector-cli, detailing installation, usage, command reference, and configuration options.
- Added README for ruvector-core, outlining core features, installation instructions, quick start examples, and API overview.
- Included performance characteristics and configuration guides in both README files to assist users in optimizing their setups.
- Move router-* folders into crates/ directory
- Move profiling folder into crates/
- Update Cargo.toml workspace to include new crate locations
- Add node_modules/ and package-lock.json to .gitignore
- Remove node_modules directory from repository
- Create new README.md with project overview and badges
- Move old technical documentation to docs/TECHNICAL_PLAN.md
This reorganization improves the project structure by:
- Consolidating all Rust crates in the crates/ directory
- Following standard Rust workspace conventions
- Cleaning up root directory clutter
- Providing a clear, professional README for new users
- Fixed HNSW DataId::new() errors by using insert_data() method (DataId is just usize)
- Fixed bincode serialization for ReflexionEpisode using JSON (serde_json::Value incompatible)
- Fixed Send trait error by replacing par_iter() with sequential for-loop
- Fixed lifetime error by commenting out unused thread_arena() function
- Fixed type cast ambiguity in neural_hash.rs by adding parentheses
Build status: ruvector-core lib builds successfully ✅
Note: 34 test compilation errors remain (test code needs NodeId type fixes)