yggvault ratatoskr-space connected via regular web
Color theme
also available via yggdrasil mesh http://[203:b338:2a84:a18f:986:47ae:1a4:d8d3]/pkg/ruview/v1731
vault / ruview / v1731

ruview @ v1731

integrity

size
61.6 MiB
downloaded
last checked
source https://github.com/ruvnet/RuView · available · github

release notes

Automated release from CI pipeline

Changes: feat(beyond-sota): ADR-157 M1 — constant-time HMAC compare + MEASURED 5.57x native wlanapi scan (#1054)

AuthenticatedBeacon::verify compared the 8-byte HMAC-SHA256 tag with self.hmac_tag == expected, which short-circuits on the first differing byte and leaks, via verification latency, how many leading bytes a forged tag matched — a byte-by-byte tag-recovery oracle (~256·N trials vs 256^N).

Replace with a hand-rolled branch-free constant_time_tag_eq: XOR-accumulate every byte difference into a single u8 with no early exit, compare to zero once. #[inline(never)] + core::hint::black_box(diff) resist the optimizer reintroducing a short-circuit or a non-constant-time memcmp; length mismatch returns false without inspecting contents. No new dependency — ADR-157 had deferred this only to avoid the subtle crate; a fixed 8-byte compare needs none.

Test (hard gate): tag_compare_is_constant_time_shape — equal / first-differ / last-differ / all-differ / length-mismatch + end-to-end verify() last-byte tamper. Proven to fail on a last-byte-skipping constant-time bug. A coarse timing smoke check (tag_compare_timing_invariance_smoke) is #[ignore]d to avoid CI flakiness. Grade MEASURED (constant-time construction).

ADR-157 §8 §B4 → RESOLVED. wifi-densepose-hardware: 164 passed / 0 failed.

Co-Authored-By: claude-flow ruv@ruv.net

ADR-157 §5 #4 recorded the native wlanapi.dll multi-BSSID fast path as "asserted but NOT implemented; live scanner is the ~2 Hz netsh shim". Audit finding: that status is stale — wlanapi_native::scan_native already implements the real WlanOpenHandle → WlanEnumInterfaces → WlanGetNetworkBssList → WlanFreeMemory/WlanCloseHandle FFI (handle cleanup on all exits, length-bounded buffer walks, #[cfg(windows)] with typed Unsupported off-Windows), and WlanApiScanner::scan_instrumented already wires it native-first with a netsh fallback. The missing piece was an honest MEASUREMENT.

Add benchmark_backend(backend, window): drives one specific backend over a fixed wall-clock window so netsh is timed independently (the existing benchmark() picks native-first and so never measures netsh on a box where native works). Returns None for an unavailable native path (honest negative, not a fabricated number).

MEASURED on this box (Intel Wi-Fi 7 BE201 320MHz, 2026-06-13), 10 s window: native 21.42 Hz vs netsh 3.84 Hz = 5.57× (mean 5.0 BSSIDs/scan each). native-only run: 18.0 Hz. 50/50 back-to-back native scans, no handle leak. A real positive result — NOT a fabricated 10×. Achieved 21.4 Hz is in the asserted >2 Hz regime, below the asserted 10–20 Hz upper bound.

Tests (live-WLAN, #[ignore] for CI, RUN here): measure_native_vs_netsh_throughput, native_scans_dont_leak_handles, measure_native_scan_rate. Non-ignored pin native_scan_runs_real_ffi_on_windows (pre-existing) stays green. wifi-densepose-wifiscan: 94 passed / 0 failed.

ADR-157 §5 #4 + §8 → MEASURED (was ACCEPTED-FUTURE / CLAIMED-unmeasured).

Co-Authored-By: claude-flow ruv@ruv.net

Docker Image: ghcr.io/ruvnet/RuView:cf2a85db66c1fed105d0a8148c1684344b76cc59

download

unix · zip
curl -fL -o v1731.zip https://ratatoskr.space/pkg/ruview/v1731.zip
                    printf '%s  %s\n' 'c1d444fc89b14b1eedf4ce1ac2e9833fdb3c964f8c2198e4dcea8df3d534e5fb' 'v1731.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/ruview/v1731.zip"
$out = "v1731.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "c1d444fc89b14b1eedf4ce1ac2e9833fdb3c964f8c2198e4dcea8df3d534e5fb") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1731.tar.gz https://ratatoskr.space/pkg/ruview/v1731.tar.gz
                    printf '%s  %s\n' 'f23fe5557d5b76b67042ea4bcbd7daa2c1d7e8e85f166f30e354c0d2acde93c4' 'v1731.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/ruview/v1731.tar.gz"
$out = "v1731.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f23fe5557d5b76b67042ea4bcbd7daa2c1d7e8e85f166f30e354c0d2acde93c4") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v1731.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1731.zip
                    printf '%s  %s\n' 'c1d444fc89b14b1eedf4ce1ac2e9833fdb3c964f8c2198e4dcea8df3d534e5fb' 'v1731.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1731.zip"
$out = "v1731.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "c1d444fc89b14b1eedf4ce1ac2e9833fdb3c964f8c2198e4dcea8df3d534e5fb") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1731.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1731.tar.gz
                    printf '%s  %s\n' 'f23fe5557d5b76b67042ea4bcbd7daa2c1d7e8e85f166f30e354c0d2acde93c4' 'v1731.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1731.tar.gz"
$out = "v1731.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f23fe5557d5b76b67042ea4bcbd7daa2c1d7e8e85f166f30e354c0d2acde93c4") { throw "sha256 mismatch" }
artifact format size hashes
v1731.zip zip 61.6 MiB
blake3-24 5f90d35284c394aa0943a952f9ced1623ea366bdac5d2dfa
sha256 c1d444fc89b14b1eedf4ce1ac2e9833fdb3c964f8c2198e4dcea8df3d534e5fb
sha1 8681c5330f7b565a72a898e1737972a90b601bd5
v1731.tar.gz tar.gz 59.8 MiB
blake3-24 eadaa24f7a3073cb4cec34c427c54bd7199101c3c7011bca
sha256 f23fe5557d5b76b67042ea4bcbd7daa2c1d7e8e85f166f30e354c0d2acde93c4
sha1 8da2c88fedd1bcf4f07e06d7e5bae93995afd05a

install

bazel
http_archive(
    name = "ruview",
    urls = ["https://ratatoskr.space/pkg/ruview/v1731.tar.gz"],
    integrity = "sha256-8j/lVX1bdrZwQupLy9faosHX6OhfFm8w41TA0qzek8Q=",
    strip_prefix = "ruview-v1731",
)
zig
.url = "https://ratatoskr.space/pkg/ruview/v1731.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
    name = "ruview",
    urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1731.tar.gz"],
    integrity = "sha256-8j/lVX1bdrZwQupLy9faosHX6OhfFm8w41TA0qzek8Q=",
    strip_prefix = "ruview-v1731",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1731.tar.gz",
← v1734v1728 →