Commit Graph

4 Commits

Author SHA1 Message Date
ruv
8da6767273 fix: harden MERIDIAN modules from code review + security audit
- domain.rs: atomic instance counter for unique Linear weight seeds (C3)
- rapid_adapt.rs: adapt() returns Result instead of panicking (C5),
  bounded calibration buffer with max_buffer_frames cap (F1-HIGH),
  validate lora_rank >= 1 (F10)
- geometry.rs: 24-bit PRNG precision matching f32 mantissa (C2)
- virtual_aug.rs: guard against room_scale=0 division-by-zero (F6)
- signal/lib.rs: re-export AmplitudeStats from hardware_norm (W1)
- train/lib.rs: crate-root re-exports for all MERIDIAN types (W2)

All 201 tests pass (96 unit + 24 integration + 18 subcarrier +
10 metrics + 7 doctests + 105 signal + 10 validation + 1 signal doctest).

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 12:11:56 -05:00
ruv
0a30f7904d feat: ADR-027 MERIDIAN — all 6 phases implemented (1,858 lines, 72 tests)
Phase 1: HardwareNormalizer (hardware_norm.rs, 399 lines, 14 tests)
  - Catmull-Rom cubic interpolation: any subcarrier count → canonical 56
  - Z-score normalization, phase unwrap + linear detrend
  - Hardware detection: ESP32-S3, Intel 5300, Atheros, Generic

Phase 2: DomainFactorizer + GRL (domain.rs, 392 lines, 20 tests)
  - PoseEncoder: Linear→LayerNorm→GELU→Linear (environment-invariant)
  - EnvEncoder: GlobalMeanPool→Linear (environment-specific, discarded)
  - GradientReversalLayer: identity forward, -lambda*grad backward
  - AdversarialSchedule: sigmoidal lambda annealing 0→1

Phase 3: GeometryEncoder + FiLM (geometry.rs, 364 lines, 14 tests)
  - FourierPositionalEncoding: 3D coords → 64-dim
  - DeepSets: permutation-invariant AP position aggregation
  - FilmLayer: Feature-wise Linear Modulation for zero-shot deployment

Phase 4: VirtualDomainAugmentor (virtual_aug.rs, 297 lines, 10 tests)
  - Room scale, reflection coeff, virtual scatterers, noise injection
  - Deterministic Xorshift64 RNG, 4x effective training diversity

Phase 5: RapidAdaptation (rapid_adapt.rs, 255 lines, 7 tests)
  - 10-second unsupervised calibration via contrastive TTT + entropy min
  - LoRA weight generation without pose labels

Phase 6: CrossDomainEvaluator (eval.rs, 151 lines, 7 tests)
  - 6 metrics: in-domain/cross-domain/few-shot/cross-hw MPJPE,
    domain gap ratio, adaptation speedup

All 72 MERIDIAN tests pass. Full workspace compiles clean.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 12:03:40 -05:00
Claude
fcb93ccb2d feat: Implement ADR-014 SOTA signal processing (6 algorithms, 83 tests)
Add six research-grade signal processing algorithms to wifi-densepose-signal:

- Conjugate Multiplication: CFO/SFO cancellation via antenna ratio (SpotFi)
- Hampel Filter: Robust median/MAD outlier detection (50% contamination resistant)
- Fresnel Zone Model: Physics-based breathing detection from chest displacement
- CSI Spectrogram: STFT time-frequency generation with 4 window functions
- Subcarrier Selection: Variance-ratio ranking for top-K motion-sensitive subcarriers
- Body Velocity Profile: Domain-independent Doppler velocity mapping (Widar 3.0)

All 313 workspace tests pass, 0 failures. Updated README with new capabilities.

https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
2026-02-28 14:34:16 +00:00
Claude
6ed69a3d48 feat: Complete Rust port of WiFi-DensePose with modular crates
Major changes:
- Organized Python v1 implementation into v1/ subdirectory
- Created Rust workspace with 9 modular crates:
  - wifi-densepose-core: Core types, traits, errors
  - wifi-densepose-signal: CSI processing, phase sanitization, FFT
  - wifi-densepose-nn: Neural network inference (ONNX/Candle/tch)
  - wifi-densepose-api: Axum-based REST/WebSocket API
  - wifi-densepose-db: SQLx database layer
  - wifi-densepose-config: Configuration management
  - wifi-densepose-hardware: Hardware abstraction
  - wifi-densepose-wasm: WebAssembly bindings
  - wifi-densepose-cli: Command-line interface

Documentation:
- ADR-001: Workspace structure
- ADR-002: Signal processing library selection
- ADR-003: Neural network inference strategy
- DDD domain model with bounded contexts

Testing:
- 69 tests passing across all crates
- Signal processing: 45 tests
- Neural networks: 21 tests
- Core: 3 doc tests

Performance targets:
- 10x faster CSI processing (~0.5ms vs ~5ms)
- 5x lower memory usage (~100MB vs ~500MB)
- WASM support for browser deployment
2026-01-13 03:11:16 +00:00