mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-07-23 08:03:52 +00:00
* docs(adr): ADR-257 extract ruqu + rvdna into standalone repos via submodules Two separate standalone repos — ruvnet/ruqu (both clusters: quantum-sim ruqu-* + min-cut ruQu + ruqu-wasm npm) and ruvnet/rvdna (examples/dna + rvdna npm) — re-referenced as git submodules at external/ruqu, external/rvdna. Includes the full coupling analysis (rvdna path-depends on 9 unpublished ruvector crates; ruQu on ruvector-mincut; ruqu consumed by OSpipe/rvf; code spans crates/ + npm/), the honest standalone-build caveat, migration steps, and rollback. Adds scripts/extract-ruqu-rvdna-submodules.sh — idempotent, DRY-RUN by default; --execute required to create the public repos. Dry-run verified. Co-Authored-By: claude-flow <ruv@ruv.net> * docs(adr): ADR-257 correction — ruvector deps ARE published (closure at 2.2.3) The earlier "rvdna/ruQu can't build standalone" claim was based on a crates.io API rate-limit misread. Authoritative sparse-index check shows all ruvector-* deps were already published; the full rvdna closure is now synced to 2.2.3 (published collections/filter/math/dag/cluster/raft/replication/gnn/attention; solver/core/graph already there). Standalone builds now only need the mechanical path->version dep rewrite in the extracted repos. Added an Update section. Co-Authored-By: claude-flow <ruv@ruv.net> * refactor: reference ruqu + rvdna as submodules (ADR-257) - Remove crates/ruqu-*, crates/ruQu, examples/dna, and the two npm wrappers from the monorepo; they now live in standalone repos ruvnet/ruqu and ruvnet/rvdna (both build standalone against published ruvector-* 2.2.3). - Add them as git submodules at external/ruqu and external/rvdna; exclude those nested workspaces from the root workspace. - Repoint examples/OSpipe and examples/rvf path deps to external/ruqu/crates/*. - CI: drop the ruqu-quantum shard + ruqu --exclude lines (no longer workspace members), add `submodules: recursive` to checkout steps. - cargo metadata + full dependency resolution verified green. Refs #579 Co-Authored-By: claude-flow <ruv@ruv.net> * fix(ci): exclude examples/OSpipe + examples/rvf from workspace (ADR-257) These two example crates are the only workspace members that path-dep into the external/ruqu submodule. As members, they forced EVERY workflow that resolves the workspace (Build Native Modules, etc.) to need `submodules: recursive` — those jobs checkout submodules:false and failed: failed to read external/ruqu/crates/ruqu-algorithms/Cargo.toml (os error 3) Moving them to `exclude` makes the workspace resolve without the submodules (verified: 0 members reference external/), so all Build jobs pass. The crates remain buildable on demand (`cargo build -p ospipe` with submodules checked out). Refs #579 --------- Co-authored-by: ruv <ruvnet@users.noreply.github.com>
73 lines
2.7 KiB
TOML
73 lines
2.7 KiB
TOML
[package]
|
|
name = "ospipe"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
rust-version = "1.77"
|
|
license = "MIT"
|
|
description = "OSpipe: RuVector-enhanced personal AI memory system integrating with Screenpipe"
|
|
authors = ["Ruvector Team"]
|
|
repository = "https://github.com/ruvnet/ruvector"
|
|
|
|
[dependencies]
|
|
# Serialization (cross-platform)
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
|
|
# Error handling and utilities (cross-platform)
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
|
|
# Time and UUID (cross-platform)
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
uuid = { version = "1.11", features = ["v4", "serde", "js"] }
|
|
|
|
# Math (cross-platform)
|
|
rand = { workspace = true }
|
|
|
|
# Native-only: RuVector ecosystem (path dependencies)
|
|
# These crates pull in platform-specific code (mmap, tokio, ring, etc.) that
|
|
# does not compile for wasm32-unknown-unknown.
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
ruvector-core = { version = "2.0", path = "../../crates/ruvector-core" }
|
|
ruvector-filter = { version = "2.0", path = "../../crates/ruvector-filter" }
|
|
ruvector-cluster = { version = "2.0", path = "../../crates/ruvector-cluster" }
|
|
ruvector-delta-core = { version = "0.1", path = "../../crates/ruvector-delta-core", features = ["serde"] }
|
|
ruvector-router-core = { version = "2.0", path = "../../crates/ruvector-router-core" }
|
|
ruvector-graph = { version = "2.0", path = "../../crates/ruvector-graph", default-features = false }
|
|
ruvector-gnn = { version = "2.0", path = "../../crates/ruvector-gnn", default-features = false }
|
|
cognitum-gate-kernel = { version = "0.1", path = "../../crates/cognitum-gate-kernel", default-features = true }
|
|
ruqu-algorithms = { version = "2.0.5", path = "../../external/ruqu/crates/ruqu-algorithms", default-features = false }
|
|
ruvector-attention = { version = "2.0", path = "../../crates/ruvector-attention", default-features = false }
|
|
|
|
# HTTP server dependencies (native only)
|
|
axum = { version = "0.7", features = ["json"] }
|
|
tower-http = { version = "0.6", features = ["cors"] }
|
|
tower = { version = "0.5" }
|
|
tokio = { workspace = true }
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
|
|
# WASM-only dependencies
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
wasm-bindgen = { workspace = true }
|
|
js-sys = { workspace = true }
|
|
serde-wasm-bindgen = "0.6"
|
|
getrandom = { version = "0.2", features = ["js"] }
|
|
console_error_panic_hook = { version = "0.1", optional = true }
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
|
wasm-bindgen-test = "0.3"
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true }
|
|
uuid = { version = "1.11", features = ["v4"] }
|
|
|
|
[features]
|
|
default = ["console_error_panic_hook"]
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
[[bin]]
|
|
name = "ospipe-server"
|
|
path = "src/bin/ospipe-server.rs"
|
|
required-features = []
|