ruvector/crates
rUv 6b6fb0e02a
ADR-117: Add source-anchored canonical minimum cut implementation (#287)
* Add ADR-117: pseudo-deterministic canonical minimum cut

Introduces source-anchored canonical min-cut based on Kenneth-Mordoch 2026,
with lexicographic tie-breaking (λ, first_separable_vertex, |S|, π(S)) for
unique reproducible cuts. Three-tier plan: exact engine now, O(m log²n) fast
path, then dynamic maintenance via sparsifiers. Integrates with RVF witness
hashing for cut receipts.

https://claude.ai/code/session_01UrVLJpxq8itzVxycy5sjNw

* Implement ADR-117: source-anchored pseudo-deterministic canonical min-cut

Full Tier 1 implementation of the Kenneth-Mordoch 2026 canonical min-cut
algorithm with lexicographic tie-breaking (λ, first_separable_vertex, |S|, π(S)).

Core implementation (source_anchored/mod.rs):
- AdjSnapshot for deterministic computation on FixedWeight (32.32)
- Stoer-Wagner global min-cut on fixed-point weights
- Dinic's max-flow for exact s-t cuts
- SHA-256 (FIPS 180-4, self-contained, no_std compatible)
- SourceAnchoredMinCut stateful wrapper with cache invalidation
- CanonicalMinCutResult repr(C) struct for FFI

WASM bindings (wasm/canonical.rs):
- Thread-safe Mutex-guarded global state (no static mut)
- 8 extern "C" functions: init, add_edge, compute, get_result,
  get_hash, get_side, get_cut_edges, free, hashes_equal
- Constant-time hash comparison for timing side-channel prevention
- Null pointer validation on all FFI entry points
- Graph size limit (10,000 vertices) to prevent OOM

Tests (40 total):
- 33 source_anchored tests: SHA-256 NIST vectors, determinism (100+1000
  iterations), symmetric graphs (K4, K5, cycles, ladders, barbells),
  custom source/priorities, disconnected rejection, FFI conversion
- 7 WASM tests: init/compute lifecycle, null safety, hash comparison,
  self-loop rejection, size limit enforcement

Benchmarks (canonical_bench.rs):
- Random connected graphs (10-100 vertices)
- Cycle and complete graph families
- Hash stability measurement

Security hardening:
- No static mut (Mutex for thread safety)
- Integer-exact FixedWeight arithmetic (no floats in comparisons)
- Checked capacity perturbation bounds
- Source-side orientation invariant enforced
- NIST-validated SHA-256 for witness hashes

ADR-117 updated to production-quality spec with explicit vertex-splitting
requirement for capacity perturbation, WASM FFI documentation, and
Phase 1 completion status.

https://claude.ai/code/session_01UrVLJpxq8itzVxycy5sjNw

* Integrate ADR-117 canonical min-cut into pi.ruv.io brain server

- Enable `canonical` feature on ruvector-mincut dependency
- Add `partition_canonical_full()` to KnowledgeGraph using source-anchored
  canonical min-cut for deterministic, hashable partitions
- Add `canonical` query parameter to `/v1/partition` endpoint
- Add `cut_hash` (hex SHA-256) and `first_separable_vertex` fields to
  PartitionResult and PartitionResultCompact types
- Backward compatible: canonical fields are skip_serializing_if None,
  only populated when `?canonical=true` is passed

https://claude.ai/code/session_01UrVLJpxq8itzVxycy5sjNw

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-23 19:11:51 -04:00
..
agentic-robotics-benchmarks feat: Add agentic-robotics crates and SOTA integration research 2026-02-27 02:54:01 +00:00
agentic-robotics-core feat: Add agentic-robotics crates and SOTA integration research 2026-02-27 02:54:01 +00:00
agentic-robotics-embedded feat: Add agentic-robotics crates and SOTA integration research 2026-02-27 02:54:01 +00:00
agentic-robotics-mcp feat: Add agentic-robotics crates and SOTA integration research 2026-02-27 02:54:01 +00:00
agentic-robotics-node feat: Add agentic-robotics crates and SOTA integration research 2026-02-27 02:54:01 +00:00
agentic-robotics-rt feat: Add agentic-robotics crates and SOTA integration research 2026-02-27 02:54:01 +00:00
cognitum-gate-kernel feat(ruvix): implement CLI, kernel shell, and PBFT consensus (#261) 2026-03-14 16:25:03 -04:00
cognitum-gate-tilezero style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
mcp-brain fix: ruvector-postgres v0.3.1 — audit bug fixes, 46 SQL functions, Docker publish (#227) 2026-03-03 12:53:10 -05:00
mcp-brain-server ADR-117: Add source-anchored canonical minimum cut implementation (#287) 2026-03-23 19:11:51 -04:00
mcp-gate style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
micro-hnsw-wasm Feat/ruvector postgres v2 (#82) 2025-12-25 17:02:55 -05:00
neural-trader-coherence style: apply cargo fmt formatting 2026-03-12 20:57:18 -04:00
neural-trader-core feat: add neural-trader-wasm crate with WASM bindings and ADR-086 2026-03-08 16:17:58 +00:00
neural-trader-replay style: apply cargo fmt formatting 2026-03-12 20:57:18 -04:00
neural-trader-wasm style: apply cargo fmt formatting 2026-03-12 20:57:18 -04:00
prime-radiant fix: migrate attention/dag/tiny-dancer to workspace versioning and fix all dep version specs 2026-02-23 13:29:46 +00:00
profiling Reorganize repository structure 2025-11-19 20:53:37 +00:00
ruQu feat(ruqu): add quantum execution intelligence engine with 5 backends 2026-02-12 12:55:21 -05:00
ruqu-algorithms fix: apply cargo fmt across workspace and fix CI issues 2026-02-21 20:56:38 +00:00
ruqu-core fix: apply cargo fmt across workspace and fix CI issues 2026-02-21 20:56:38 +00:00
ruqu-exotic fix: apply cargo fmt across workspace and fix CI issues 2026-02-21 20:56:38 +00:00
ruqu-wasm fix: apply cargo fmt across workspace and fix CI issues 2026-02-21 20:56:38 +00:00
ruvector-attention docs: optimize 12 crate READMEs and add SONA learning loop diagram 2026-02-27 03:38:42 +00:00
ruvector-attention-cli fix: migrate attention/dag/tiny-dancer to workspace versioning and fix all dep version specs 2026-02-23 13:29:46 +00:00
ruvector-attention-node chore: Update attention NAPI-RS binaries for all platforms 2026-02-27 03:49:10 +00:00
ruvector-attention-unified-wasm fix(ruvector-gnn): replace panic with Result in MultiHeadAttention and RuvectorLayer constructors 2026-02-26 16:23:58 +00:00
ruvector-attention-wasm chore: Update attention NAPI-RS binaries for all platforms 2026-02-27 03:49:10 +00:00
ruvector-attn-mincut fix: apply cargo fmt across workspace and fix CI issues 2026-02-21 20:56:38 +00:00
ruvector-bench fix: format all files, add EXO crate READMEs, convert path deps to version deps 2026-02-27 16:21:14 +00:00
ruvector-cli fix: format all files, add EXO crate READMEs, convert path deps to version deps 2026-02-27 16:21:14 +00:00
ruvector-cluster chore: add version specifications for crates.io publishing 2026-02-08 16:51:20 +00:00
ruvector-cnn fix: resolve compilation errors across workspace 2026-03-16 23:15:25 -04:00
ruvector-cnn-wasm style: apply cargo fmt formatting 2026-03-12 20:57:18 -04:00
ruvector-cognitive-container fix: format all files, add EXO crate READMEs, convert path deps to version deps 2026-02-27 16:21:14 +00:00
ruvector-coherence fix: format all files, add EXO crate READMEs, convert path deps to version deps 2026-02-27 16:21:14 +00:00
ruvector-collections feat(rvdna): rename package to rvdna, publish to crates.io and npm 2026-02-12 15:47:00 +00:00
ruvector-core feat: add ruvector-sparsifier — dynamic spectral graph sparsification 2026-03-20 10:37:39 -04:00
ruvector-crv fix: format all files, add EXO crate READMEs, convert path deps to version deps 2026-02-27 16:21:14 +00:00
ruvector-dag fix: migrate attention/dag/tiny-dancer to workspace versioning and fix all dep version specs 2026-02-23 13:29:46 +00:00
ruvector-dag-wasm style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-delta-consensus style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-delta-core style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-delta-graph style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-delta-index style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-delta-wasm style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-dither fix: format all files, add EXO crate READMEs, convert path deps to version deps 2026-02-27 16:21:14 +00:00
ruvector-domain-expansion docs: expand domain-expansion README with 10 specialized domains and infrastructure map 2026-02-27 05:12:46 +00:00
ruvector-domain-expansion-wasm fix: apply cargo fmt across workspace and fix CI issues 2026-02-21 20:56:38 +00:00
ruvector-economy-wasm style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-exotic-wasm style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-filter feat(rvdna): rename package to rvdna, publish to crates.io and npm 2026-02-12 15:47:00 +00:00
ruvector-fpga-transformer fix: resolve fpga-transformer BackendSpec.as_ref, hnsw array indexing, rvf-cli version mismatches 2026-02-15 06:34:08 +00:00
ruvector-fpga-transformer-wasm style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-gnn Merge remote-tracking branch 'origin/main' into claude/exo-ai-capability-review-LjcVx 2026-02-27 16:27:34 +00:00
ruvector-gnn-node chore: Update GNN NAPI-RS binaries for all platforms 2026-02-27 03:52:39 +00:00
ruvector-gnn-wasm fix(ruvector-gnn): replace panic with Result in MultiHeadAttention and RuvectorLayer constructors 2026-02-26 16:23:58 +00:00
ruvector-graph docs: optimize 12 crate READMEs and add SONA learning loop diagram 2026-02-27 03:38:42 +00:00
ruvector-graph-node docs: fix metadata and README issues from deep review 2026-02-08 20:49:15 +00:00
ruvector-graph-transformer Merge remote-tracking branch 'origin/main' into claude/exo-ai-capability-review-LjcVx 2026-02-27 16:27:34 +00:00
ruvector-graph-transformer-node chore: Update graph transformer NAPI-RS binaries for all platforms 2026-02-27 16:36:04 +00:00
ruvector-graph-transformer-wasm chore: Update graph transformer NAPI-RS binaries for all platforms 2026-02-27 16:36:04 +00:00
ruvector-graph-wasm docs: fix metadata and README issues from deep review 2026-02-08 20:49:15 +00:00
ruvector-hyperbolic-hnsw feat(prime-radiant): Universal Coherence Engine with Sheaf Laplacian AI Safety (#131) 2026-01-22 21:27:27 -05:00
ruvector-hyperbolic-hnsw-wasm feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ruvector-learning-wasm style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-math style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-math-wasm style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-metrics docs: Add README files for all crates and update root README with crates table 2025-11-26 18:15:05 +00:00
ruvector-mincut ADR-117: Add source-anchored canonical minimum cut implementation (#287) 2026-03-23 19:11:51 -04:00
ruvector-mincut-gated-transformer style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-mincut-gated-transformer-wasm fix: resolve compilation errors across workspace 2026-03-16 23:15:25 -04:00
ruvector-mincut-node fix: resolve build errors and prepare crates for publishing 2026-02-23 03:04:26 +00:00
ruvector-mincut-wasm fix(security): patch command injection and SONA bugs, publish mincut-wasm 2026-03-17 11:01:44 -04:00
ruvector-nervous-system chore(crates): add missing metadata for crates.io publishing 2025-12-29 19:19:26 +00:00
ruvector-nervous-system-wasm style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvector-node feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ruvector-postgres style: apply cargo fmt formatting 2026-03-12 20:57:18 -04:00
ruvector-profiler fix: apply cargo fmt across workspace and fix CI issues 2026-02-21 20:56:38 +00:00
ruvector-raft chore: add version specifications for crates.io publishing 2026-02-08 16:51:20 +00:00
ruvector-replication docs: add install one-liners and footer links to ruvllm and replication READMEs 2026-02-27 03:40:08 +00:00
ruvector-robotics style: apply cargo fmt formatting 2026-03-12 20:57:18 -04:00
ruvector-router-cli fix: add version specs to path dependencies for crates.io publishing 2026-02-23 03:14:45 +00:00
ruvector-router-core feat(prime-radiant): Advanced Mathematical Frameworks + fix(router): VectorDb Deadlock (#133) (#132) 2026-01-24 12:30:59 -05:00
ruvector-router-ffi fix: add version specs to path dependencies for crates.io publishing 2026-02-23 03:14:45 +00:00
ruvector-router-wasm fix: add version specs to path dependencies for crates.io publishing 2026-02-23 03:14:45 +00:00
ruvector-server feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ruvector-snapshot fix: add version spec to ruvector-snapshot path dependency 2026-02-23 03:10:49 +00:00
ruvector-solver docs: optimize 12 crate READMEs and add SONA learning loop diagram 2026-02-27 03:38:42 +00:00
ruvector-solver-node fix: apply cargo fmt across workspace and fix CI issues 2026-02-21 20:56:38 +00:00
ruvector-solver-wasm fix: apply cargo fmt across workspace and fix CI issues 2026-02-21 20:56:38 +00:00
ruvector-sparse-inference fix: apply cargo fmt across workspace and fix CI issues 2026-02-21 20:56:38 +00:00
ruvector-sparse-inference-wasm fix: resolve 5 P0 critical issues + 2 pre-existing compile errors 2026-03-06 14:03:42 +00:00
ruvector-sparsifier fix: shorten keywords for crates.io 20-char limit 2026-03-20 14:38:05 +00:00
ruvector-sparsifier-wasm feat: add ruvector-sparsifier — dynamic spectral graph sparsification 2026-03-20 10:37:39 -04:00
ruvector-temporal-tensor fix: apply cargo fmt across workspace and fix CI issues 2026-02-21 20:56:38 +00:00
ruvector-temporal-tensor-wasm feat: Add ADR-017 temporal tensor compression with tiered quantization 2026-02-06 00:28:21 +00:00
ruvector-tiny-dancer-core fix(ci): Fix formatting and workflow permission issues 2025-12-26 22:11:57 +00:00
ruvector-tiny-dancer-node fix: add version specs to path dependencies for crates.io publishing 2026-02-23 03:14:45 +00:00
ruvector-tiny-dancer-wasm fix: add version specs to path dependencies for crates.io publishing 2026-02-23 03:14:45 +00:00
ruvector-verified fix: format all files, add EXO crate READMEs, convert path deps to version deps 2026-02-27 16:21:14 +00:00
ruvector-verified-wasm fix: format all files, add EXO crate READMEs, convert path deps to version deps 2026-02-27 16:21:14 +00:00
ruvector-wasm style: apply rustfmt across entire codebase 2026-01-28 17:00:26 +00:00
ruvix feat(ruvix): implement CLI, kernel shell, and PBFT consensus (#261) 2026-03-14 16:25:03 -04:00
ruvllm fix(ci): Apple Silicon tests and gitignore improvements 2026-03-16 23:21:02 -04:00
ruvllm-cli fix: resolve compilation errors across workspace 2026-03-16 23:15:25 -04:00
ruvllm-wasm fix: HNSW index out-of-bounds and ONNX routing fallback 2026-03-17 16:57:50 -04:00
rvAgent fix(ruvllm-wasm): resolve WASM type mismatch in hnsw_router 2026-03-17 15:15:00 -04:00
rvf chore: Update RVF NAPI-RS binaries for all platforms 2026-03-13 01:44:04 +00:00
rvlite fix: apply cargo fmt across workspace and fix CI issues 2026-02-21 20:56:38 +00:00
sona fix(brain): add 30s grace period to SSE session cleanup + ADR-123 cognitive enrichment 2026-03-23 21:24:59 +00:00
thermorust fix: format all files, add EXO crate READMEs, convert path deps to version deps 2026-02-27 16:21:14 +00:00
agentic-robotics-README.md feat: Add agentic-robotics crates and SOTA integration research 2026-02-27 02:54:01 +00:00