feat: ADR-032/033 security hardening + CRV signal-line + QUIC transport (v0.3.0) #85

Merged
ruvnet merged 2 commits from ruvsense-full-implementation into main 2026-03-02 21:46:29 +08:00
10 changed files with 48 additions and 46 deletions
Showing only changes of commit e99a41434d - Show all commits

View File

@@ -3231,6 +3231,8 @@ dependencies = [
[[package]] [[package]]
name = "ruvector-crv" name = "ruvector-crv"
version = "0.1.1" version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eda8d6533ed1337e75f0bcc9e6e31cff44cc32aa24f9673492b2fad3af09a120"
dependencies = [ dependencies = [
"ruvector-attention 0.1.32", "ruvector-attention 0.1.32",
"ruvector-gnn", "ruvector-gnn",
@@ -4517,11 +4519,11 @@ dependencies = [
[[package]] [[package]]
name = "wifi-densepose-api" name = "wifi-densepose-api"
version = "0.2.0" version = "0.3.0"
[[package]] [[package]]
name = "wifi-densepose-cli" name = "wifi-densepose-cli"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"assert_cmd", "assert_cmd",
@@ -4546,11 +4548,11 @@ dependencies = [
[[package]] [[package]]
name = "wifi-densepose-config" name = "wifi-densepose-config"
version = "0.2.0" version = "0.3.0"
[[package]] [[package]]
name = "wifi-densepose-core" name = "wifi-densepose-core"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"chrono", "chrono",
@@ -4566,11 +4568,11 @@ dependencies = [
[[package]] [[package]]
name = "wifi-densepose-db" name = "wifi-densepose-db"
version = "0.2.0" version = "0.3.0"
[[package]] [[package]]
name = "wifi-densepose-hardware" name = "wifi-densepose-hardware"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"approx", "approx",
"byteorder", "byteorder",
@@ -4588,7 +4590,7 @@ dependencies = [
[[package]] [[package]]
name = "wifi-densepose-mat" name = "wifi-densepose-mat"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"approx", "approx",
@@ -4619,7 +4621,7 @@ dependencies = [
[[package]] [[package]]
name = "wifi-densepose-nn" name = "wifi-densepose-nn"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"candle-core", "candle-core",
@@ -4642,7 +4644,7 @@ dependencies = [
[[package]] [[package]]
name = "wifi-densepose-ruvector" name = "wifi-densepose-ruvector"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"approx", "approx",
"criterion", "criterion",
@@ -4660,7 +4662,7 @@ dependencies = [
[[package]] [[package]]
name = "wifi-densepose-sensing-server" name = "wifi-densepose-sensing-server"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"axum", "axum",
"chrono", "chrono",
@@ -4678,7 +4680,7 @@ dependencies = [
[[package]] [[package]]
name = "wifi-densepose-signal" name = "wifi-densepose-signal"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"chrono", "chrono",
"criterion", "criterion",
@@ -4701,7 +4703,7 @@ dependencies = [
[[package]] [[package]]
name = "wifi-densepose-train" name = "wifi-densepose-train"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"approx", "approx",
@@ -4739,7 +4741,7 @@ dependencies = [
[[package]] [[package]]
name = "wifi-densepose-vitals" name = "wifi-densepose-vitals"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
@@ -4748,7 +4750,7 @@ dependencies = [
[[package]] [[package]]
name = "wifi-densepose-wasm" name = "wifi-densepose-wasm"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"chrono", "chrono",
"console_error_panic_hook", "console_error_panic_hook",
@@ -4770,7 +4772,7 @@ dependencies = [
[[package]] [[package]]
name = "wifi-densepose-wifiscan" name = "wifi-densepose-wifiscan"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"serde", "serde",
"tokio", "tokio",

View File

@@ -19,7 +19,7 @@ members = [
] ]
[workspace.package] [workspace.package]
version = "0.2.0" version = "0.3.0"
edition = "2021" edition = "2021"
authors = ["rUv <ruv@ruv.net>", "WiFi-DensePose Contributors"] authors = ["rUv <ruv@ruv.net>", "WiFi-DensePose Contributors"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
@@ -120,21 +120,16 @@ ruvector-gnn = { version = "2.0.5", default-features = false }
# Internal crates # Internal crates
wifi-densepose-core = { version = "0.2.0", path = "crates/wifi-densepose-core" } wifi-densepose-core = { version = "0.3.0", path = "crates/wifi-densepose-core" }
wifi-densepose-signal = { version = "0.2.0", path = "crates/wifi-densepose-signal" } wifi-densepose-signal = { version = "0.3.0", path = "crates/wifi-densepose-signal" }
wifi-densepose-nn = { version = "0.2.0", path = "crates/wifi-densepose-nn" } wifi-densepose-nn = { version = "0.3.0", path = "crates/wifi-densepose-nn" }
wifi-densepose-api = { version = "0.2.0", path = "crates/wifi-densepose-api" } wifi-densepose-api = { version = "0.3.0", path = "crates/wifi-densepose-api" }
wifi-densepose-db = { version = "0.2.0", path = "crates/wifi-densepose-db" } wifi-densepose-db = { version = "0.3.0", path = "crates/wifi-densepose-db" }
wifi-densepose-config = { version = "0.2.0", path = "crates/wifi-densepose-config" } wifi-densepose-config = { version = "0.3.0", path = "crates/wifi-densepose-config" }
wifi-densepose-hardware = { version = "0.2.0", path = "crates/wifi-densepose-hardware" } wifi-densepose-hardware = { version = "0.3.0", path = "crates/wifi-densepose-hardware" }
wifi-densepose-wasm = { version = "0.2.0", path = "crates/wifi-densepose-wasm" } wifi-densepose-wasm = { version = "0.3.0", path = "crates/wifi-densepose-wasm" }
wifi-densepose-mat = { version = "0.2.0", path = "crates/wifi-densepose-mat" } wifi-densepose-mat = { version = "0.3.0", path = "crates/wifi-densepose-mat" }
wifi-densepose-ruvector = { version = "0.2.0", path = "crates/wifi-densepose-ruvector" } wifi-densepose-ruvector = { version = "0.3.0", path = "crates/wifi-densepose-ruvector" }
# Patch ruvector-crv to fix RuvectorLayer::new() Result API mismatch
# with ruvector-gnn 2.0.5 (upstream ruvector-crv 0.1.1 was built against 2.0.1).
[patch.crates-io]
ruvector-crv = { path = "patches/ruvector-crv" }
[profile.release] [profile.release]
lto = true lto = true

View File

@@ -21,7 +21,7 @@ mat = []
[dependencies] [dependencies]
# Internal crates # Internal crates
wifi-densepose-mat = { version = "0.2.0", path = "../wifi-densepose-mat" } wifi-densepose-mat = { version = "0.3.0", path = "../wifi-densepose-mat" }
# CLI framework # CLI framework
clap = { version = "4.4", features = ["derive", "env", "cargo"] } clap = { version = "4.4", features = ["derive", "env", "cargo"] }

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "wifi-densepose-mat" name = "wifi-densepose-mat"
version = "0.2.0" version = "0.3.0"
edition = "2021" edition = "2021"
authors = ["rUv <ruv@ruv.net>", "WiFi-DensePose Contributors"] authors = ["rUv <ruv@ruv.net>", "WiFi-DensePose Contributors"]
description = "Mass Casualty Assessment Tool - WiFi-based disaster survivor detection" description = "Mass Casualty Assessment Tool - WiFi-based disaster survivor detection"
@@ -24,9 +24,9 @@ serde = ["dep:serde", "chrono/serde", "geo/use-serde"]
[dependencies] [dependencies]
# Workspace dependencies # Workspace dependencies
wifi-densepose-core = { version = "0.2.0", path = "../wifi-densepose-core" } wifi-densepose-core = { version = "0.3.0", path = "../wifi-densepose-core" }
wifi-densepose-signal = { version = "0.2.0", path = "../wifi-densepose-signal" } wifi-densepose-signal = { version = "0.3.0", path = "../wifi-densepose-signal" }
wifi-densepose-nn = { version = "0.2.0", path = "../wifi-densepose-nn" } wifi-densepose-nn = { version = "0.3.0", path = "../wifi-densepose-nn" }
ruvector-solver = { workspace = true, optional = true } ruvector-solver = { workspace = true, optional = true }
ruvector-temporal-tensor = { workspace = true, optional = true } ruvector-temporal-tensor = { workspace = true, optional = true }

View File

@@ -10,17 +10,21 @@ keywords = ["wifi", "csi", "ruvector", "signal-processing", "disaster-detection"
categories = ["science", "computer-vision"] categories = ["science", "computer-vision"]
readme = "README.md" readme = "README.md"
[features]
default = []
crv = ["dep:ruvector-crv", "dep:ruvector-gnn", "dep:serde", "dep:serde_json"]
[dependencies] [dependencies]
ruvector-mincut = { workspace = true } ruvector-mincut = { workspace = true }
ruvector-attn-mincut = { workspace = true } ruvector-attn-mincut = { workspace = true }
ruvector-temporal-tensor = { workspace = true } ruvector-temporal-tensor = { workspace = true }
ruvector-solver = { workspace = true } ruvector-solver = { workspace = true }
ruvector-attention = { workspace = true } ruvector-attention = { workspace = true }
ruvector-crv = { workspace = true } ruvector-crv = { workspace = true, optional = true }
ruvector-gnn = { workspace = true } ruvector-gnn = { workspace = true, optional = true }
thiserror = { workspace = true } thiserror = { workspace = true }
serde = { workspace = true } serde = { workspace = true, optional = true }
serde_json = { workspace = true } serde_json = { workspace = true, optional = true }
[dev-dependencies] [dev-dependencies]
approx = "0.5" approx = "0.5"

View File

@@ -26,6 +26,7 @@
#![warn(missing_docs)] #![warn(missing_docs)]
#[cfg(feature = "crv")]
pub mod crv; pub mod crv;
pub mod mat; pub mod mat;
pub mod signal; pub mod signal;

View File

@@ -41,7 +41,7 @@ chrono = { version = "0.4", features = ["serde"] }
clap = { workspace = true } clap = { workspace = true }
# Multi-BSSID WiFi scanning pipeline (ADR-022 Phase 3) # Multi-BSSID WiFi scanning pipeline (ADR-022 Phase 3)
wifi-densepose-wifiscan = { version = "0.2.0", path = "../wifi-densepose-wifiscan" } wifi-densepose-wifiscan = { version = "0.3.0", path = "../wifi-densepose-wifiscan" }
[dev-dependencies] [dev-dependencies]
tempfile = "3.10" tempfile = "3.10"

View File

@@ -37,7 +37,7 @@ midstreamer-temporal-compare = { workspace = true }
midstreamer-attractor = { workspace = true } midstreamer-attractor = { workspace = true }
# Internal # Internal
wifi-densepose-core = { version = "0.2.0", path = "../wifi-densepose-core" } wifi-densepose-core = { version = "0.3.0", path = "../wifi-densepose-core" }
[dev-dependencies] [dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] } criterion = { version = "0.5", features = ["html_reports"] }

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "wifi-densepose-train" name = "wifi-densepose-train"
version = "0.2.0" version = "0.3.0"
edition = "2021" edition = "2021"
authors = ["rUv <ruv@ruv.net>", "WiFi-DensePose Contributors"] authors = ["rUv <ruv@ruv.net>", "WiFi-DensePose Contributors"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
@@ -27,8 +27,8 @@ cuda = ["tch-backend"]
[dependencies] [dependencies]
# Internal crates # Internal crates
wifi-densepose-signal = { version = "0.2.0", path = "../wifi-densepose-signal" } wifi-densepose-signal = { version = "0.3.0", path = "../wifi-densepose-signal" }
wifi-densepose-nn = { version = "0.2.0", path = "../wifi-densepose-nn" } wifi-densepose-nn = { version = "0.3.0", path = "../wifi-densepose-nn" }
# Core # Core
thiserror.workspace = true thiserror.workspace = true

View File

@@ -59,7 +59,7 @@ uuid = { version = "1.6", features = ["v4", "serde", "js"] }
getrandom = { version = "0.2", features = ["js"] } getrandom = { version = "0.2", features = ["js"] }
# Optional: wifi-densepose-mat integration # Optional: wifi-densepose-mat integration
wifi-densepose-mat = { version = "0.2.0", path = "../wifi-densepose-mat", optional = true, features = ["serde"] } wifi-densepose-mat = { version = "0.3.0", path = "../wifi-densepose-mat", optional = true, features = ["serde"] }
[dev-dependencies] [dev-dependencies]
wasm-bindgen-test = "0.3" wasm-bindgen-test = "0.3"