ruvector/external
rUv 82c21c2a7b
ADR-257: extract ruqu + rvdna into two standalone repos (git submodules) (#579)
* 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>
2026-06-17 17:33:40 -04:00
..
ruqu@d7f572890a ADR-257: extract ruqu + rvdna into two standalone repos (git submodules) (#579) 2026-06-17 17:33:40 -04:00
rvdna@333bc4c40b ADR-257: extract ruqu + rvdna into two standalone repos (git submodules) (#579) 2026-06-17 17:33:40 -04:00