Commit Graph

78 Commits

Author SHA1 Message Date
ruv 57141ff707 Update README hero image to ruview-small-gemini
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-04 10:37:42 -05:00
ruv 6fea56c4a9 Add RuView hero image to top of README
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-04 10:19:41 -05:00
rUv da7105d599
Update README.md 2026-03-03 21:17:37 -05:00
rUv 749007d708
Update README.md 2026-03-03 21:17:08 -05:00
ruv 2ad510782e docs: add 4 DDD domain models covering all major subsystems
Create complete Domain-Driven Design specifications for:
- Signal Processing (3 contexts: CSI Preprocessing, Feature Extraction, Motion Analysis)
- Training Pipeline (4 contexts: Dataset Management, Model Architecture, Training Orchestration, Embedding & Transfer)
- Hardware Platform (5 contexts: Sensor Node, Edge Processing, WASM Runtime, Aggregation, Provisioning)
- Sensing Server (5 contexts: CSI Ingestion, Model Management, CSI Recording, Training Pipeline, Visualization)

Update DDD index (3 → 7 models) and README docs table.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 17:39:57 -05:00
ruv 8658cc3de0 docs: improve RuvSense domain model and add DDD index
- Add intro explaining DDD purpose and bounded context overview table
- Add Edge Intelligence bounded context (#7) for on-device sensing
- Add ubiquitous language terms: Edge Tier, WASM Module
- Fix frame rate 20 Hz -> 28 Hz (measured on hardware)
- Link each context to its source files and ADRs
- Add NVS configuration table and invariants for edge processing
- Create docs/ddd/README.md introducing all 3 domain models
- Update main README docs table to link to DDD index

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 17:02:39 -05:00
ruv 2e9b34ec9a docs: remove WiFi-Mat User Guide from docs table
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 16:58:39 -05:00
ruv 3eb8444f73 docs: link Architecture Decisions to ADR README index
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 16:58:12 -05:00
ruv cd7b914580 docs: add Fully Local feature to Key Features table
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 16:53:25 -05:00
ruv 6d799c2917 docs: move server-optional note below screenshot
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 16:42:54 -05:00
ruv d00b733c99 docs: link edge modules to Edge Intelligence section
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 16:40:03 -05:00
ruv 90b5beb1d4 docs: add "No Internet" to README tagline
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 16:38:07 -05:00
ruv b5af3bc528 docs: mention edge modules in README intro
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 16:36:11 -05:00
ruv 7e43edf26a docs: add ADR index with intro on ADRs for AI-assisted development
Explains why ADRs matter for AI-generated code (prevents drift,
provides constraints and rationale), how they work with DDD domain
models, and indexes all 44 ADRs by category.

Also fixes ADR count 43 -> 44 in main README.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 16:35:17 -05:00
ruv a7fe8b6799 docs: rewrite ESP32 hardware pipeline section with accurate metrics
- Fix binary size 777KB -> 947KB, frame rate 20Hz -> 28.5Hz
- Fix flash command: write_flash (not write-flash), 8MB (not 4MB)
- Add multi-node mesh provisioning with TDM examples
- Add Tier 3 WASM modules row
- Add fine-tuning provisioning flags (--vital-int, --fall-thresh, etc.)
- Plain-language descriptions throughout
- Note server is optional, ESP32 works standalone

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 16:28:07 -05:00
ruv c2e6546159 docs: move ESP32 independent operation note to hardware section
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 16:25:21 -05:00
ruv f953a309fe docs: mention ESP32 independent operation in README intro
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 16:24:06 -05:00
rUv 86f08303e6
docs: update changelog, user guide, and README for ADR-043 (#128)
- CHANGELOG: add ADR-043 entries (14 new API endpoints, WebSocket fix,
  mobile WS fix, 25 real mobile tests)
- README: update ADR count from 41 to 43
- CLAUDE.md: update ADR count from 32 to 43
- User guide: add 14 new REST endpoints to API reference table, note
  that /ws/sensing is available on the HTTP port, update ADR count
2026-03-03 15:21:52 -05:00
ruv 977da0f28e docs: link edge module categories to docs/edge-modules/ guides
Replace 48 ADR-041 anchor links with direct links to the 12
category-specific documentation files in docs/edge-modules/.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 11:59:21 -05:00
ruv e94c7056f2 feat: add ADR-042 CHCI protocol, 24 new edge modules, README restructure
- ADR-042: Coherent Human Channel Imaging (non-CSI sensing protocol)
  with DDD domain model (6 bounded contexts)
- 24 new WASM edge modules: medical (5), retail (5), security (5),
  building (5), industrial (5), exotic (8)
- README: plain-language rewrites, moved detail sections below TOC,
  added edge module links to use case tables, firmware release docs
- User guide: firmware release table, edge intelligence documentation
- .gitignore: added rules for wasm, esp32 temp files, NVS binaries
- WASM edge crate: cargo config, integration tests, module registry

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-03 11:35:57 -05:00
ruv 086b0e690f docs: update README with v0.2.0-esp32 release link and provision.py path
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-02 19:25:43 -05:00
ruv 51140f599f fix: update image references and remove obsolete screenshots 2026-03-02 11:11:58 -05:00
ruv 6a408b30e8 Refactor code structure for improved readability and maintainability 2026-03-02 11:07:41 -05:00
ruv 135d7d3d8c docs: add live pose detection screenshot to README
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-02 11:00:02 -05:00
ruv 4e925dba50 docs: update README with QUIC mesh security, CRV ADR-033 link, v0.3.0 changelog
- Add QUIC Mesh Security row to feature table (ADR-032)
- Fix Signal-Line Protocol link to ADR-033
- Update v3.1.0 changelog with ADR-032/032a, temporal gesture, attractor drift
- Update line counts (28K+ lines, 400+ tests, 15 crates published)

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-02 09:36:54 -05:00
ruv 0c01157e36 feat: ADR-032a midstreamer QUIC transport + secure TDM + temporal gesture + attractor drift
Integrate midstreamer ecosystem for QUIC-secured mesh transport and
advanced signal analysis:

QUIC Transport (hardware crate):
- quic_transport.rs: SecurityMode (ManualCrypto/QuicTransport), FramedMessage
  wire format, connection management, fallback support (856 lines, 30 tests)
- secure_tdm.rs: ReplayWindow, AuthenticatedBeacon (28-byte HMAC format),
  SecureTdmCoordinator with dual-mode security (994 lines, 20 tests)
- transport_bench.rs: Criterion benchmarks (plain vs authenticated vs QUIC)

Signal Analysis (signal crate):
- temporal_gesture.rs: DTW/LCS/EditDistance gesture matching via
  midstreamer-temporal-compare, quantized feature comparison (517 lines, 13 tests)
- attractor_drift.rs: Takens' theorem phase-space embedding, Lyapunov exponent
  classification (Stable/Periodic/Chaotic) via midstreamer-attractor (573 lines, 13 tests)

ADR-032 updated with Section 6: QUIC Transport Layer (ADR-032a)
README updated with CRV signal-line section, badge 1100+, ADR count 33

Dependencies: midstreamer-quic 0.1.0, midstreamer-scheduler 0.1.0,
midstreamer-temporal-compare 0.1.0, midstreamer-attractor 0.1.0

Total: 3,136 new lines, 76 tests, 6 benchmarks

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 22:22:19 -05:00
ruv 37b54d649b feat: implement ADR-029/030/031 — RuvSense multistatic sensing + field model + RuView fusion
12,126 lines of new Rust code across 22 modules with 285 tests:

ADR-029 RuvSense Core (signal crate, 10 modules):
- multiband.rs: Multi-band CSI frame fusion from channel hopping
- phase_align.rs: Cross-channel LO phase rotation correction
- multistatic.rs: Attention-weighted cross-node viewpoint fusion
- coherence.rs: Z-score per-subcarrier coherence scoring
- coherence_gate.rs: Accept/PredictOnly/Reject/Recalibrate gating
- pose_tracker.rs: 17-keypoint Kalman tracker with re-ID
- mod.rs: Pipeline orchestrator

ADR-030 Persistent Field Model (signal crate, 7 modules):
- field_model.rs: SVD-based room eigenstructure, Welford stats
- tomography.rs: Coarse RF tomography from link attenuations (ISTA)
- longitudinal.rs: Personal baseline drift detection over days
- intention.rs: Pre-movement prediction (200-500ms lead signals)
- cross_room.rs: Cross-room identity continuity
- gesture.rs: Gesture classification via DTW template matching
- adversarial.rs: Physically impossible signal detection

ADR-031 RuView (ruvector crate, 5 modules):
- attention.rs: Scaled dot-product with geometric bias
- geometry.rs: Geometric Diversity Index, Cramer-Rao bounds
- coherence.rs: Phase phasor coherence gating
- fusion.rs: MultistaticArray aggregate, fusion orchestrator
- mod.rs: Module exports

Training & Hardware:
- ruview_metrics.rs: 3-metric acceptance test (PCK/OKS, MOTA, vitals)
- esp32/tdm.rs: TDM sensing protocol, sync beacons, drift compensation
- Firmware: channel hopping, NDP injection, NVS config extensions

Security fixes:
- field_model.rs: saturating_sub prevents timestamp underflow
- longitudinal.rs: FIFO eviction note for bounded buffer

README updated with RuvSense section, new feature badges, changelog v3.1.0.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 21:39:02 -05:00
ruv 9c759f26db docs: add ADR-028 audit overview to README + collapsed section
- New collapsed section before Installation linking to witness log,
  ADR-028, and bundle generator
- Shows test counts, proof hash, and 3-command verification steps

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 15:54:14 -05:00
ruv 96b01008f7 docs: fix broken README links and add MERIDIAN details section
- Fix 5 broken anchor links → direct ADR doc paths (ADR-024, ADR-027, RuVector)
- Add full <details> section for Cross-Environment Generalization (ADR-027)
  matching the existing ADR-024 section pattern
- Add Project MERIDIAN to v3.0.0 changelog
- Update training pipeline 8-phase → 10-phase in changelog
- Update test count 542+ → 700+ in changelog

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 12:54:41 -05:00
ruv 2d6dc66f7c docs: update README, CHANGELOG, and associated ADRs for MERIDIAN
- CHANGELOG: add MERIDIAN (ADR-027) to Unreleased section
- README: add "Works Everywhere" to Intelligence features, update How It Works
- ADR-002: status → Superseded by ADR-016/017
- ADR-004: status → Partially realized by ADR-024, extended by ADR-027
- ADR-005: status → Partially realized by ADR-023, extended by ADR-027
- ADR-006: status → Partially realized by ADR-023, extended by ADR-027

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 12:06:09 -05:00
ruv fdd2b2a486 feat: ADR-027 Project MERIDIAN — Cross-Environment Domain Generalization
Deep SOTA research into WiFi sensing domain gap problem (2024-2026).
Proposes 7-phase implementation: hardware normalization, domain-adversarial
training with gradient reversal, geometry-conditioned FiLM inference,
virtual environment augmentation, few-shot rapid adaptation, and
cross-domain evaluation protocol.

Cites 10 papers: PerceptAlign, AdaPose, Person-in-WiFi 3D (CVPR 2024),
DGSense, CAPC, X-Fi (ICLR 2025), AM-FM, LatentCSI, Ganin GRL, FiLM.

Addresses the single biggest deployment blocker: models trained in one
room lose 40-70% accuracy in another room. MERIDIAN adds ~12K params
(67K total, still fits ESP32) for cross-layout + cross-hardware
generalization with zero-shot and few-shot adaptation paths.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 11:49:16 -05:00
ruv d8fd5f4eba docs: add How It Works section, fix ToC, update changelog to v3.0.0, add crates.io badge
- Add "How It Works" explainer between Key Features and Use Cases
- Add Self-Learning WiFi AI and AI Backbone to Table of Contents
- Update Key Features entry in ToC to match new sub-sections
- Fix changelog: v2.3.0/v2.2.0/v2.1.0 → v3.0.0/v2.0.0 (matches CHANGELOG.md)
- Add crates.io badge for wifi-densepose-ruvector

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 11:37:25 -05:00
ruv 9e483e2c0f docs: break Key Features into three titled tables with descriptions
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 11:34:44 -05:00
ruv f89b81cdfa docs: organize Key Features into Sensing, Intelligence, and Performance groups
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 11:33:26 -05:00
ruv 86e8ccd3d7 docs: add Self-Learning and AI Signal Processing to Key Features table
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 11:31:48 -05:00
ruv 4f7ad6d2e6 docs: fix model size inconsistency and add AI Backbone cross-reference in ADR-024 section
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 11:25:35 -05:00
ruv aaec699223 docs: move AI Backbone into collapsed section under Models & Training
- Remove RuVector AI section from Rust Crates details block
- Add as own collapsed <details> in Models & Training with anchor link
- Add cross-reference from crates table to new section
- Link to issue #67 for deep dive with code examples

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 11:23:15 -05:00
ruv 72f031ae80 docs: rewrite RuVector section with AI-focused framing
Replace dry API reference table with AI pipeline diagram, plain-language
capability descriptions, and "what it replaces" comparisons. Reframes
graph algorithms and sparse solvers as learned, self-optimizing AI
components that feed the DensePose neural network.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 11:21:02 -05:00
ruv 00530aee3a merge: resolve README conflict (26 ADRs includes ADR-025 + ADR-026)
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 11:02:18 -05:00
ruv 6a2ef11035 docs: cross-platform support in README, changelog, user guide
- README: update hardware table, crate description, scan layer heading
  for macOS + Linux support, bump ADR count to 25
- CHANGELOG: add cross-platform adapters and byte counter fix
- User guide: add macOS CoreWLAN and Linux iw data source sections
- CLAUDE.md: add pre-merge checklist (8 items)

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 11:00:46 -05:00
Claude ed3261fbcb
feat(ruvector): implement ADR-017 as wifi-densepose-ruvector crate + fix MAT warnings
New crate `wifi-densepose-ruvector` implements all 7 ruvector v2.0.4
integration points from ADR-017 (signal processing + MAT disaster detection):

signal::subcarrier   — mincut_subcarrier_partition (ruvector-mincut)
signal::spectrogram  — gate_spectrogram (ruvector-attn-mincut)
signal::bvp          — attention_weighted_bvp (ruvector-attention)
signal::fresnel      — solve_fresnel_geometry (ruvector-solver)
mat::triangulation   — solve_triangulation TDoA (ruvector-solver)
mat::breathing       — CompressedBreathingBuffer 50-75% mem reduction (ruvector-temporal-tensor)
mat::heartbeat       — CompressedHeartbeatSpectrogram tiered compression (ruvector-temporal-tensor)

16 tests, 0 compilation errors. Workspace grows from 14 → 15 crates.

MAT crate: fix all 54 warnings (0 remaining in wifi-densepose-mat):
- Remove unused imports (Arc, HashMap, RwLock, mpsc, Mutex, ConfidenceScore, etc.)
- Prefix unused variables with _ (timestamp_low, agc, perm)
- Add #![allow(unexpected_cfgs)] for onnx feature gates in ML files
- Move onnx-conditional imports under #[cfg(feature = "onnx")] guards

README: update crate count 14→15, ADR count 24→26, add ruvector crate
table with 7-row integration summary.

Total tests: 939 → 955 (16 new). All passing, 0 regressions.

https://claude.ai/code/session_0164UZu6rG6gA15HmVyLZAmU
2026-03-01 15:50:05 +00:00
ruv a6382fb026 feat: Add macOS CoreWLAN WiFi sensing adapter and user guide
- Introduced ADR-025 documenting the implementation of a macOS CoreWLAN sensing adapter using a Swift helper binary and Rust integration.
- Added a new user guide detailing installation, usage, and hardware setup for WiFi DensePose, including Docker and source build instructions.
- Included sections on data sources, REST API reference, WebSocket streaming, and vital sign detection.
- Documented hardware requirements and troubleshooting steps for various setups.
2026-03-01 02:15:44 -05:00
ruv a0b5506b8c docs: rename embedding section to Self-Learning WiFi AI
Reframe the ADR-024 section header to emphasize AI self-learning and
adaptive optimization rather than technical CSI embedding terminology.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 01:47:21 -05:00
rUv 9bbe95648c
feat: ADR-024 Contrastive CSI Embedding Model — all 7 phases (#52)
Full implementation of Project AETHER — Contrastive CSI Embedding Model.

## Phases Delivered
1. ProjectionHead (64→128→128) + L2 normalization
2. CsiAugmenter (5 physically-motivated augmentations)
3. InfoNCE contrastive loss + SimCLR pretraining
4. FingerprintIndex (4 index types: env, activity, temporal, person)
5. RVF SEG_EMBED (0x0C) + CLI integration
6. Cross-modal alignment (PoseEncoder + InfoNCE)
7. Deep RuVector: MicroLoRA, EWC++, drift detection, hard-negative mining, SEG_LORA

## Stats
- 276 tests passing (191 lib + 51 bin + 16 rvf + 18 vitals)
- 3,342 additions across 8 files
- Zero unsafe/unwrap/panic/todo stubs
- ~55KB INT8 model for ESP32 edge deployment

Also fixes deprecated GitHub Actions (v3→v4) and adds feat/* branch CI triggers.

Closes #50
2026-03-01 01:44:38 -05:00
ruv 44b9c30dbc fix: Docker port mismatch — server now binds 3000/3001 as documented
The sensing server defaults to HTTP :8080 and WS :8765, but Docker
exposes :3000/:3001. Added --http-port 3000 --ws-port 3001 to CMD
in both Dockerfile.rust and docker-compose.yml.

Verified both images build and run:
- Rust: 133 MB, all endpoints responding (health, sensing/latest,
  vital-signs, pose/current, info, model/info, UI)
- Python: 569 MB, all packages importable (websockets, fastapi)
- RVF file: 13 KB, valid RVFS magic bytes

Also fixed README Quick Start endpoints to match actual routes:
- /api/v1/health → /health
- /api/v1/sensing → /api/v1/sensing/latest
- Added /api/v1/pose/current and /api/v1/info examples
- Added port mapping note for Docker vs local dev

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:56:41 -05:00
ruv 50f0fc955b docs: Replace ASCII architecture with Mermaid diagrams
Replace the single ASCII box diagram with 3 styled Mermaid diagrams:

1. End-to-End Pipeline — full data flow from WiFi routers through
   signal processing (6 stages with ruvector crate labels), neural
   pipeline (graph transformer + SONA), vital signs, to output layer
   (REST, WebSocket, Analytics, UI). Dark theme with color-coded
   subsystem groups.

2. Signal Processing Detail — zoomed-in CSI cleanup pipeline showing
   conjugate multiply, phase unwrap, Hampel filter, min-cut partition,
   attention gate, STFT, Fresnel, and BVP stages.

3. Deployment Topology — ESP32 mesh (edge) → Rust sensing server
   (3 ports) → clients (browser, mobile, dashboard, IoT).

Component table expanded from 7 to 11 entries with crate/module
column linking each component to its source.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:48:57 -05:00
ruv 0afd9c5434 docs: Expand Use Cases into visible intro + 4 collapsed verticals
Restructure Use Cases & Applications as a visible section with:
- Intro paragraph + scaling note (always visible)
- "Why WiFi wins" comparison table vs cameras/PIR (always visible)
- 4 collapsed tiers: Everyday (8 use cases), Specialized (9),
  Robotics & Industrial (8, new), Extreme (8)
- Each row now includes a Key Metric column
- New robotics section: cobots, AMR navigation, android spatial
  awareness, manufacturing, construction, agricultural, drones,
  clean rooms

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:45:21 -05:00
ruv 965a1ccef2 docs: Enrich Models & Training section with RuVector repo links
- ToC: Add ruvector GitHub link and integration point count
- RVF Container: Add deployment targets table (ESP32 0.7MB to server
  50MB), link to rvf crate family on GitHub
- Training: Add RuVector column to pipeline table showing which crate
  powers each phase, add SONA component breakdown table, link arXiv
- RuVector Crates: Split into 5 directly-used (with integration
  points mapped to exact .rs files) and 6 additional vendored, add
  crates.io and GitHub source links for all 11

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:41:05 -05:00
ruv b5ca361f0e docs: Add use cases section and fix multi-person limit accuracy
Add collapsible Use Cases & Applications section organized from
practical (elderly care, hospitals, retail) to specialized (events,
warehouses) to extreme (search & rescue, through-wall). Includes
hardware requirements and scaling notes per category.

Fix multi-person description to reflect reality: no hard software
limit, practical ceiling is signal physics (~3-5 per AP at 56
subcarriers, linear scaling with multi-AP).

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:36:53 -05:00
ruv e2ce250dba docs: Fix multi-person limit — configurable default, not hard cap
The 10-person limit is just the default setting (pose_max_persons=10).
The API accepts 1-50, docs show configs up to 50, and Rust uses Option<u8>.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:34:02 -05:00