ruvector/crates/ruvector-wasm/package.json
rUv 1cc09933eb feat: Implement GNN forgetting mitigation (#17)
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>
2025-11-26 23:17:07 +00:00

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"
}
}