ruview @ v1052
integrity
- size
- 55.3 MiB
- downloaded
- last checked
release notes
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
download
curl -fL -o v1052.zip https://ratatoskr.space/pkg/ruview/v1052.zip
printf '%s %s\n' 'dab7d2c10aab32eb6b7da17bcd616b27edf044d25dd0df3c20432e8beec95ae4' 'v1052.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1052.zip"
$out = "v1052.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "dab7d2c10aab32eb6b7da17bcd616b27edf044d25dd0df3c20432e8beec95ae4") { throw "sha256 mismatch" }
curl -fL -o v1052.tar.gz https://ratatoskr.space/pkg/ruview/v1052.tar.gz
printf '%s %s\n' 'ee4520bb5f3c1f8ff449887d236685fca45c9c6e980cb941275037916afd0dd1' 'v1052.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1052.tar.gz"
$out = "v1052.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "ee4520bb5f3c1f8ff449887d236685fca45c9c6e980cb941275037916afd0dd1") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1052.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1052.zip
printf '%s %s\n' 'dab7d2c10aab32eb6b7da17bcd616b27edf044d25dd0df3c20432e8beec95ae4' 'v1052.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1052.zip"
$out = "v1052.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "dab7d2c10aab32eb6b7da17bcd616b27edf044d25dd0df3c20432e8beec95ae4") { throw "sha256 mismatch" }
curl -fL -o v1052.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1052.tar.gz
printf '%s %s\n' 'ee4520bb5f3c1f8ff449887d236685fca45c9c6e980cb941275037916afd0dd1' 'v1052.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1052.tar.gz"
$out = "v1052.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "ee4520bb5f3c1f8ff449887d236685fca45c9c6e980cb941275037916afd0dd1") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1052.zip | zip | 55.2 MiB |
blake3-24 b102b3a9518793c420b59e5545877d29194e203f5eba701c
sha256 dab7d2c10aab32eb6b7da17bcd616b27edf044d25dd0df3c20432e8beec95ae4
sha1 6dae3d7149a530e2a211422f47db0450eb261715
|
| v1052.tar.gz | tar.gz | 53.9 MiB |
blake3-24 b5aef1ab1a78b2d9ed28775a02dfa3bf77879eca7ea80314
sha256 ee4520bb5f3c1f8ff449887d236685fca45c9c6e980cb941275037916afd0dd1
sha1 e0b9446fede49aeb7a871de9c5400502f1a72e6f
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1052.tar.gz"],
integrity = "sha256-7kUgu188H4/0SYh9I2aF/KRcnG6YDLlBJ1A3kWr9DdE=",
strip_prefix = "ruview-v1052",
)
.url = "https://ratatoskr.space/pkg/ruview/v1052.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1052.tar.gz"],
integrity = "sha256-7kUgu188H4/0SYh9I2aF/KRcnG6YDLlBJ1A3kWr9DdE=",
strip_prefix = "ruview-v1052",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1052.tar.gz",