Files
ruvnet--RuView/v2/crates/wifi-densepose-vitals/Cargo.toml
T
Claude 79d1fff99a feat: implement ADR-288/289/290 — benchmark harness, wideband CSI ingest, vitals ground-truth rig
ADR-288 (wifi-densepose-train): Widar3.0 Intel-5300 .dat bfee parser
(bounded, panic-free), WidarDataset over the CsiDataset trait, deterministic
SplitProtocol (cross-subject/environment/orientation + leakage-prone random
baseline), LeakageAudit that Errs on subject/environment/recording overlap,
train-only MeanPoseBaseline, and EvidenceGrade where Measured requires an
embedded reproducer. Criterion bench for parser + split + audit.

ADR-289 (wifi-densepose-mat): FeitCSI binary record parser (layout verified
against upstream source) with dimension-vs-buffer validation and bounded
allocation, DeviceType::FeitCsi replay/stream modes, subcarrier-agnostic
frame metadata (bandwidth/band/native->pipeline mapping). Criterion bench at
1992-subcarrier frames.

ADR-290 (wifi-densepose-vitals): reference-series CSV ingest, cross-correlation
time alignment with optional drift fit, Bland-Altman/MAE/RMSE agreement with
mandatory SessionScope, and EvidenceGrade gating Measured on reference device +
coverage + reproducer. Criterion bench for hour-scale alignment.

All three crate suites green; benches compile. Numbers are SYNTHETIC (in-code
fixtures); no hardware claims.

Co-Authored-By: claude-flow <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_015TcKegTS7QqhWPC2L2SzaS
2026-08-11 00:06:39 +00:00

52 lines
1.3 KiB
TOML

[package]
name = "wifi-densepose-vitals"
version = "0.3.2"
edition.workspace = true
description = "ESP32 CSI-grade vital sign extraction (ADR-021): heart rate and respiratory rate from WiFi Channel State Information"
license.workspace = true
authors = ["rUv <ruv@ruv.net>", "WiFi-DensePose Contributors"]
repository.workspace = true
documentation = "https://docs.rs/wifi-densepose-vitals"
keywords = ["wifi", "vital-signs", "breathing", "heart-rate", "csi"]
categories = ["science", "computer-vision"]
readme = "README.md"
[dependencies]
tracing.workspace = true
serde = { workspace = true, optional = true }
[dev-dependencies]
serde_json.workspace = true
criterion = { version = "0.5", features = ["html_reports"] }
[[bench]]
name = "vitals_bench"
harness = false
[[bench]]
name = "groundtruth_bench"
harness = false
[features]
default = ["serde"]
serde = ["dep:serde"]
[lints.rust]
unsafe_code = "forbid"
[lints.clippy]
all = "warn"
pedantic = "warn"
doc_markdown = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
cast_precision_loss = "allow"
cast_lossless = "allow"
cast_possible_truncation = "allow"
cast_sign_loss = "allow"
many_single_char_names = "allow"
uninlined_format_args = "allow"
assigning_clones = "allow"