ruview @ v1079
integrity
- size
- 55.6 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: research(R6.2.2): N-anchor multistatic placement saturation — practical knee at N=5 (#720)
Extends R6.2 from single-pair to N-anchor placement search via union of all C(N,2) pairwise Fresnel ellipses. Greedy + K=8 random restarts.
Saturation curve on 5x5 m bedroom (3 target zones: bed + chair + desk, 40 wall-candidates, 434 grid points, 2.4 GHz):
| N | Pairs | Coverage | Marginal |
|---|---|---|---|
| 2 | 1 | 35.7% | +35.7 pp |
| 3 | 3 | 63.4% | +27.6 pp |
| 4 | 6 | 86.2% | +22.8 pp |
| 5 | 10 | 96.8% | +10.6 pp |
| 6 | 15 | 100.0% | +3.2 pp |
| 7 | 21 | 100.0% | +0.0 pp |
Practical knee at N=5. Past this, diminishing returns.
Three regimes:
- Single-feature (presence): 2-3 anchors (36-63%)
- Multi-feature (pose+vitals+count): 4-5 anchors (86-97%)
- Mission-critical (medical): 6 anchors (100%)
- Beyond 6: wasted
Cost-optimisation: Cognitum Seed BOM is 9-15 USD. The 4->5 anchor jump buys +10.6 pp coverage; the 5->6 jump buys only +3.2 pp for the same cost. Consumer recommendation: 5 anchors. Commercial / medical: 6.
Convenient numerology: N=5 simultaneously satisfies three other constraints:
- R7 multi-link mincut: needs N >= 4 for single-anchor-compromise detection
- ADR-105 federation Krum: f=1 byzantine tolerance requires K >= 5
- R6.2.2 coverage knee: 5 hits practical saturation
These all bound by similar inverse-square-of-geometry scaling, so the alignment is not coincidental.
ADR-029 (multistatic) didn't specify anchor counts; R6.2.2 fills that gap with a benchmark-backed number.
Honest scope: single 5x5m geometry tested, 2D still (R6.2.1 = 3D not yet built), free-space (multipath adds +5-15% beyond Fresnel), greedy with 8 restarts approximates global optimum to 1-2 pp.
Composes with:
- R6/R6.2 (direct generalisation)
- R7 (mincut needs N>=4)
- R1 (placement x precision = full geometry budget)
- ADR-029 (architectural recommendation now has a number)
- ADR-105 (Krum bound matches)
- R10, R11, R14 (other geometries / use cases)
Coordination: ticks/tick-17.md, no PROGRESS.md edit.
Docker Image:
ghcr.io/ruvnet/RuView:065521dc9ecf3e74664488d866b9c252b9756bf5
download
curl -fL -o v1079.zip https://ratatoskr.space/pkg/ruview/v1079.zip
printf '%s %s\n' 'fd7b3f411cd152cd27399538e37227354098b262dfb24006418d0eff06080255' 'v1079.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1079.zip"
$out = "v1079.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "fd7b3f411cd152cd27399538e37227354098b262dfb24006418d0eff06080255") { throw "sha256 mismatch" }
curl -fL -o v1079.tar.gz https://ratatoskr.space/pkg/ruview/v1079.tar.gz
printf '%s %s\n' '0e3fd46b90630c71c484a38aea7bd2a102edb28c6d7279ca784197f52e09fc5a' 'v1079.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1079.tar.gz"
$out = "v1079.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "0e3fd46b90630c71c484a38aea7bd2a102edb28c6d7279ca784197f52e09fc5a") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1079.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1079.zip
printf '%s %s\n' 'fd7b3f411cd152cd27399538e37227354098b262dfb24006418d0eff06080255' 'v1079.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1079.zip"
$out = "v1079.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "fd7b3f411cd152cd27399538e37227354098b262dfb24006418d0eff06080255") { throw "sha256 mismatch" }
curl -fL -o v1079.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1079.tar.gz
printf '%s %s\n' '0e3fd46b90630c71c484a38aea7bd2a102edb28c6d7279ca784197f52e09fc5a' 'v1079.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1079.tar.gz"
$out = "v1079.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "0e3fd46b90630c71c484a38aea7bd2a102edb28c6d7279ca784197f52e09fc5a") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1079.zip | zip | 55.5 MiB |
blake3-24 02aa3f885db7a5e1b36ac533c5f7db4174265d2ada3c800f
sha256 fd7b3f411cd152cd27399538e37227354098b262dfb24006418d0eff06080255
sha1 742ec92c2b8af074acacb1d889b46a2e6014ce34
|
| v1079.tar.gz | tar.gz | 54.1 MiB |
blake3-24 4d406bad358ae2e8d6a80d567272769f8a6eec8b3b994416
sha256 0e3fd46b90630c71c484a38aea7bd2a102edb28c6d7279ca784197f52e09fc5a
sha1 6dd03cb8bfea353fb45ac1d4552028a9f9bb1535
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1079.tar.gz"],
integrity = "sha256-Dj/Ua5BjDHHEhKOK6nvSoQLtsoxtcnnKeEGX9S4J/Fo=",
strip_prefix = "ruview-v1079",
)
.url = "https://ratatoskr.space/pkg/ruview/v1079.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1079.tar.gz"],
integrity = "sha256-Dj/Ua5BjDHHEhKOK6nvSoQLtsoxtcnnKeEGX9S4J/Fo=",
strip_prefix = "ruview-v1079",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1079.tar.gz",