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 |
|