ruview @ v1049
integrity
- size
- 55.3 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: feat(tools/ruview-mcp): M2 — wire real inference via cog health (#706)
- research(R9): RSSI fingerprint K-NN — 2.18x lift (MODERATE); surfaces counting-vs-localization asymmetry
Hypothesis: if temporal proximity correlates with RSSI-feature proximity in the existing single-session data, RSSI fingerprinting is viable. If K-NN of each query is random in time, RSSI sequences are too noisy for fingerprint localization.
Test: 1077 samples, 20-dim RSSI proxy (band-mean across 56 subcarriers), cosine-NN with K=5, measure fraction of K-NN within plus/minus 60s of each query timestamp. Compare to random baseline.
Result (honest):
5-NN within +/-60s 0.169 Random baseline 0.077 Lift over random 2.18x (verdict: MODERATE) Per-query stdev 0.183
Below the >=3x STRONG-fingerprint threshold but well above 1x random. Real signal, but weaker than R8 counting result on the same data.
Important asymmetry surfaced (publishable distinction):
Task RSSI vs CSI retention Verdict
Counting 94.82% (R8) RSSI works well Localization ~2x random (R9) RSSI struggles in this regime
This is consistent with R5's band-spread observation: the count signal integrates across the band, but localization may require per-subcarrier shape that the band-mean discards.
Three actionable explanations for the MODERATE result:
- 20-frame windows (~2s) too short for stable fingerprint while operator moves — longer windows might lift to 3-4x.
- Within-room fingerprint space too narrow — multi-room data would show categorical lift jump (5-10x).
- Band-mean discards the per-subcarrier shape needed for localization.
Once multi-room data lands (#645), this test should be re-run; if hypothesis (2) is right, the lift will jump categorically.
Files:
-
examples/research-sota/r9_rssi_fingerprint_knn.py
-
examples/research-sota/r9_rssi_fingerprint_results.json
-
docs/research/sota-2026-05-22/R9-rssi-fingerprint-knn.md
-
docs/research/sota-2026-05-22/PROGRESS.md updated
-
feat(tools/ruview-mcp): M2 — wire real inference via cog health subcommand
ruview_pose_infer and ruview_count_infer now run the cog binary's health
subcommand (ADR-100 contract) which performs real Candle forward-pass
inference on a synthetic CSI window and emits a structured health.ok JSON
event containing backend, confidence (pose) or count/confidence/p95_range
(count). The MCP tools parse this event and return typed inference results.
This satisfies the ADR-104 acceptance gate: "ruview_pose_infer returns a finite output for a synthetic CSI window" when the cog binary is installed. On machines without the binary, both tools still fail-open with {ok:false, warn:true} and actionable install hints.
Also updates PROGRESS.md with cross-links: R7 (Stoer-Wagner) and R8 (RSSI-only 94.82% retained) marked done with cron-originated findings distilled into the research vectors section.
Co-Authored-By: claude-flow ruv@ruv.net
Docker Image:
ghcr.io/ruvnet/RuView:2783f40bd1146f065281987821fcf97079d48b87
download
curl -fL -o v1049.zip https://ratatoskr.space/pkg/ruview/v1049.zip
printf '%s %s\n' 'abb1e8209a3ff6962b79065b87500285cf3297a448997cd8589e33357e1ee1c5' 'v1049.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1049.zip"
$out = "v1049.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "abb1e8209a3ff6962b79065b87500285cf3297a448997cd8589e33357e1ee1c5") { throw "sha256 mismatch" }
curl -fL -o v1049.tar.gz https://ratatoskr.space/pkg/ruview/v1049.tar.gz
printf '%s %s\n' '60cb551922f717f66360fea5497ca4a35c9b6f3796461240425ff1db476261a1' 'v1049.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1049.tar.gz"
$out = "v1049.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "60cb551922f717f66360fea5497ca4a35c9b6f3796461240425ff1db476261a1") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1049.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1049.zip
printf '%s %s\n' 'abb1e8209a3ff6962b79065b87500285cf3297a448997cd8589e33357e1ee1c5' 'v1049.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1049.zip"
$out = "v1049.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "abb1e8209a3ff6962b79065b87500285cf3297a448997cd8589e33357e1ee1c5") { throw "sha256 mismatch" }
curl -fL -o v1049.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1049.tar.gz
printf '%s %s\n' '60cb551922f717f66360fea5497ca4a35c9b6f3796461240425ff1db476261a1' 'v1049.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1049.tar.gz"
$out = "v1049.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "60cb551922f717f66360fea5497ca4a35c9b6f3796461240425ff1db476261a1") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1049.zip | zip | 55.2 MiB |
blake3-24 f7b167f7ef21f9d6fe4abf1f8a6b691a5cc354b967064280
sha256 abb1e8209a3ff6962b79065b87500285cf3297a448997cd8589e33357e1ee1c5
sha1 17ff7a2726d7245d032e14a10905c2302d29225b
|
| v1049.tar.gz | tar.gz | 53.8 MiB |
blake3-24 d246c2b9e7c6ceeeb1eb3d2be99e03f5df445bf75da51901
sha256 60cb551922f717f66360fea5497ca4a35c9b6f3796461240425ff1db476261a1
sha1 3fbe2d6081f3639bcf88680cc5744368f2374a45
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1049.tar.gz"],
integrity = "sha256-YMtVGSL3F/ZjYP6lSXyko1ybbzeWRhJAQl/x20diYaE=",
strip_prefix = "ruview-v1049",
)
.url = "https://ratatoskr.space/pkg/ruview/v1049.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1049.tar.gz"],
integrity = "sha256-YMtVGSL3F/ZjYP6lSXyko1ybbzeWRhJAQl/x20diYaE=",
strip_prefix = "ruview-v1049",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1049.tar.gz",