Automated release from CI pipeline
Changes:
research(R12): RF weather mapping eigenshift — negative-ish, with clearly-actionable revision path (#707)
Tests the simplest possible algorithm for RF-weather change detection:
SVD on per-frame CSI matrix, top-10 singular values, cosine distance
between spectra over time. Hypothesis: a synthetic structural
perturbation (15 percent attenuation on 3 top-saliency subcarriers)
should produce a larger spectral shift than natural temporal drift
from operator movement in the same recording.
Result honestly: it does not. The perturbation distance (0.00024) is
smaller than the control distance (0.00035) — signal/drift ratio
0.69x. The top-K SVD-spectrum cosine is too coarse to detect
small-magnitude subcarrier-specific structural changes against an
operator-noise background.
Three concrete fixes identified for follow-up ticks:
- Principal angles between subspaces (PABS), not cosine on singular
values — catches subspace rotations the spectrum misses - Per-subcarrier residual analysis after projecting onto baseline
subspace — localises the perturbation - Multi-day baseline — knocks down operator-noise floor by 50-100x
Useful cross-validations the negative result produces:
- R5 task-specific saliency (count-task) does not generalise to
structure-detection saliency. Same data, different relevant
features. Publishable distinction. - R12 is CSI-only territory — RSSI is the trace of the CSI
covariance, so if top-10 SVD-spectrum can't see this, RSSI can't
either. Bounds R8 commercial-enablement story to counting only. - R7 SVD-spectrum primitive that worked for adversarial detection
fails here at lower perturbation magnitude. Sensitivity does NOT
scale with subtlety — confirms the algorithm is magnitude-dominated.
Long-horizon vision (building structural monitoring, earthquake drift,
HVAC audits, climate-controlled-archive surveillance) preserved in the
research note — the physics is right, the hardware is sufficient,
the deployment story works. Just need PABS + multi-day data.
Coordination note: this tick avoided PROGRESS.md edits entirely
because horizon-tracker is concurrently editing it. Tick-5 summary
written to ticks/tick-5.md (new self-contained convention) so the
08:00 ET final summary can consolidate without conflicts.
Files:
- examples/research-sota/r12_rf_weather_eigenshift.py
- examples/research-sota/r12_rf_weather_results.json
- docs/research/sota-2026-05-22/R12-rf-weather-mapping.md
- docs/research/sota-2026-05-22/ticks/tick-5.md
Docker Image:
ghcr.io/ruvnet/RuView:6b3589684712486ef4259ee299b2ef9229ad11f0