Commit graph

1606 commits

Author SHA1 Message Date
rUv
809b14ca9e fix: update pgrx to 0.12.9 in both CI workflows and fix formatting
- postgres-extension-ci.yml: bump cargo-pgrx 0.12.0→0.12.9 (4 locations)
- ruvector-postgres-ci.yml: bump PGRX_VERSION 0.12.6→0.12.9
- Run cargo fmt to reformat multi-attribute #![allow(...)] lines

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 22:34:37 +00:00
rUv
0304dcd7da fix: resolve all clippy warnings for ruvllm, ruvector-core, and sona
- Fix clippy -D warnings across 3 crates that blocked Code Quality CI
- ruvector-core: fix unused imports, or_insert_with→or_default, div_ceil,
  field_reassign_with_default, iterator patterns, abs_diff
- sona: fix unused imports, iterator patterns, range contains, unused
  fields, Default derives, factory struct init
- ruvllm: add crate-level allows for pervasive style lints, fix
  or_insert_with→or_default in 4 files, allow clippy::all in test files
- Change missing_docs from warn to allow in all 3 crates (116+ items)
- Bump cargo-pgrx from 0.12.0 to 0.12.9 in postgres-extension-ci.yml

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 22:05:19 +00:00
rUv
a964b140a7 fix: resolve CI compilation errors across ruvector-postgres, ruvllm, and sona
- ruvector-postgres: Add EdgeType import in mincut tests, remove
  incorrect Some() wrapping on pgrx default!() test params
- ruvllm: Make ane_ops module available on all platforms (not just macOS)
  so tests can reference it unconditionally; fix unused variable warnings
- sona: Add explicit lifetime annotations on RwLockReadGuard/WriteGuard
  to fix clippy mismatched_lifetime_syntaxes errors

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 21:24:43 +00:00
rUv
0dcbebc67c fix: resolve macOS clippy unreachable_code and Docker workspace layout
- Add #[allow(unreachable_code)] for NEON fallback in distance/mod.rs (ARM
  always returns before the Scalar fallback, causing clippy error on macOS)
- Restructure standalone Dockerfile to use workspace layout so dependency
  crates with workspace inheritance (edition.workspace, version.workspace)
  can resolve correctly during Docker builds

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 21:02:28 +00:00
rUv
161f890ddb fix: apply cargo fmt across workspace and fix CI issues
- Run cargo fmt --all to fix formatting in 362 files across the entire workspace
- Add PGDG repository for PostgreSQL 17 in CI test-all-features and benchmark jobs
- Add missing rvf dependency crates to standalone Dockerfile for domain-expansion
- Add sona-learning and domain-expansion features to standalone Dockerfile build
- Create npu.rs stub for ruvector-sparse-inference (fixes rustfmt resolution error)

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 20:56:38 +00:00
rUv
aa009dff83 style: cargo fmt on v0.3 module source files
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 20:50:06 +00:00
rUv
5712eb9269 docs: update READMEs with v0.3.0 capabilities
Update function counts (143 SQL functions, 46 attention mechanisms),
add v0.3.0 highlights section, document 6 new modules (Solver, Math,
TDA, Extended Attention, Sona, Domain Expansion), update Docker tags,
feature flags, and capabilities table (49 features).

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 20:46:05 +00:00
rUv
4d02cc2234 feat: add 43 new SQL functions in ruvector-postgres v0.3.0 (ADR-044)
Integrate 5 workspace crates (ruvector-solver, ruvector-math,
ruvector-attention, sona, ruvector-domain-expansion) as 6 feature-gated
modules exposing solver, math distances, TDA, extended attention, Sona
learning, and domain expansion — bringing total to 143 SQL functions.
Docker image verified with all functions passing.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 20:38:43 +00:00
rUv
884536be0b chore: bump Docker image labels to 2.0.4
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 19:00:44 +00:00
github-actions[bot]
304348049c chore: Update NAPI-RS binaries for all platforms
Built from commit 432ee5ea10

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

  🤖 Generated by GitHub Actions
2026-02-21 18:56:54 +00:00
github-actions[bot]
9b3cc5fe08 chore: Update NAPI-RS binaries for all platforms
Built from commit 05064f09b4

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

  🤖 Generated by GitHub Actions
2026-02-21 18:55:02 +00:00
rUv
432ee5ea10 chore: bump ruvector-postgres to 2.0.4 after SPARQL fixes (#180)
Published ruvector-postgres@2.0.4 to crates.io with SPARQL parser
backtrack fix, executor memory leak fix, and catch_unwind safety.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 18:52:06 +00:00
rUv
05064f09b4 Fix SPARQL parser backtrack, executor memory leak, and add catch_unwind (#180)
Fix SPARQL parser backtrack, executor memory leak, and add catch_unwind
2026-02-21 13:50:52 -05:00
github-actions[bot]
03a49d4af7 chore: Update NAPI-RS binaries for all platforms
Built from commit cbdc1e9afd

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

  🤖 Generated by GitHub Actions
2026-02-21 18:48:40 +00:00
rUv
cbdc1e9afd fix(security): harden intelligence providers — type-safe enums, input validation, file size limits
Security hardening for ADR-043 intelligence module:
- Replace String outcome/verdict with Outcome and HumanVerdict enums (type safety)
- Add MAX_SIGNAL_FILE_SIZE (10 MiB) and MAX_SIGNALS_PER_FILE (10,000) limits
- BufReader streaming parse instead of read_to_string (prevent double allocation)
- Validate quality_score range (finite, 0.0-1.0) on load
- NaN protection in calibration_bias()
- TypeScript: top-level imports, runtime validation, file size checks, score clamping
- Bump workspace to 2.0.4, @ruvector/ruvllm to 2.5.1
- Published ruvllm@2.0.4 to crates.io, @ruvector/ruvllm@2.5.1 to npm

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 18:29:33 +00:00
github-actions[bot]
d8dc6eaf32 chore: Update NAPI-RS binaries for all platforms
Built from commit e9295556e8

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

  🤖 Generated by GitHub Actions
2026-02-21 18:22:29 +00:00
rUv
e9295556e8 feat(npm): add intelligence module to @ruvector/ruvllm 2.5.0
TypeScript IntelligenceProvider, FileSignalProvider, and
IntelligenceLoader matching the Rust ADR-043 implementation.
Also fixes invalid category slug for ruvllm crate publish.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 18:16:48 +00:00
github-actions[bot]
645362c4ba chore: Update NAPI-RS binaries for all platforms
Built from commit 876c7c177a

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

  🤖 Generated by GitHub Actions
2026-02-21 18:07:56 +00:00
rUv
876c7c177a Merge pull request #193 from ruvnet/feat/adr-043-intelligence-providers
feat(intelligence): ADR-043 External Intelligence Providers
2026-02-21 13:03:33 -05:00
rUv
09a3739b08 feat(intelligence): ADR-043 External Intelligence Providers for SONA Learning
Implement trait-based IntelligenceProvider extension point for external
quality signals. Addresses PR #190 proposal (renumbered from ADR-029 to
avoid collision with existing ADR-029-rvf-canonical-format).

- IntelligenceProvider trait with load_signals() and quality_weights()
- FileSignalProvider built-in for JSON file-based signal exchange
- IntelligenceLoader for multi-provider registration and aggregation
- QualitySignal, QualityFactors, ProviderQualityWeights types
- calibration_bias() on TaskComplexityAnalyzer for router feedback
- 12 unit tests (all passing)

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 18:00:06 +00:00
github-actions[bot]
613d7fd1b8 chore: Update NAPI-RS binaries for all platforms
Built from commit 509d184e39

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

  🤖 Generated by GitHub Actions
2026-02-21 17:46:18 +00:00
rUv
509d184e39 feat(security): ADR-042 Security RVF v3.0 — 30 capabilities verified
feat(security): ADR-042 Security RVF — AIDefence + TEE hardened container
2026-02-21 12:42:02 -05:00
rUv
13cf7215b0 feat(security): Security Hardened RVF v3.0 — 30 capabilities verified
Upgrade from 22 to 30 capabilities exercising every major RVF API:
- KernelBinding anti-tamper (manifest_root + policy_hash binding)
- Dual WASM modules (Interpreter + Microkernel, self-bootstrapping)
- DASHBOARD_SEG embedded security monitoring UI
- Scalar quantization (int8, 4x compression) via rvf-quant
- Binary quantization (1-bit, 32x compression) + Hamming distance
- Filter deletion + compaction lifecycle
- QEMU requirements check via rvf-launch
- Freeze/seal permanent immutability
- Additional kernel flags: VIRTIO_NET, VSOCK, INGEST_API
- RvfOptions: signing=true, profile=3, m=32, ef_construction=400

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 17:39:58 +00:00
rUv
256875bef6 docs: add Security Hardened RVF to README and update ADR-042 to v2.0
- Add security_hardened.rvf entry to RVF Cognitive Containers section
- Add to examples table as top entry
- Link ADR-042 alongside ADR-030 and ADR-031
- Update capabilities table from 20 to 22 (COW branching, audited queries, exfil detection)

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 17:00:41 +00:00
rUv
0acf675c9d feat(security): add security_hardened.rvf to examples/ root
Copy the 2.1 MB sealed RVF artifact to examples/ for easier discovery.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 16:41:40 +00:00
rUv
23dead6330 feat(security): Security Hardened RVF v2.0 — One File To Rule Them All
Include the generated 2.1 MB .rvf binary artifact in repo alongside
the v2.0 optimized example (22 capabilities, zero warnings, Paranoid
policy, audited queries, COW branching, SSN/encoding detection).

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-21 16:31:43 +00:00
rUv
73cf7d13b6 feat(security): ADR-042 Security RVF — AIDefence + TEE hardened container
6-layer defense-in-depth in a single sealed RVF file:
  1. TEE attestation (SGX, SEV-SNP, TDX, ARM CCA) with bound keys
  2. Hardened Linux microkernel (16 security configs, REQUIRES_TEE)
  3. eBPF packet filter (XDP) + syscall enforcer (Seccomp)
  4. AIDefence WASM engine (injection, jailbreak, PII, behavioral)
  5. Ed25519 signing + SHAKE-256 content hashes + Paranoid policy
  6. 6-role RBAC + Coherence Gate authorization

20 capabilities verified, 10/10 AIDefence tests, 3/3 tamper rejections,
30-entry witness chain, 1000 threat signatures (512-dim), 3 tenant stores.

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

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

  🤖 Generated by GitHub Actions
2026-02-20 23:16:38 +00:00
rUv
691f12ce88 docs(ruvbot): add RVF microkernel docs, bump to 0.3.1
Add comprehensive RVF section to README covering segment layout,
build/run commands, boot output, supported hypervisors, and kernel
config. Add run:rvf and inspect:rvf npm scripts.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 23:12:08 +00:00
rUv
c1a6a78eab feat(ruvbot): add RVF runner with initramfs boot support
Adds run-rvf.js that extracts the kernel from KERNEL_SEG, builds a
minimal initramfs with a static init binary, and boots via QEMU.
Rebuilds kernel with CONFIG_BLK_DEV_INITRD for initramfs support.

Modes: --boot (QEMU), --runtime (Node.js), --inspect (manifest)

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 23:08:16 +00:00
github-actions[bot]
9f14df8952 chore: Update NAPI-RS binaries for all platforms
Built from commit 15880e728f

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

  🤖 Generated by GitHub Actions
2026-02-20 22:24:16 +00:00
github-actions[bot]
2141b92500 chore: Update NAPI-RS binaries for all platforms
Built from commit bb3bcb6623

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

  🤖 Generated by GitHub Actions
2026-02-20 22:22:58 +00:00
rUv
15880e728f chore(ruvbot): bump version to 0.3.0 for npm publish
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 22:19:48 +00:00
rUv
bb3bcb6623 Merge pull request #189 from ruvnet/fix/ruvbot-startup-and-rvdna-binaries
feat(ruvbot): self-contained RVF with real Linux 6.6 kernel + API server fix
2026-02-20 17:18:22 -05:00
rUv
bf089cbf73 feat(ruvbot): package as self-contained RVF with real Linux 6.6 kernel
- Build real Linux 6.6.80 bzImage with tinyconfig+virtio+net (1.5 MB)
- Create build-rvf.js that assembles self-contained RVF binary:
  KERNEL_SEG: gzip-compressed Linux 6.6.80 bzImage (MicroLinux, x86_64)
  WASM_SEG: Full RuvBot Node.js runtime bundle (2.2 MB)
  META_SEG: Package metadata with capabilities
  PROFILE_SEG: AI assistant domain profile
  WITNESS_SEG: Build provenance chain
  MANIFEST_SEG: Segment directory
- Include kernel/bzImage and ruvbot.rvf in npm distribution
- Add build:rvf script to package.json
- Total RVF: 3.67 MB, bootable with Firecracker/QEMU/Cloud Hypervisor

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 22:03:47 +00:00
rUv
5183d8c720 fix(ruvbot): fix TypeScript error in /api/chat endpoint (#146)
The chat() method signature is (sessionId, content, options?) but the API
handler was passing (sessionId, agentId, message), causing TS2559. Fix by
creating a session from agentId first, then calling chat(sessionId, message).

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 21:51:54 +00:00
github-actions[bot]
217b45d894 chore: Update NAPI-RS binaries for all platforms
Built from commit ec1228ad35

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

  🤖 Generated by GitHub Actions
2026-02-20 21:43:38 +00:00
rUv
ec1228ad35 Merge pull request #188 from ruvnet/fix/open-issues-review
fix(rvlite): macOS linking bug — platform-specific errno
2026-02-20 16:39:15 -05:00
rUv
7c5acceda5 fix(rvlite): use platform-specific errno on macOS/BSD (fixes #174)
rvlite's writer_lease.rs used __errno_location (Linux libc) under a
generic #[cfg(unix)] guard, causing link failures on macOS where the
equivalent is __error. Split the extern and wrapper into separate
#[cfg(target_os)] blocks matching the pattern already used in
rvf-runtime/src/locking.rs.

Closes #174

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 21:38:48 +00:00
github-actions[bot]
b720b380f7 chore: Update NAPI-RS binaries for all platforms
Built from commit 3aafab784f

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

  🤖 Generated by GitHub Actions
2026-02-20 21:04:51 +00:00
github-actions[bot]
21b67e5851 chore: Update NAPI-RS binaries for all platforms
Built from commit 3c7af64498

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

  🤖 Generated by GitHub Actions
2026-02-20 21:03:14 +00:00
rUv
3aafab784f fix(ruvector-postgres): bump to v2.0.3 for HNSW/IVFFlat crash fixes
Merges PR #181 fixes:
- SIGSEGV on repeated queries (xs_orderbyvals allocation)
- Bidirectional HNSW connections with pruning
- Correct distance metric from operator class
- Sorted result ordering (into_sorted_vec)
- xs_recheckorderby=false for PG17
- Null-safe endscan (use-after-free fix)
- Bounds checks for page boundary reads
- Non-kNN scan fallback (COUNT/WHERE IS NOT NULL)
- Dimension extraction from atttypmod

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 21:00:39 +00:00
rUv
3c7af64498 Merge origin/main into fix/hnsw-index-crashes
Resolve conflicts in hnsw_am.rs:
- Keep metric_from_index() (PR Fix #3) AND dimension extraction from atttypmod (main)
- Use atttypmod dimensions to initialize meta.dimensions instead of 0
- Combine sorted result comments from both branches

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 20:58:09 +00:00
github-actions[bot]
af0a7622fe chore: Update NAPI-RS binaries for all platforms
Built from commit e3c95b6ca5

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

  🤖 Generated by GitHub Actions
2026-02-20 20:49:05 +00:00
github-actions[bot]
0ae034b8c3 chore: Update NAPI-RS binaries for all platforms
Built from commit 9641c470e9

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

  🤖 Generated by GitHub Actions
2026-02-20 20:45:56 +00:00
rUv
e3c95b6ca5 feat(npm/rvdna): add 23andMe genotyping API v0.2.0
Adds pure-JS 23andMe genotyping pipeline mirroring the Rust rvdna::genotyping:
- parse23andMe(): v4/v5 parser with genotype normalization + build detection
- callCyp2d6() / callCyp2c19(): confidence-gated diplotype calling
- determineApoe(): APOE genotype from rs429358 + rs7412
- analyze23andMe(): full pipeline in one call
- TypeScript declarations for all new types and functions

Published as @ruvector/rvdna v0.2.0 on npm.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 20:43:29 +00:00
rUv
9641c470e9 feat(rvdna): native 23andMe genotyping pipeline v0.2.0
Replaces the Python rvdna-bridge with a pure Rust implementation:
- 7-stage pipeline: parse, QC, classification, pharma, health, compound, report
- CYP2D6/CYP2C19 diplotype calling with confidence gating (Strong/Moderate/Weak/Unsupported)
- 17 health variant interpretations (APOE, BRCA1/2, TP53, MTHFR, COMT, OPRM1, etc.)
- Genotype normalization (case/strand insensitive, allele-sorted)
- CPIC drug recommendations gated on Moderate+ confidence
- Panel QC signatures with het rate metrics
- MTHFR compound analysis and pain sensitivity profiling
- 91 tests passing (79 lib + 12 security)

Published as rvdna v0.2.0 on crates.io.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 20:40:51 +00:00
github-actions[bot]
3fe6166b3e chore: Update NAPI-RS binaries for all platforms
Built from commit a3b528a4f8

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

  🤖 Generated by GitHub Actions
2026-02-20 20:14:06 +00:00
rUv
a3b528a4f8 perf(rvf-solver): remove duplicate WASM, optimize tarball 48% smaller
- Remove rvf_solver_wasm.wasm (172 KB) — dead weight, glue only loads
  rvf_solver_bg.wasm
- Run wasm-opt -Oz on primary binary (negligible savings, already optimized)
- Add .npmignore to exclude src/, tsconfig, .gitignore
- Remove .gitkeep from pkg/

Tarball: 137.5 KB → 71.5 KB (48% reduction)
Published as @ruvector/rvf-solver v0.1.7

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 20:09:49 +00:00
rUv
b438aa04c3 fix(rvf-solver): fix WASM path resolution in CJS→ESM interop
The glue code (pkg/rvf_solver.js) used `import.meta.url` which caused
Node.js v22 to detect the file as ESM, making `module.exports` a no-op
and `__dirname` unavailable. This broke the WASM path resolution for
all consumers using `require('@ruvector/rvf-solver')`.

Fix: Rewrite glue as pure CJS — use `require('node:fs')` and
`__dirname` instead of dynamic `import()` and `import.meta.url`.
Verified: create → train → destroy works end-to-end.

Published as @ruvector/rvf-solver v0.1.6

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 20:09:49 +00:00