ruview @ v2390
integrity
- size
- 53.5 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: feat(rufield): ultrasonic as the field surface's second modality (#1716)
ADR-262 §8 question 5 left the second modality open, asking whether it should be rvcsi. This answers ultrasonic instead, because the cost collapsed: rufield-adapters now ships UltrasonicReplayAdapter, the first adapter for Modality::Ultrasonic (registry code 7, empty since v0.1), which parses, validates and signs BatVu range profiles upstream. RuView only has to decide what it will put on a wire.
Bumps vendor/rufield 43b1df3 -> 9955672. Two struct literals in bridge.rs gain fields added upstream (Observation: track_id, attributes, identity_evidence, channel_sounding_provenance; SensorDescriptor: coordinate_frame, position_m, orientation_xyzw). All left empty, each for a stated reason rather than a convenient default — the pose fields in particular, because a CSI link has no boresight and §6 makes no validated room-coordinate claim. The nine existing P1 gates pass unchanged.
The decision this module makes is structural rather than a runtime refusal. The adapter's full per-bin frame is P0 and would be dropped by the egress gate after all the work of parsing and signing it; its 32-bin coarse reduction is P1 and egress-safe. So the module does not offer the choice — it configures the coarse mode, because a consumer cannot un-coarsen a coarse profile whereas a check can be reordered. The gate still runs and is asserted to drop nothing.
12 gates in tests/ultrasonic_gates.rs, including the honest negative result: an
ultrasonic scan produces no fused inferences at all, and both independent
reasons are pinned. The adapter declines to populate presence — one
transducer pair cannot distinguish a person from a coat over the back of a
chair — and the engine's feature vocabulary is entirely statements about a
body, so range_m has nothing to drive.
The fixture is BatVu's own emitter output, byte-identical to the one in ruvnet/rufield, so schema drift fails a build in one of three repositories rather than an ingest in a deployment.
Not wired into the running server; P1 shipped as a library before P3 wired it in, and this follows the same staging.
Docker Image:
ghcr.io/ruvnet/RuView:d42c5581f34fe8e50b053971d387fb8c56a3baf4
download
curl -fL -o v2390.zip https://ratatoskr.space/pkg/ruview/v2390.zip
printf '%s %s\n' '2f42eb6585bcc1c1ebcd1564d67bd7b0a3ccae9ab0d83de986b43ff7e9afe7e2' 'v2390.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v2390.zip"
$out = "v2390.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "2f42eb6585bcc1c1ebcd1564d67bd7b0a3ccae9ab0d83de986b43ff7e9afe7e2") { throw "sha256 mismatch" }
curl -fL -o v2390.tar.gz https://ratatoskr.space/pkg/ruview/v2390.tar.gz
printf '%s %s\n' '7a2ff7e171f6d4f131b7778b045617aeadfa37b6ec4cedb6f0e5d8b30c1aa8a5' 'v2390.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v2390.tar.gz"
$out = "v2390.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "7a2ff7e171f6d4f131b7778b045617aeadfa37b6ec4cedb6f0e5d8b30c1aa8a5") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v2390.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v2390.zip
printf '%s %s\n' '2f42eb6585bcc1c1ebcd1564d67bd7b0a3ccae9ab0d83de986b43ff7e9afe7e2' 'v2390.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v2390.zip"
$out = "v2390.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "2f42eb6585bcc1c1ebcd1564d67bd7b0a3ccae9ab0d83de986b43ff7e9afe7e2") { throw "sha256 mismatch" }
curl -fL -o v2390.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v2390.tar.gz
printf '%s %s\n' '7a2ff7e171f6d4f131b7778b045617aeadfa37b6ec4cedb6f0e5d8b30c1aa8a5' 'v2390.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v2390.tar.gz"
$out = "v2390.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "7a2ff7e171f6d4f131b7778b045617aeadfa37b6ec4cedb6f0e5d8b30c1aa8a5") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v2390.zip | zip | 53.7 MiB |
blake3-24 eb489b8d25ceced023e641fb48984dfd00c2ef08efcfa4f2
sha256 2f42eb6585bcc1c1ebcd1564d67bd7b0a3ccae9ab0d83de986b43ff7e9afe7e2
sha1 53fdf8c07d415a7559d59da2622c47d39b2f6059
|
| v2390.tar.gz | tar.gz | 51.7 MiB |
blake3-24 561a78901fb75911166d2c85a3a955350d7f8892f97ad696
sha256 7a2ff7e171f6d4f131b7778b045617aeadfa37b6ec4cedb6f0e5d8b30c1aa8a5
sha1 d021391ba90847401499c62aa199f0553e760ed8
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v2390.tar.gz"],
integrity = "sha256-ei/34XH21PExt3eLBFYXrq36N7bsTO228OXYswwaqKU=",
strip_prefix = "ruview-v2390",
)
.url = "https://ratatoskr.space/pkg/ruview/v2390.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v2390.tar.gz"],
integrity = "sha256-ei/34XH21PExt3eLBFYXrq36N7bsTO228OXYswwaqKU=",
strip_prefix = "ruview-v2390",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v2390.tar.gz",