mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-08-22 23:23:46 +00:00
* chore: gitignore Hailo venvs, .ruvnet-brain scratch dirs, coverage output Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * docs: rvForge ADRs 283-293 + canonical requirements (ADR-283 master, RVM integration 284-293) One canonical RVF to signed platform installers: @ruvector/forge CLI, hosted build service, Tauri RVF Reader, rvm-* backend crates. Derived from the rvForge product directive; requirements.md is the source of truth for the feat/rvf-forge build-out. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * docs: RVForge platform spec (Store/Reader/Publisher/Registry/Enterprise) + naming Adopt RVForge capitalization; publisher CLI is @ruvector/rvforge. Adds marketplace objects, trust levels, review pipeline, security/ countersigning model, licensing, enterprise governance, and platform acceptance test to the canonical requirements. Seeds loop-state.md for the overnight build loop. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * docs: ADR-294 — RVForge platform (store, registry, trust system) Five products (Store/Reader/Publisher/Registry/Enterprise), immutable predecessor-linked releases, four trust levels, review pipeline, countersigning + revocation semantics, licensing, enterprise override. Documents the @ruvector/rvforge naming supersession. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 2 — forge-core crate agent spawned Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * docs: RVForge registry data model v0.1 (content-addressed, predecessor-linked) Wire-format contract for publisher CLI, Reader, and registry: canonical JSON identity rules, Release/PublisherRecord/CapabilityManifest/ WitnessReceipt/Revocation/TransparencyLogEntry objects, local storage layout. Revocation blocks execution, never deletes local RVFs (ADR-294). Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * ci: RVForge 3-OS build matrix for CLI package and rvf-forge-core crate Path-filtered workflow: npm install/build/test for the CLI on ubuntu/windows/macos, cargo test + clippy -D warnings + fmt check for the crate. Tolerates the pending forge->rvforge package rename and skips gracefully while directories are still landing. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * docs: ADR-291 compatibility matrix v1; reader scaffold in flight Machine-readable runtime-profile/packaging/output matrix the CLI vendors; wasm and os-isolation+wasm supported, microvm and rvm-native planned with explicit isolation claims per ADR-285. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * feat(rvforge): @ruvector/rvforge CLI — validate/build/verify with local RVF inspection Publisher/build CLI per ADR-283 §4: init, validate (local, inspection- only, never executes RVF content), build (local mode: canonical build manifest + staged bundle + checksums + provenance), submit/status/ download (hosted API client, FORGE_API_URL), verify (checksum + prove- nance recheck). Stable FORGE_E_* error codes, --json unattended mode, 73 jest tests green across 5 suites with synthetic RVF fixture. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state — CLI step 1 complete Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * ci: install rvforge CLI standalone (--workspaces=false) Plain npm install inside npm/packages/rvforge resolves the parent npm workspace and fails EBADPLATFORM on platform-pinned siblings (router-darwin-arm64 on linux runners). Verified clean install + 73 tests green locally with the flag. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 6 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * feat(rvf-forge-core): inspection-only RVF packaging/verification crate Per ADR-283/290/291: container inspection without execution, Ed25519 root-manifest + per-segment hash verification with unsigned-executable- segment rejection, deterministic canonical build manifest (ADR-291 contract fields), provenance records, SHA256 checksum manifests, stable wire error codes mirroring the CLI. 103 unit tests + integration pipeline test, clippy -D warnings and fmt clean. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state — core crate step 2 complete Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 7 — packaging+witness agent spawned Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * docs: RVForge Agent Dock spec (D1-D8) — security/control surface Collapsed pill + expanded trust view, 8 agent states, RVForge-owned chrome vs agent content separation (spoofing defense), per-platform placement, capability card, event-threshold noise control, 5s/2-action termination acceptance test. ADR-295 in flight; dock implementation queued behind reader scaffold in loop plan. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state — scope widened to full ADR-283..295 implementation Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * feat(rvforge-reader): Tauri v2 Reader scaffold + ADR-295 Agent Dock spec Reader (standalone workspace, excluded from root): verify/capability- card/runtime screens as framework-free static UI, runtime selection implementing the FR004 ladder from the vendored compatibility matrix, P6 capability contract rendering with vague-scope rejection, ADR-288 state-capsule layout (encryption stubbed, marked), inspect stubbed pending rvf-forge-core FFI. 39 tests green, cargo check clean, parent workspace unaffected. ADR-295: dock chrome RVForge-owned, agent content strictly separated. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state — reader scaffold + ADR-295 landed Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 10 — dock-impl spawned Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 11 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * feat(rvforge): embedded/thin packaging, compat enforcement, inventory, witness chains FR001/FR002: embedded mode with cross-target identical-RVF-hash invariant (build fails on divergence), thin-mode signed locators with round-trip verification. ADR-291 compat-matrix enforcement with closest-supported suggestions. Deterministic software inventory (§3.9). Hash-chained witness receipts (receipts.jsonl) on build/verify with broken-chain detection. 137 jest tests green across 9 suites. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state — steps 6+7 CLI side complete Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 13 — publisher-verbs spawned Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 14 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * feat(rvforge-registry): content-addressed local registry with transparency log ADR-294 MVP: canonical-JSON content addressing (id excludes signatures), typed registry objects, ed25519 release-publish rules (bad-sig/revoked- key/lineage violations typed), trust levels raisable only by registry signature, non-destructive revocation (blocks execution, reads preserved — tested), Merkle transparency log with inclusion proofs + tamper detection, witness receipt chains on publish/revoke/verify. Reuses rvf-forge-core canonical/error patterns. 67 tests, clippy+fmt clean. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state — registry crate landed (P2-impl, P4) Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * feat(rvforge-reader): ADR-295 Agent Dock — typed trust boundary, states, roster Trust boundary enforced structurally: AgentProvidedStatus (sanitized task text + progress only) composed separately from SystemOwnedStatus (state, trust badge, network, permissions, witness, cost) — agent input cannot reach system fields by construction. Sanitizer strips ANSI/ control chars, caps length, flags system-label mimicry as suspicious. 8-state machine (pause/terminate always one action; quarantine/ capability-denied not agent-exitable), attention-priority roster (approval > denial > error > running), D8 event thresholds, pill + expanded UI with visually distinct system chrome. 90 reader tests green. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state — Agent Dock implemented (P5) Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * docs: ADR status updates — 291/295 Implemented, 283/294 Accepted-in-progress Living-plans sync: statuses now reflect what is actually on the branch, with Updated notes naming landed scope and remaining gaps. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 17 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * ci: cover rvforge-registry and rvforge-reader in the RVForge matrix Registry tests/clippy/fmt ride the existing core job; the reader gets its own 3-OS job run inside its standalone workspace directory. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 18 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * docs: acceptance traceability matrix — merge gate for PR #790 Maps every §15/platform/dock criterion to automated evidence or a named DEFERRED blocker (clean-OS installs, notarization, cross-repo rvm runtime). Merge gates on green AUTOMATED rows across 3 OSes. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 19 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * feat(rvforge): publisher verbs pack/test/publish with local registry pack: P4 validation (structure, capability specificity with ADR-294 manual-review-trigger flagging, compat, inventory, license), draft Release + CapabilityManifest objects. test: inspection-only subset of the 10 P4 categories with honest 'skipped: requires quarantined runtime' for execution-dependent ones; tampered variants rejected. publish: ed25519-signed content-addressed writes to the registry-model layout (predecessor lineage, transparency log, witness receipt); keygen via node:crypto; key files never logged, world-readable keys refused. 220 jest tests green across 13 suites. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state — publisher verbs landed (P1) Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 21 — parity-check spawned Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * feat(rvforge-reader): real rvf-forge-core verification + encrypted state capsules Inspect/verify now call rvf-forge-core (inspection-only, verification before any load, witness record per verification appended to the state dir per ADR-284 req 9); capability card derives from real declared capabilities and refuses to render unverified; state capsules encrypted (ChaCha20-Poly1305, per-install key, 0600 perms) with base-RVF lineage binding and mismatch rejection per ADR-288. 113 reader tests green. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state — reader FFI landed Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * docs: ADR 284-293 status sync against landed implementation 284/285/286/288/289 -> Accepted with precise landed-scope notes; 287/290/292/293 stay Proposed with honest gap notes (hosted service, rvm runtime — cross-repo). Living-plans discipline: every status now matches the code on this branch. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 23 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 24 — parity in progress, CI 7 green / 0 red Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 25 — witness-viewer spawned Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * feat(rvforge): CLI<->Rust registry parity — proven interoperable rvforge-registry-check binary validates any registry dir (content addresses, release rules, lineage, log inclusion, witness chains); scripts/rvforge-parity-check.sh publishes two lineage-linked releases through the real CLI and validates with the Rust crate — PARITY OK. CLI canonical-JSON/id divergences fixed on the CLI side per contract. CI parity job added (ubuntu). Registry 92 tests, CLI suites green. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state — parity landed, PARITY OK Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore(rvforge): prepublishOnly gate (build+test) before any npm publish Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 27 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 28 — acceptance snapshot green, CI 6/0/48 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * feat(rvforge-reader): witness viewer — hash-chain verification screen + dock wiring P15.11: loads reader/CLI receipts.jsonl, verifies per-subject content-id + prevReceipt continuity, renders chronological chains with exact broken-at-N indicators; dock witness-status element now reflects real chain state. Entirely system-owned chrome (ADR-295). Tamper/reorder/ empty cases tested. 133 reader tests green. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state — witness viewer landed; all workstreams complete Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 30 — awaiting full-green CI (0 failures) Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 31 — CI 12/42/0 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 32 — CI 31/23/0, parity green in CI Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 33 — CI 29/25/0 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * fix(rvf-forge-core): classify rooted paths uniformly across platforms Windows CI failure: '/etc/hostname' has a root but no drive prefix, so is_absolute() is false on Windows and the path took the relative branch with a different rejection message than the test (and Linux) expected. Branch on has_root() instead — any rooted path goes through the containment check on every platform. Refusal behavior unchanged; only classification is now uniform. Linux gate re-verified: 117 tests, clippy, fmt green. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 34 — windows path-classification fix pushed Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 35 — post-fix CI clean, re-running Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 36 — CI 32/22/0, fix verified Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 37 — CI 33/21/0 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state iteration 38 — CI 32/22/0 Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx * chore: loop-state — final verdict, proceeding to merge on documented basis Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01ParP55bZs2iTGEGvpnUecx
391 lines
15 KiB
TOML
391 lines
15 KiB
TOML
[workspace]
|
||
exclude = ["external/ruqu", "external/rvdna", "examples/OSpipe", "examples/rvf", "crates/micro-hnsw-wasm", "crates/ruvector-hyperbolic-hnsw", "crates/ruvector-hyperbolic-hnsw-wasm", "examples/ruvLLM/esp32", "examples/ruvLLM/esp32-flash", "examples/edge-net", "examples/data", "examples/ruvLLM", "examples/delta-behavior", "crates/rvf", "crates/rvf/*", "crates/rvf/*/*", "examples/rvf-desktop", "crates/mcp-brain-server",
|
||
# emergent-time-wasm: standalone cdylib with own opt-level=z, panic=abort
|
||
"crates/emergent-time-wasm",
|
||
# sonic-ct crates: self-contained detached workspaces
|
||
"crates/sonic-ct", "crates/sonic-ct-wasm",
|
||
# ruvector-postgres is a pgrx-based PostgreSQL extension. Its build script
|
||
# requires `$PGRX_HOME` set up via `cargo install cargo-pgrx --version 0.12.9`
|
||
# and `cargo pgrx init`, which downloads and builds multiple Postgres
|
||
# versions. Keep it out of default workspace builds so `cargo build --workspace`
|
||
# works in stock environments. Build it explicitly with `cargo build -p ruvector-postgres`
|
||
# after running pgrx init.
|
||
"crates/ruvector-postgres",
|
||
# Iter 219 (closes ADR-178 Gap E folded into Gap B): the hailo
|
||
# crates rejoined the workspace once the iter-218 ruvector-core
|
||
# path dep + EmbeddingProvider impls landed. The `hailo` feature
|
||
# stays opt-in (only `cargo build --features hailo,cpu-fallback`
|
||
# pulls libhailort + candle), so workspace builds on stock x86
|
||
# still compile without Pi-specific tooling.
|
||
# ruos-thermal: Pi 5 thermal supervisor skeleton (ADR-174). Standalone
|
||
# for now; joins workspace once daemon mode + Unix socket protocol
|
||
# land in iters 92-97.
|
||
"crates/ruos-thermal",
|
||
# rvforge-reader: Tauri v2 desktop app (ADR-289). Standalone workspace —
|
||
# the webview/bundler dependency graph and its feature unification are
|
||
# app-specific and would be paid for by every `cargo build --workspace`.
|
||
"crates/rvforge-reader"]
|
||
members = [
|
||
"crates/ruvector-bounded-rag",
|
||
"crates/ruvector-temporal-coherence",
|
||
"crates/ruvector-acorn",
|
||
"crates/ruvector-acorn-wasm",
|
||
"crates/ruvector-coherence-hnsw",
|
||
"crates/ruvector-rabitq",
|
||
"crates/ruvector-rabitq-wasm",
|
||
"crates/ruvector-turbovec",
|
||
"crates/ruvector-rulake",
|
||
"crates/ruvector-core",
|
||
"crates/ruvector-node",
|
||
"crates/ruvector-wasm",
|
||
"crates/ruvector-cli",
|
||
"crates/ruvector-bench",
|
||
"crates/ruvector-metrics",
|
||
"crates/ruvector-filter",
|
||
"crates/ruvector-router-core",
|
||
"crates/ruvector-router-cli",
|
||
"crates/ruvector-router-ffi",
|
||
"crates/ruvector-router-wasm",
|
||
"crates/ruvector-server",
|
||
"crates/ruvector-snapshot",
|
||
"crates/ruvector-tiny-dancer-core",
|
||
"crates/ruvector-tiny-dancer-wasm",
|
||
"crates/ruvector-tiny-dancer-node",
|
||
"crates/ruvector-collections",
|
||
"crates/ruvector-cluster",
|
||
"crates/ruvector-raft",
|
||
"crates/ruvector-replication",
|
||
"crates/ruvector-graph",
|
||
"crates/ruvector-graph-node",
|
||
"crates/ruvector-graph-wasm",
|
||
"crates/ruvector-gnn",
|
||
"crates/ruvector-proof-gate",
|
||
"crates/ruvector-gnn-rerank",
|
||
"crates/ruvector-gnn-node",
|
||
"crates/ruvector-gnn-wasm",
|
||
"crates/ruvector-attention",
|
||
"crates/ruvector-attention-wasm",
|
||
"crates/ruvector-attention-node",
|
||
"crates/ruvector-cnn",
|
||
"crates/ruvector-cnn-wasm",
|
||
"crates/ruvector-mincut",
|
||
"crates/ruvector-mincut-wasm",
|
||
"crates/ruvector-mincut-node",
|
||
"crates/ruvector-mincut-gated-transformer",
|
||
"crates/ruvector-mincut-gated-transformer-wasm",
|
||
# NOTE: ruvector-postgres is in workspace `exclude` (pgrx env requirement).
|
||
"crates/ruvector-nervous-system",
|
||
# Iter 219 — hailo backend rejoined the workspace (closes
|
||
# ADR-178 Gap E folded into Gap B). All three build clean on
|
||
# x86 with default features; opting into the actual NPU path
|
||
# requires `--features hailo` on a Pi 5 + AI HAT+.
|
||
"crates/hailort-sys",
|
||
"crates/ruvector-hailo",
|
||
"crates/ruvector-mmwave",
|
||
"crates/ruvector-hailo-cluster",
|
||
"examples/refrag-pipeline",
|
||
"examples/scipix",
|
||
"examples/google-cloud",
|
||
"examples/subpolynomial-time",
|
||
"crates/sona",
|
||
"crates/rvlite",
|
||
"crates/ruvector-nervous-system",
|
||
"crates/ruvector-dag",
|
||
"crates/ruvector-dag-wasm",
|
||
"crates/ruvector-nervous-system-wasm",
|
||
"crates/ruvector-economy-wasm",
|
||
"crates/ruvector-learning-wasm",
|
||
"crates/ruvector-exotic-wasm",
|
||
"crates/ruvector-attention-unified-wasm",
|
||
"crates/ruvector-fpga-transformer",
|
||
"crates/ruvector-fpga-transformer-wasm",
|
||
"crates/ruvector-sparse-inference",
|
||
"crates/ruvector-math",
|
||
"crates/ruvector-math-wasm",
|
||
"examples/benchmarks",
|
||
"crates/cognitum-gate-kernel",
|
||
"crates/cognitum-gate-tilezero",
|
||
"crates/mcp-gate",
|
||
"crates/rvf-forge-core",
|
||
# RVForge file-backed release registry: content-addressed objects, publish
|
||
# rules, trust ladder, revocation, Merkle transparency log (ADR-294).
|
||
"crates/rvforge-registry",
|
||
"crates/mcp-brain",
|
||
"crates/mcp-brain-server",
|
||
"crates/ruvllm",
|
||
"crates/ruvllm-cli",
|
||
"crates/ruvllm-wasm",
|
||
"crates/prime-radiant",
|
||
"crates/ruvector-delta-core",
|
||
"crates/ruvector-delta-wasm",
|
||
"crates/ruvector-delta-index",
|
||
"crates/ruvector-delta-graph",
|
||
"crates/ruvector-delta-consensus",
|
||
"crates/ruvector-crv",
|
||
"crates/ruvector-temporal-tensor",
|
||
"crates/ruvector-domain-expansion",
|
||
"crates/ruvector-domain-expansion-wasm",
|
||
"crates/ruvector-solver",
|
||
"crates/ruvector-solver-wasm",
|
||
"crates/ruvector-solver-node",
|
||
"crates/ruvector-coherence",
|
||
"crates/ruvector-profiler",
|
||
"crates/ruvector-attn-mincut",
|
||
"crates/ruvector-cognitive-container",
|
||
"crates/ruvector-verified",
|
||
"crates/ruvector-verified-wasm",
|
||
"crates/ruvector-graph-transformer",
|
||
"crates/ruvector-graph-transformer-wasm",
|
||
"crates/ruvector-graph-transformer-node",
|
||
"examples/rvf-kernel-optimized",
|
||
"examples/verified-applications",
|
||
"crates/thermorust",
|
||
"crates/ruvector-dither",
|
||
"crates/ruvector-robotics",
|
||
"examples/robotics",
|
||
"crates/neural-trader-core",
|
||
"crates/neural-trader-coherence",
|
||
"crates/neural-trader-replay",
|
||
"crates/neural-trader-wasm",
|
||
# Kalshi integration (ADR-153)
|
||
"crates/ruvector-kalshi",
|
||
"crates/neural-trader-strategies",
|
||
# RuVix Cognition Kernel (organized under crates/ruvix/)
|
||
"crates/ruvix/crates/types",
|
||
"crates/ruvix/crates/region",
|
||
"crates/ruvix/crates/queue",
|
||
"crates/ruvix/crates/cap",
|
||
"crates/ruvix/crates/proof",
|
||
"crates/ruvix/crates/sched",
|
||
"crates/ruvix/crates/boot",
|
||
"crates/ruvix/crates/vecgraph",
|
||
"crates/ruvix/crates/nucleus",
|
||
# Phase B: Bare metal AArch64 support
|
||
"crates/ruvix/crates/hal",
|
||
"crates/ruvix/crates/aarch64",
|
||
"crates/ruvix/crates/drivers",
|
||
"crates/ruvix/tests",
|
||
"crates/ruvix/benches",
|
||
"crates/ruvix/examples/cognitive_demo",
|
||
# rvAgent — AI Agent Framework (DeepAgents Rust conversion)
|
||
"crates/rvAgent/rvagent-core",
|
||
"crates/rvAgent/rvagent-backends",
|
||
"crates/rvAgent/rvagent-middleware",
|
||
"crates/rvAgent/rvagent-tools",
|
||
"crates/rvAgent/rvagent-subagents",
|
||
"crates/rvAgent/rvagent-cli",
|
||
"crates/rvAgent/rvagent-acp",
|
||
"crates/rvAgent/rvagent-mcp",
|
||
"crates/rvAgent/rvagent-wasm",
|
||
"crates/rvAgent/rvagent-a2a",
|
||
# ADR-159 a2a-swarm demo
|
||
"examples/a2a-swarm",
|
||
# ETL pipeline example
|
||
"examples/train-discoveries",
|
||
# RuView SkyGraph appliance core (ADR-199 Phases 1-4, synthetic ADS-B)
|
||
"examples/sky-monitor",
|
||
# Browser-facing WASM projection engine for the SkyGraph dashboard (ADR-199 presentation plane)
|
||
"examples/sky-monitor/wasm",
|
||
# Spectral graph sparsification
|
||
"crates/ruvector-sparsifier",
|
||
"crates/ruvector-sparsifier-wasm",
|
||
# Consciousness metrics (IIT Φ, causal emergence)
|
||
"crates/ruvector-consciousness",
|
||
"crates/ruvector-consciousness-wasm",
|
||
"examples/cmb-consciousness",
|
||
"examples/gw-consciousness",
|
||
"examples/ecosystem-consciousness",
|
||
"examples/quantum-consciousness",
|
||
"examples/gene-consciousness",
|
||
"examples/climate-consciousness",
|
||
# JS bundle decompiler (ADR-135)
|
||
"crates/ruvector-decompiler",
|
||
"crates/ruvector-decompiler-wasm",
|
||
# DiskANN / Vamana (ADR-143)
|
||
"crates/ruvector-diskann",
|
||
"crates/ruvector-diskann-node",
|
||
# Boundary-first scientific discovery PoC
|
||
"examples/boundary-discovery",
|
||
# CMB Cold Spot boundary-first discovery
|
||
"examples/cmb-boundary-discovery",
|
||
# FRB population boundary discovery (CHIME-like data)
|
||
"examples/frb-boundary-discovery",
|
||
# Cosmic void boundary information content
|
||
"examples/void-boundary-discovery",
|
||
# Multi-regime temporal attractor boundary detection
|
||
"examples/temporal-attractor-discovery",
|
||
# Music genre boundary discovery via spectral graph bisection
|
||
"examples/music-boundary-discovery",
|
||
# Weather regime boundary detection (variance/correlation precedes temperature)
|
||
"examples/weather-boundary-discovery",
|
||
# Market regime boundary discovery via correlation structure
|
||
"examples/market-boundary-discovery",
|
||
# Health state boundary detection from wearable sensor data
|
||
"examples/health-boundary-discovery",
|
||
# SETI exotic signals gallery: boundary-first detection of sub-threshold signals
|
||
"examples/seti-exotic-signals",
|
||
# SETI boundary-first discovery: sub-noise signal detection via coherence graphs
|
||
"examples/seti-boundary-discovery",
|
||
# Earthquake precursor detection via inter-station correlation boundary shifts
|
||
"examples/earthquake-boundary-discovery",
|
||
# Pandemic outbreak detection 60 days before case counts via correlation boundaries
|
||
"examples/pandemic-boundary-discovery",
|
||
# Infrastructure failure prediction via sensor correlation boundaries
|
||
"examples/infrastructure-boundary-discovery",
|
||
# Pre-seizure detection via brain correlation boundary shifts
|
||
"examples/brain-boundary-discovery",
|
||
# Clinical-publication-grade pre-seizure detection report with CSV output
|
||
"examples/seizure-clinical-report",
|
||
# Closed-loop seizure detection + therapeutic response simulation
|
||
"examples/seizure-therapeutic-sim",
|
||
# Real EEG analysis: CHB-MIT PhysioNet data with boundary-first detection
|
||
"examples/real-eeg-analysis",
|
||
# Multi-seizure cross-patient analysis: all 7 chb01 seizures
|
||
"examples/real-eeg-multi-seizure",
|
||
# ruvllm sparse attention kernel for Hailo-10H cluster (ADR-183 – ADR-190)
|
||
"crates/ruvllm_sparse_attention",
|
||
# Generic retrieval LM + masked discrete diffusion built on the kernel
|
||
"crates/ruvllm_retrieval_diffusion",
|
||
# RAIRS IVF: Redundant Assignment + Amplified Inverse Residual (ADR-193)
|
||
"crates/ruvector-rairs",
|
||
# Hybrid sparse-dense search: BM25 + ANN + RRF / RSF / ScoreFusion (ADR-256)
|
||
"crates/ruvector-hybrid",
|
||
# LSM-ANN: write-optimized streaming vector index for agent memory (ADR-264)
|
||
"crates/ruvector-lsm-ann",
|
||
# Structure-preserving graph condensation via dynamic min-cut communities
|
||
"crates/ruvector-graph-condense",
|
||
"crates/ruvector-graph-condense-wasm",
|
||
# Perception substrate: delta -> boundary -> coherence -> proof -> action
|
||
"crates/ruvector-perception",
|
||
# Calculus of emergent / relational time (Wheeler-DeWitt, Page-Wootters,
|
||
# entropic, thermal) + Structural Proper Time for agentic systems.
|
||
"crates/emergent-time",
|
||
# PhotonLayer: learned optical-frontend computing simulator (ADR-260)
|
||
"crates/photonlayer-core",
|
||
"crates/photonlayer-bench",
|
||
"crates/photonlayer-ruvector",
|
||
"crates/photonlayer-cli",
|
||
"crates/photonlayer-wasm",
|
||
# Matryoshka coarse-to-fine ANN search: three-variant funnel with recall/latency tradeoffs (ADR-264)
|
||
"crates/ruvector-matryoshka",
|
||
# PQ-ADC: Product Quantization with Asymmetric Distance Computation (64× compression)
|
||
"crates/ruvector-pq-search",
|
||
# SOTA benchmark suite (ADR-265)
|
||
"crates/ruvector-sota-bench",
|
||
# Capability-gated ANN: per-vector read access control with bitset tokens (ADR-268)
|
||
"crates/ruvector-capgated",
|
||
# Diverse beam ANN: MMR and coherence-pruned beam search variants (ADR-272)
|
||
"crates/ruvector-diverse-beam",
|
||
# Threshold-driven ANN with empirical recall measurement (ADR-272)
|
||
"crates/ruvector-recall-bounded",
|
||
# Adaptive recall-targeted ANN: auto-calibrated ef for user-specified recall targets (ADR-272)
|
||
"crates/ruvector-adaptive-ann",
|
||
# SPANN partition spilling for boundary-safe ANN (ADR-268)
|
||
"crates/ruvector-spann",
|
||
# ColBERT-style multi-vector MaxSim late-interaction search
|
||
"crates/ruvector-maxsim",
|
||
# TimesFM 1.0 200M decoder-only patched time-series Transformer (candle, ADR-189/191)
|
||
"crates/timesfm",
|
||
# RuVector integration for TimesFM: Forecaster + anomaly bands + sweep early-stopping
|
||
"crates/ruvector-timesfm",
|
||
# Speculative ANN search: draft-verify with adaptive candidate multiplier (ADR-272)
|
||
"crates/ruvector-speculative-ann",
|
||
]
|
||
resolver = "2"
|
||
|
||
[workspace.lints.clippy]
|
||
unused_unit = "allow"
|
||
|
||
[workspace.package]
|
||
version = "2.3.0"
|
||
edition = "2021"
|
||
rust-version = "1.77"
|
||
license = "MIT"
|
||
authors = ["Ruvector Team"]
|
||
repository = "https://github.com/ruvnet/ruvector"
|
||
|
||
[workspace.dependencies]
|
||
# Core functionality
|
||
redb = "2.1"
|
||
memmap2 = "0.9"
|
||
hnsw_rs = "0.3"
|
||
simsimd = "5.9"
|
||
rayon = "1.10"
|
||
crossbeam = "0.8"
|
||
|
||
# Serialization
|
||
rkyv = "0.8"
|
||
bincode = { version = "2.0.0-rc.3", features = ["serde"] }
|
||
serde = { version = "1.0", features = ["derive"] }
|
||
serde_json = "1.0"
|
||
|
||
# Node.js bindings
|
||
napi = { version = "2.16", default-features = false, features = ["napi9", "async", "tokio_rt"] }
|
||
napi-derive = "2.16"
|
||
|
||
# WASM
|
||
wasm-bindgen = "0.2"
|
||
wasm-bindgen-futures = "0.4"
|
||
js-sys = "0.3"
|
||
web-sys = { version = "0.3", features = ["Worker", "MessagePort", "console"] }
|
||
getrandom = { version = "0.3", features = ["wasm_js"] }
|
||
|
||
# Async runtime
|
||
tokio = { version = "1.41", features = ["rt-multi-thread", "sync", "macros"] }
|
||
futures = "0.3"
|
||
|
||
# Error handling and utilities
|
||
thiserror = "2.0"
|
||
anyhow = "1.0"
|
||
tracing = "0.1"
|
||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||
|
||
# Math and numerics
|
||
nalgebra = { version = "0.33", default-features = false, features = ["std"] }
|
||
ndarray = "0.16"
|
||
rand = "0.8"
|
||
rand_distr = "0.4"
|
||
|
||
# Time and UUID
|
||
chrono = { version = "0.4", features = ["serde"] }
|
||
uuid = { version = "1.11", features = ["v4", "serde", "js"] }
|
||
|
||
# CLI
|
||
clap = { version = "4.5", features = ["derive", "cargo"] }
|
||
indicatif = "0.17"
|
||
console = "0.15"
|
||
|
||
# Testing and benchmarking
|
||
criterion = { version = "0.5", features = ["html_reports"] }
|
||
proptest = "1.5"
|
||
mockall = "0.13"
|
||
|
||
# Formal verification
|
||
lean-agentic = "=0.1.0"
|
||
|
||
# Performance
|
||
dashmap = "6.1"
|
||
parking_lot = "0.12"
|
||
once_cell = "1.20"
|
||
|
||
[profile.release]
|
||
opt-level = 3
|
||
lto = "fat"
|
||
codegen-units = 1
|
||
strip = true
|
||
panic = "unwind"
|
||
|
||
[profile.bench]
|
||
inherits = "release"
|
||
debug = true
|
||
|
||
[profile.dev]
|
||
opt-level = 0
|
||
debug = true
|
||
|
||
[profile.test]
|
||
|
||
# Patch hnsw_rs to use rand 0.8 instead of 0.9 for WASM compatibility
|
||
# This resolves the getrandom version conflict (0.2 vs 0.3)
|
||
[patch.crates-io]
|
||
hnsw_rs = { path = "./patches/hnsw_rs" }
|