mirror of
https://github.com/ruvnet/RuView
synced 2026-08-06 19:51:43 +00:00
4aee5c9fb1
Adds a feature-gated Ruflo integration layer connecting ruview-swarm to the claude-flow daemon's AgentDB, AIDefence, and SONA intelligence subsystems. Default build is unaffected (all paths behind `Option<Box<dyn RufloBackend>>`). ## New module: src/ruflo/ - backend.rs: RufloBackend trait (9 async methods) + RufloError, MissionMemoryEntry, PatternEntry, MavlinkScanResult types (always compiled) - mock_backend.rs: MockRufloBackend in-memory impl for testing (always compiled, 5 tests) - http_backend.rs: HttpRufloBackend — JSON-RPC 2.0 → claude-flow daemon localhost:3000 (gated behind `ruflo` feature, requires reqwest) - mission_summary.rs: MissionSummary serializer with pattern description + confidence scoring from victim recall, coverage %, collision penalty (always compiled, 3 tests) ## 4 capability areas 1. MissionMemory → memory_store / memory_search (cross-mission victim memory) 2. PatternLearner → agentdb_pattern-store / -search (HNSW SONA trajectory patterns) 3. MavlinkDefence → aidefence_is_safe / aidefence_scan (scan MAVLink before accepting) 4. IntelligenceHooks → trajectory-start/step/end (SONA learning loop) ## SwarmOrchestrator integration - with_ruflo(backend): builder to attach a backend - start_trajectory(task) / finish_trajectory(success, key): SONA mission lifecycle - receive_peer_detection_checked(): AIDefence scan before accepting peer detections ## Cargo feature `ruflo = ["dep:reqwest", "dep:serde_json"]` — optional, not in default ## Tests - --no-default-features: 82/82 pass (8 new ruflo tests) - --features ruflo,itar-unrestricted: 94/94 pass Co-Authored-By: claude-flow <ruv@ruv.net>
63 lines
1.5 KiB
TOML
63 lines
1.5 KiB
TOML
[package]
|
|
name = "ruview-swarm"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "RuView drone swarm control system — hierarchical-mesh topology, Raft consensus, MARL, CSI sensing integration (ADR-148)"
|
|
license = "Apache-2.0"
|
|
|
|
[features]
|
|
default = []
|
|
# ITAR/USML Category VIII(h)(12): swarming coordination features.
|
|
# Must not be enabled in international distributions without export counsel review.
|
|
itar-unrestricted = []
|
|
mavlink = ["dep:mavlink"]
|
|
ros2-dds = []
|
|
onnx = ["dep:ort"]
|
|
simulation = []
|
|
demo = ["simulation"]
|
|
full = ["mavlink", "onnx", "demo", "itar-unrestricted"]
|
|
ruflo = ["dep:reqwest", "dep:serde_json"]
|
|
|
|
[dependencies]
|
|
wifi-densepose-core = { path = "../wifi-densepose-core" }
|
|
|
|
# Serialization
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", optional = true }
|
|
toml = "0.8"
|
|
|
|
# Async runtime
|
|
tokio = { version = "1", features = ["full"] }
|
|
async-trait = "0.1"
|
|
|
|
# MAVLink v2 (optional)
|
|
mavlink = { version = "0.13", optional = true }
|
|
|
|
# ONNX Runtime (optional — for MARL actor inference)
|
|
ort = { version = "2.0.0-rc.11", optional = true }
|
|
|
|
# HTTP client (optional — for Ruflo HTTP backend)
|
|
reqwest = { version = "0.12", features = ["json"], optional = true }
|
|
|
|
# Crypto — MAVLink v2 HMAC-SHA256 signing
|
|
hmac = "0.12"
|
|
sha2 = "0.10"
|
|
|
|
# Error handling
|
|
thiserror = "2.0"
|
|
|
|
# Logging
|
|
tracing = "0.1"
|
|
|
|
# Numerics
|
|
nalgebra = "0.33"
|
|
rand = "0.8"
|
|
|
|
[dev-dependencies]
|
|
criterion = { version = "0.5", features = ["html_reports"] }
|
|
tokio-test = "0.4"
|
|
|
|
[[bench]]
|
|
name = "swarm_bench"
|
|
harness = false
|