Removed legacy /npm/ruvector/ (v0.1.38) in favor of
/npm/packages/ruvector/ (v0.1.42) which is actively maintained
and published to npm.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add chrono dependency to Cargo.toml
- Replace pgrx::TimestampWithTimeZone with chrono::Utc strings
- Fix temporary reference error in analysis.rs
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Format fixes based on Claude Code validation:
- matcher: string regex (e.g., "Edit|Write|MultiEdit") not object
- SessionStart/Stop: require { hooks: [...] } wrapper
Bumps to v0.1.42
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updates hooks to use new object-based format:
- matcher: { tools: [...] } instead of string
- hooks: [{ type: "command", command: "..." }] instead of string array
Required by Claude Code's updated hooks schema.
Bumps to v0.1.41
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The hooks init command now generates settings.json with
npx ruvector hooks instead of ruvector hooks, ensuring
commands work without global installation.
Bumps to v0.1.40
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updates all hook commands to use npx ruvector instead of ruvector
for portability (no global install required).
Updated files:
- .claude/settings.json - all hooks now use npx ruvector
- CLAUDE.md - documentation updated to npx ruvector
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Comprehensive documentation for hooks including:
- init, session-start, session-end
- pre-edit, post-edit with success/error recording
- pre-command, post-command with risk analysis
- route for agent recommendations
- remember/recall for vector memory
- suggest-context for relevant context
- stats for intelligence statistics
- swarm-recommend for task routing
- Configuration example for .claude/settings.json
- Explanation of how self-learning works
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Prevents wasm-pack from regenerating .gitignore files that block npm
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove wasm-pack generated .gitignore files that were blocking
npm from including the pkg/ and pkg-node/ WASM binaries.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Feature comparison table showing:
- Performance (WASM advantage)
- Unique features (critical path, attention, persistence)
- TypeScript support
- Bundle sizes
Plus 'When to Use What' guide for choosing the right library
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Quote-style hook question
- 3-line code snippet showing value immediately
- Box-style ASCII diagram (more professional)
- Question/Method/Answer table format
- Expanded use cases with examples
- Added Game AI and Workflow Engines
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Lead with the problem, not technical jargon
- Visual task dependency diagram
- Show what each method answers
- Real-world use cases with emojis
- Before/after comparison table
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Easy introduction to DAGs and rudag
- Features and benefits overview
- Detailed use cases (SQL optimizer, task scheduler, build system, ETL)
- Integration examples (Express, React, D3.js, Bull, GraphQL, RxJS)
- CLI documentation
- Full API reference
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
SECURITY FIXES (HIGH):
- Path traversal prevention in CLI (validateFilePath)
- Path traversal prevention in FileDagStorage (ensureWithinBase)
- Input validation for all public APIs (isValidDagId, isValidStorageId)
- Type guards for WASM output (isCriticalPath) to prevent prototype pollution
- Extension restrictions (.dag, .json only) in CLI
MEMORY LEAK FIXES (HIGH):
- Static methods now properly close owned storage connections
- WASM cleanup on initialization failures
- Cache invalidation on dispose()
PERFORMANCE OPTIMIZATIONS:
- Single-transaction IndexedDB saves (atomic read-modify-write)
- Batch save API for bulk operations (saveBatch)
- Result caching for topoSort and criticalPath
- Lazy module loading in CLI for faster startup
OTHER IMPROVEMENTS:
- onblocked/onversionchange handlers for IndexedDB
- Background save error handler (onSaveError option)
- Comprehensive input validation with clear error messages
- Convert sync to async file operations in Node.js
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create npm/packages/rudag with TypeScript SDK
- WASM-accelerated DAG operations via ruvector-dag-wasm
- IndexedDB persistence for browser environments
- MemoryStorage fallback for Node.js
- CLI tool for DAG operations (rudag command)
- Restore patches/hnsw_rs for WASM builds
Features:
- DagOperator enum (SCAN, FILTER, PROJECT, JOIN, etc.)
- AttentionMechanism enum (TOPOLOGICAL, CRITICAL_PATH, UNIFORM)
- RuDag class with auto-save to IndexedDB
- BrowserDagManager for browser-specific management
- NodeDagManager with file-based persistence
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Brief section highlighting the self-learning query DAG with:
- Key benefits (automatic optimization, 50-80% latency reduction)
- Core features (7 attention mechanisms, SONA learning, MinCut control)
- Quick code example
- Link to full documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add user-friendly introduction explaining:
- What the library does in plain language
- Who should use it (use cases table)
- Key benefits with concrete examples
- Simple "how it works" diagram
Keeps all technical details intact while making the project
more accessible to newcomers.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add README.md to patches/ explaining the critical hnsw_rs patch
- Run cargo fmt on ruvector-postgres to fix formatting issues
The patches/hnsw_rs directory is REQUIRED for builds as it provides
a WASM-compatible version of hnsw_rs (using rand 0.8 instead of 0.9).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The benchmark workflow was failing because pgrx-pg-sys requires
PostgreSQL development headers. Added PostgreSQL 17 installation
and pgrx initialization to both the main benchmarks job and the
baseline comparison job.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove tests for PostgreSQL 14, 15, and 16 from CI workflows.
Only PostgreSQL 17 is now tested to simplify the CI matrix.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Adjusted command-failed metrics in patterns.json for better accuracy.
- Added new trajectories for failed commands and successful edits in trajectories.json.
- Refined hooks configuration in settings.json to streamline command execution.
- Enhanced documentation in CLAUDE.md and ruvector/README.md for self-learning hooks integration.
- Updated ruvector version to 0.1.38 and added publish script for ruvector-cli.
- Add pqcrypto-dilithium (v0.5) and pqcrypto-kyber (v0.8) as optional deps
- Update production-crypto feature to enable real PQ implementations
- ML-DSA-65: Uses Dilithium3 when production-crypto enabled
- ML-KEM-768: Uses Kyber768 when production-crypto enabled
- Update security_notice.rs with dynamic status based on feature flag
- Export check_crypto_security() from lib.rs for startup checks
- is_production_ready() returns true when feature enabled
Usage:
# Enable production post-quantum crypto
ruvector-dag = { version = "0.1", features = ["production-crypto"] }
# Check at startup
fn main() {
ruvector_dag::check_crypto_security();
}
SECURITY FIXES:
1. ML-DSA-65 (CRITICAL):
- BEFORE: verify() always returned true if signature non-zero
- BEFORE: sign() used trivially weak XOR with simple hash
- AFTER: Uses HMAC-SHA256 for basic integrity verification
- Added security warnings that this is NOT quantum-resistant
2. ML-KEM-768 (CRITICAL):
- BEFORE: encapsulate() ignored public key, just random bytes
- BEFORE: decapsulate() used simple XOR, trivially breakable
- AFTER: Uses HKDF-SHA256 for key derivation with proper binding
- Added ciphertext structure verification
3. Differential Privacy (MEDIUM):
- BEFORE: sample_laplace() could produce ln(0) → -infinity/NaN
- BEFORE: sample_gaussian() could produce ln(0) → -infinity/NaN
- AFTER: Clamp inputs to avoid ln(0) with f64::EPSILON
4. Added security_notice.rs module:
- Runtime security status checking
- Production readiness validation
- Comprehensive documentation of limitations
- `production-crypto` feature flag for when real impls are used
5. Test fixes (unrelated to security):
- Fixed test_validator_weight assertion logic
- Fixed test_stats to use initial_value=0
IMPORTANT: The placeholder crypto provides CLASSICAL security only.
For production use, integrate real ML-DSA/ML-KEM implementations.
See security_notice.rs for migration guide.
Added dependencies:
- sha2 = "0.10" for HMAC/HKDF implementations
All 76 tests pass.
Fixes across attention mechanisms, SONA engine, and examples:
Attention mechanisms:
- hierarchical_lorentz: Use dag.node_count(), dag.children() API
- parallel_branch: Replace get_children() with children()
- temporal_btsp: Fix node.estimated_cost access, remove selectivity
- cache: Use dag.node_ids() and dag.children() for iteration
- mincut_gated: Fix return type to match DagAttentionMechanism trait
- selector: Update tests to use OperatorNode::new()
SONA/QuDAG:
- sona/engine: Add deprecated Scan/Join match arms
- ml_kem: Fix unused parameter warnings
- ml_dsa: Fix unused parameter warnings
Examples:
- basic_usage: Use dag.children() instead of get_children()
- learning_workflow: Fix HnswScan/Sort field names, trajectory access
- attention_demo: Import DagAttentionMechanism trait
- attention_selection: Fix CausalConeConfig field names
- self_healing: Remove non-existent result fields
- federated_coherence: Add parentheses for comparison expression
Cargo.toml:
- Register all exotic examples with explicit paths
All 12 examples now build and run successfully.
Six examples demonstrating systems that respond to internal tension
rather than external commands. Intelligence as homeostasis.
1. synthetic_reflex_organism.rs (286 lines)
- No global objective function
- Minimizes structural stress over time
- Learns only when instability crosses thresholds
- "Intelligence as homeostasis, not problem-solving"
2. timing_synchronization.rs (334 lines)
- Machines that feel timing, not data
- Measures when things stop lining up
- Synchronizes with biological rhythms
- "You stop predicting intent. You synchronize with it."
3. coherence_safety.rs (442 lines)
- Capability degradation: Full → Reduced → Conservative → Minimal → Halted
- Self-halts when internal coherence drops
- "Safety becomes structural, not moral"
4. artificial_instincts.rs (406 lines)
- Biases enforced by mincut/attention/healing
- Avoid fragmentation, preserve causality, prefer reversibility
- "Closer to evolution than training"
5. living_simulation.rs (349 lines)
- Simulations that maintain stability under perturbation
- Exposes fragile boundaries, not forecasts
- "No longer modeling reality. Modeling fragility."
6. thought_integrity.rs (421 lines)
- Reasoning integrity monitored like voltage
- Reduce precision, exit early, route to simpler paths
- "Always-on intelligence without runaway cost"
Total: 2,238 lines of exotic coherence-sensing code
- 130KB raw, 58KB gzipped WASM binary
- 13-method API surface (add_node, add_edge, topo_sort, critical_path, attention)
- 3 attention mechanisms (topological, critical path, uniform)
- Binary and JSON serialization
- wee_alloc feature for even smaller builds
- TypeScript type definitions included
Also updates ruvector-dag README with:
- Design philosophy: MinCut as central control signal
- Policy layer for attention mechanism selection
- SONA state vector structure with per-operator LoRA weights
- Predictive healing based on rising cut tension
- External cost model trait for PostgreSQL/embedded/chip schedulers
- QuDAG sync frequency bounds (1min-1hr adaptive)
- End-to-end convergence example with logs