Commit graph

1677 commits

Author SHA1 Message Date
github-actions[bot]
3dbc2e7b14 chore: Update GNN NAPI-RS binaries for all platforms
Built from commit 0755af2528

Platforms updated:
- linux-x64-gnu
- linux-x64-musl
- linux-arm64-gnu
- linux-arm64-musl
- darwin-x64
- darwin-arm64
- win32-x64-msvc

Generated by GitHub Actions
2026-02-25 14:39:59 +00:00
github-actions[bot]
fd721f5065 chore: Update graph transformer NAPI-RS binaries for all platforms
Built from commit 0755af2528

Platforms updated:
- linux-x64-gnu
- linux-x64-musl
- linux-arm64-gnu
- linux-arm64-musl
- darwin-x64
- darwin-arm64
- win32-x64-msvc
- wasm

Generated by GitHub Actions
2026-02-25 14:39:14 +00:00
rUv
d9d3dfac57 chore: bump ruvector npm package to v0.1.100
Published with security hardening fixes for MCP servers.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-25 14:36:27 +00:00
rUv
b202f72820 Merge pull request #213 from ruvnet/fix/mcp-server-security-audit
fix: harden MCP servers against injection and CORS bypass
2026-02-25 09:35:22 -05:00
rUv
0755af2528 fix: use git add -f in CI workflows to commit .node binaries past .gitignore
All build workflows now force-add native binaries so .gitignore's *.node
rule doesn't silently skip them. Also adds missing commit-binaries job to
build-gnn.yml (fixes #195).

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-25 14:35:14 +00:00
rUv
a9890ce5be fix: harden MCP servers against command injection, CORS bypass, and prototype pollution
- Sanitize shell arguments in hooks_init, hooks_pretrain, hooks_build_agents,
  and workers_status handlers to prevent OS command injection (CWE-78)
- Strengthen sanitizeShellArg to also strip quotes, newlines, and backslashes
- Add sanitizeNumericArg helper for numeric-typed arguments
- Improve validateRvfPath with symlink resolution (realpathSync) and cwd confinement
- Add schema validation and prototype pollution guard to hooks_import handler
- Replace permissive CORS (CorsLayer::permissive) with localhost-only origin
  policy in Rust SSE transport

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-25 14:34:45 +00:00
github-actions[bot]
95f82ca473 chore: Update NAPI-RS binaries for all platforms
Built from commit 827e456af1

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-02-25 14:34:00 +00:00
github-actions[bot]
d44f185d98 chore: Update graph transformer NAPI-RS binaries for all platforms
Built from commit 827e456af1

Platforms updated:
- linux-x64-gnu
- linux-x64-musl
- linux-arm64-gnu
- linux-arm64-musl
- darwin-x64
- darwin-arm64
- win32-x64-msvc
- wasm

Generated by GitHub Actions
2026-02-25 14:32:26 +00:00
rUv
827e456af1 feat: proof-gated graph transformer with 8 verified modules (#212)
feat: proof-gated graph transformer with 8 verified modules
2026-02-25 09:28:28 -05:00
rUv
4b79444bf5 feat: proof-gated graph transformer with 8 verified modules
Add ruvector-graph-transformer crate with 8 feature-gated modules,
each backed by an Architecture Decision Record (ADR-046 through ADR-055):

- Proof-gated mutation: ProofGate<T>, MutationLedger, ProofScope, EpochBoundary
- Sublinear attention: O(n log n) via LSH buckets, PPR sampling, spectral sparsification
- Physics-informed: Hamiltonian dynamics, gauge equivariant MP, Lagrangian attention
- Biological: Spiking networks, Hebbian/STDP learning, dendritic branching
- Self-organizing: Morphogenetic fields, developmental programs, graph coarsening
- Verified training: Certificates, delta-apply rollback, fail-closed invariants
- Manifold: Product manifolds S^n x H^m x R^k, Riemannian Adam, Lie groups
- Temporal-causal: Causal masking, Granger causality, continuous-time ODE
- Economic: Nash equilibrium attention, Shapley attribution, incentive-aligned MPNN

Includes:
- 186 tests (163 unit + 23 integration), all passing
- WASM bindings (ruvector-graph-transformer-wasm) - published to crates.io
- Node.js NAPI-RS bindings (@ruvector/graph-transformer) - published to npm
- CI workflow for cross-platform binary builds (7 platforms)
- 10 ADRs (046-055) + 22 research documents
- Fix for #195: add commit-binaries job to build-gnn.yml
- Updated root README with graph transformer section

Published:
- crates.io: ruvector-graph-transformer v2.0.4
- crates.io: ruvector-graph-transformer-wasm v2.0.4
- npm: @ruvector/graph-transformer v2.0.4
- npm: @ruvector/graph-transformer-linux-x64-gnu v2.0.4

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-25 14:24:53 +00:00
github-actions[bot]
47c1938bc0 chore: Update NAPI-RS binaries for all platforms
Built from commit 928d18afce

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-02-25 13:39:47 +00:00
rUv
928d18afce Merge pull request #211 from ruvnet/fix/cwe-22-path-traversal-207
fix(security): CWE-22 path traversal in MCP server
2026-02-25 08:32:49 -05:00
rUv
71769aaa39 fix(security): path traversal in MCP server vector_db_backup (CWE-22)
Add path validation to all MCP tools that accept user-supplied file paths,
preventing arbitrary file read/write via directory traversal.

Vulnerable functions patched:
- tool_backup: db_path and backup_path now validated
- tool_create_db: params.path now validated
- get_or_open_db: path now validated

Implementation:
- validate_path() canonicalizes paths and checks they resolve within
  the configured data_dir (defaults to cwd)
- Configurable via mcp.data_dir in config or RUVECTOR_MCP_DATA_DIR env
- Rejects absolute paths outside data_dir, ../traversal, and symlink escapes
- 8 unit tests covering all POC attack vectors from the report

CVSS 3.1: 9.1 (Critical) → Mitigated
Closes #207

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-25 13:32:21 +00:00
github-actions[bot]
ba7d99eb20 chore: Update NAPI-RS binaries for all platforms
Built from commit f5f6fb6f06

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-02-25 12:54:44 +00:00
github-actions[bot]
5d8e67bed0 chore: Update NAPI-RS binaries for all platforms
Built from commit bf3a26b7b3

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-02-25 12:53:30 +00:00
github-actions[bot]
f965484b1d chore: Update NAPI-RS binaries for all platforms
Built from commit 49d4a9c9d9

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-02-25 12:47:49 +00:00
github-actions[bot]
6f356f2e22 chore: Update NAPI-RS binaries for all platforms
Built from commit 5a2c63556d

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-02-25 12:42:40 +00:00
rUv
49d4a9c9d9 fix: use explicit triple targets to avoid napi-rs duplicate errors
Set defaults: false and explicitly list all 7 build targets to prevent
"Duplicate targets" errors from napi-rs defaults overlap.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-25 12:42:29 +00:00
github-actions[bot]
8261308a18 chore: Update NAPI-RS binaries for all platforms
Built from commit d8e46c118a

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-02-25 12:41:55 +00:00
rUv
f5f6fb6f06 fix: enable auto-publish on push to main for GNN packages
Allows platform packages to publish automatically when builds succeed
on main, not just on manual workflow_dispatch or tag pushes.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-25 12:40:22 +00:00
rUv
bf3a26b7b3 fix: use correct -p flag for napi build package scoping
napi build uses -p directly, not --cargo-flags="-p ...".

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-25 12:39:46 +00:00
rUv
5a2c63556d fix: upgrade Node.js to 20 in GNN build workflow
@napi-rs/cli requires Node.js >= 20 (uses node:util.styleText).
Fixes the "does not provide an export named 'styleText'" error.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-25 12:38:32 +00:00
rUv
d8e46c118a Merge pull request #210 from ruvnet/fix/gnn-darwin-arm64-binary-195
fix: include prebuilt binaries in @ruvector/gnn platform packages
2026-02-25 07:36:56 -05:00
rUv
c15a700b00 fix: include prebuilt binaries in @ruvector/gnn platform packages (#195)
The darwin-arm64 (and other non-linux) platform packages were published
with only package.json and no .node binary. Root cause: napi build
compiled all workspace cdylib crates instead of just ruvector-gnn-node,
causing macOS CI runners to fail.

Fixes:
- Add --cargo-flags="-p ruvector-gnn-node" to scope napi build
- Install @napi-rs/cli globally (matches working attention workflow)
- Add linux-x64-musl and linux-arm64-musl to build matrix
- Add binary existence verification before npm publish
- Bump to v0.1.24 for all platform packages

Closes #195

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-25 12:36:03 +00:00
github-actions[bot]
d022ef54ec chore: Update NAPI-RS binaries for all platforms
Built from commit 5b36d7df9e

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-02-25 03:51:00 +00:00
rUv
5b36d7df9e feat: formal verification with lean-agentic dependent types (#206)
feat: formal verification with lean-agentic dependent types
2026-02-24 22:46:02 -05:00
rUv
45eaff391a feat: add formal verification layer with lean-agentic dependent types
Introduces ruvector-verified and ruvector-verified-wasm crates providing
proof-carrying vector operations with sub-microsecond overhead. Includes
ADR-045, 10 exotic application examples (weapons filter, medical diagnostics,
financial routing, agent contracts, sensor swarm, quantization proof,
verified memory, vector signatures, simulation integrity, legal forensics),
rvf-kernel-optimized example, CI workflow, and root README integration.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-25 03:45:18 +00:00
github-actions[bot]
d1bcb58da5 chore: Update NAPI-RS binaries for all platforms
Built from commit 03c899e120

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-02-23 16:24:28 +00:00
rUv
03c899e120 Merge pull request #202 from ruvnet/chore/update-build-artifacts
chore: update npm build artifacts
2026-02-23 11:07:45 -05:00
rUv
d262027f24 chore: update npm build artifacts for ruvbot, cognitum-gate-wasm, ospipe, raft, replication, ruvector-wasm-unified, ruvllm, rvf, and other packages
Compiled TypeScript outputs (.d.ts, .js, .js.map, .d.ts.map) from
npm workspace builds.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-23 16:07:05 +00:00
github-actions[bot]
d64010c130 chore: Update NAPI-RS binaries for all platforms
Built from commit 668c873efb

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-02-23 13:34:57 +00:00
rUv
668c873efb fix: migrate attention/dag/tiny-dancer to workspace versioning and fix all dep version specs
- ruvector-attention: 0.1.32 → version.workspace = true (2.0.4)
- ruvector-attention-wasm: 0.1.32 → workspace, dep 0.1.31 → 2.0
- ruvector-attention-node: 0.1.0 → workspace, dep already 2.0
- ruvector-dag: 0.1.0 → workspace, add version spec on ruvector-core dep
- ruvector-gnn-wasm: fix malformed Cargo.toml (metadata before version), add version spec
- ruvector-attention-unified-wasm: add version specs, fix category slug
- Update all consumers: ruvector-crv, ruvllm, ruvector-postgres, prime-radiant, rvdna, OSpipe

Published to crates.io:
  ruvector-attention@2.0.4, ruvector-dag@2.0.4, ruvector-tiny-dancer-core@2.0.4,
  ruvector-attention-wasm@2.0.4, ruvector-attention-node@2.0.4,
  ruvector-gnn-wasm@2.0.4, ruvector-gnn-node@2.0.4,
  ruvector-tiny-dancer-wasm@2.0.4, ruvector-tiny-dancer-node@2.0.4,
  ruvector-router-wasm@2.0.4, ruvector-router-ffi@2.0.4, ruvector-router-cli@2.0.4,
  ruvector-attention-unified-wasm@0.1.0

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-23 13:29:46 +00:00
rUv
e70345b0ab Merge PR #201: WASM cognitive stack with canonical min-cut, spectral coherence, and container orchestration
docs: add WASM integration research series (6 documents, 3465 lines)
2026-02-22 22:21:21 -05:00
rUv
2481b1e042 fix: add version specs to path dependencies for crates.io publishing
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-23 03:14:45 +00:00
rUv
5409bdd67f fix: add version spec to ruvector-snapshot path dependency
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-23 03:10:49 +00:00
rUv
058b32db0d fix: resolve build errors and prepare crates for publishing
- Add missing `active_pos` vec in canonical min-cut Stoer-Wagner impl
- Bump cognitum-gate-kernel to 0.1.1 for new canonical_witness module
- Fix cognitum-gate-kernel ruvector-mincut dep version (0.1.30 → 2.0)
- Add version specs to mincut-wasm and mincut-node path dependencies
- Add README and metadata to ruvector-cognitive-container for crates.io
- Relax bench thresholds for CI/debug-mode environments

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-23 03:04:26 +00:00
Claude
674d15235a chore: add cactus graph debug info to bench output
https://claude.ai/code/session_018QKTLyCUrMUQCRDqoiyEHY
2026-02-23 02:16:54 +00:00
Claude
9bacfd2415 chore: remove unsafe indexing in canonical min-cut, add bench dependencies
- Replace unsafe get_unchecked with safe bounds-checked indexing in
  Stoer-Wagner hot loop (no measurable perf impact, safer code)
- Remove unused imports (Ordering, BinaryHeap)
- Add cognitive stack crate dependencies to ruvector-bench
- Add cross-crate benchmark test for full stack

https://claude.ai/code/session_018QKTLyCUrMUQCRDqoiyEHY
2026-02-23 02:04:52 +00:00
Claude
926f0cd643 perf: optimize spectral coherence 10x and add benchmarks for cognitive stack
Spectral coherence optimizations (50ms → 5ms for 500 vertices):
- Reduce Fiedler outer iterations from 50 to 8
- Reduce inner CG iterations from 100 to 15
- Reduce effective resistance samples from 50 to 3
- Reduce resistance CG iterations from 100 to 10
- Reduce power iteration for largest eigenvalue from 50 to 10

Canonical min-cut optimizations:
- Replace O(n) Vec::contains with O(1) HashSet lookups in partition membership
- Build partition_sets once, reuse across all vertex signature computation
- Use HashMap<u16,usize> for O(1) cactus vertex lookup instead of linear scan
- Track active count explicitly instead of recounting each phase
- Use std::mem::take to avoid clone during merge

New benchmark tests for all 4 cognitive stack modules:
- canonical_bench: CactusGraph 30v = ~1ms native (ArenaCactus 64v = 3µs WASM)
- spectral_bench: SCS 500v = ~5ms (10x improvement from 50ms)
- container_bench: 100 ticks = 9µs avg (target: <200µs)
- canonical_witness_bench: 64v witness = 3µs (target: <50µs)

https://claude.ai/code/session_018QKTLyCUrMUQCRDqoiyEHY
2026-02-23 01:55:25 +00:00
Claude
418200481a feat: complete cognitive container with main orchestration module
- ruvector-cognitive-container: container.rs with CognitiveContainer,
  tick-based execution (ingest/mincut/spectral/evidence/witness phases),
  Delta processing, simplified Stoer-Wagner min-cut, spectral scoring,
  evidence accumulation, snapshot/restore (539 lines)
- ruvector-cognitive-container: lib.rs wiring all modules together
- Workspace Cargo.toml updated with new crate member
- ruvector-coherence: spectral module refinements

https://claude.ai/code/session_018QKTLyCUrMUQCRDqoiyEHY
2026-02-23 00:03:20 +00:00
Claude
2a621440c5 feat: implement canonical witness fragments, tests, and lib.rs wiring
- cognitum-gate-kernel: canonical_witness module with no_std ArenaCactus,
  FixedPointWeight, CanonicalPartition (bitset-based), CanonicalWitnessFragment,
  FNV-1a hashing, BFS spanning tree for cactus construction (912 lines)
- ruvector-mincut: canonical tests for determinism, correctness, fixed-weight
  ordering, cactus construction, witness receipts (548 lines)
- ruvector-mincut: wire canonical module into lib.rs with feature-gated
  re-exports and prelude additions
- ruvector-coherence: spectral module refinements

https://claude.ai/code/session_018QKTLyCUrMUQCRDqoiyEHY
2026-02-23 00:00:55 +00:00
Claude
55ec5458af feat: implement cold-tier GNN training and container witness chain
- ruvector-gnn: cold_tier module with FeatureStorage (block-aligned I/O),
  HyperbatchIterator (BFS-ordered batches with prefetching),
  AdaptiveHotset (frequency-based caching with decay), ColdTierTrainer,
  and ColdTierEwc for disk-backed Fisher information (946 lines)
- ruvector-cognitive-container: witness chain with ContainerWitnessReceipt,
  hash-linked chain integrity, CoherenceDecision, VerificationResult,
  deterministic hashing (404 lines)

https://claude.ai/code/session_018QKTLyCUrMUQCRDqoiyEHY
2026-02-22 23:59:31 +00:00
Claude
943342190c feat: implement canonical min-cut, spectral coherence, and container foundations
- ruvector-mincut: canonical module with CactusGraph, CanonicalMinCut trait,
  FixedWeight, WitnessReceipt, pseudo-deterministic cut via cactus representation
  and lexicographic tie-breaking (1168 lines)
- ruvector-coherence: spectral module with CsrMatrixView, SpectralCoherenceScore,
  SpectralTracker, Fiedler estimation via inverse power method, effective resistance
  sampling, HNSW health monitoring (883 lines)
- ruvector-cognitive-container: epoch controller with phase budgeting, memory slab
  with arena allocation, error types (536 lines)

https://claude.ai/code/session_018QKTLyCUrMUQCRDqoiyEHY
2026-02-22 23:58:43 +00:00
Claude
cc5d88a452 feat: add feature flags and scaffolding for WASM cognitive stack
Add canonical, spectral, cold-tier, and canonical-witness feature flags
across ruvector-mincut, ruvector-coherence, ruvector-gnn, and
cognitum-gate-kernel. Create ruvector-cognitive-container crate skeleton.

Implementation agents are building the full modules in parallel.

https://claude.ai/code/session_018QKTLyCUrMUQCRDqoiyEHY
2026-02-22 23:57:28 +00:00
Claude
62738d81ed docs: add WASM integration research series (6 documents, 3465 lines)
Comprehensive research on algorithmic frontiers and crate synthesis for
RuVector's WASM cognitive stack. Covers pseudo-deterministic min-cut,
sublinear spectral solvers, storage-based GNN acceleration, WASM
microkernel architecture, and cross-stack integration strategy with
16-week phased roadmap.

https://claude.ai/code/session_018QKTLyCUrMUQCRDqoiyEHY
2026-02-22 21:18:46 +00:00
github-actions[bot]
d17de74df8 chore: Update NAPI-RS binaries for all platforms
Built from commit 5a52d5f48d

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-02-22 17:56:40 +00:00
rUv
5a52d5f48d Merge pull request #200 from ruvnet/fix/rvf-string-id-mapping
fix(rvf): add string ID mapping to NodeBackend — silent data loss
2026-02-22 12:52:25 -05:00
rUv
0649333772 fix(rvf): add string ID ↔ numeric label mapping to NodeBackend
NodeBackend.ingestBatch() passed string IDs directly to the N-API layer
via Number(e.id), which returns NaN for non-numeric strings (UUIDs, hex
hashes, etc.). The native Rust HNSW silently drops entries with NaN IDs,
causing silent data loss with no error signal.

Fix: Add a bidirectional string↔numeric mapping layer to NodeBackend,
following the same pattern used by HNSWLibBackend in AgentDB:
- resolveLabel(): allocates sequential i64 labels for string IDs
- query(): maps numeric labels back to original string IDs
- delete(): resolves string IDs to labels before calling native layer
- Mappings persisted to {path}.idmap.json sidecar file

Also fixes query() returning numeric labels instead of original string
IDs, and delete() silently failing for non-numeric IDs.

Bumps @ruvector/rvf from 0.1.9 → 0.2.0 (breaking fix).

Closes ruvnet/agentic-flow#114

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-22 17:51:44 +00:00
github-actions[bot]
7a898aeaba chore: Update NAPI-RS binaries for all platforms
Built from commit 3d038d6d26

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-02-22 16:11:54 +00:00
rUv
3d038d6d26 fix: correct SNP count from 17 to 20 in README
The biomarker engine uses 20 SNPs (17 original + LPA rs10455872/rs3798220
+ PCSK9 rs11591147) but README was not updated to reflect the expansion.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-22 16:07:39 +00:00