ruview @ v1260
integrity
- size
- 59.8 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: feat(adr-118/p1.2): header encode/decode + 6 round-trip tests (9/9 GREEN)
Iter 2 of the BFLD rollout. Adds the canonical little-endian wire form for BfldFrameHeader with safe (no unsafe) encoders/decoders. Covers ADR-119 AC5 (round-trip preservation), AC6 (deterministic serialization), and partial AC1 (constant wire size) / AC4 (rejects bad magic + bad version).
Added:
- BfldFrameHeader::empty() — convenience constructor with magic/version set
- BfldFrameHeader::to_le_bytes() -> [u8; 86]
- BfldFrameHeader::from_le_bytes(&[u8; 86]) -> Result<Self, BfldError>
- Field-level doc strings on every header field (clears all 21 missing-docs warnings the iter 1 commit logged)
- tests/header_roundtrip.rs — 6 named tests: header_roundtrip_preserves_all_fields header_serialization_is_deterministic header_magic_is_at_offset_zero_little_endian (LE byte order proof) parsing_rejects_invalid_magic parsing_rejects_unsupported_version wire_size_is_constant
Implementation notes:
- Used #[derive(Default)] on BfldFrameHeader so empty() can build cleanly.
- to_le_bytes copies packed fields into locals first to dodge unaligned- borrow lints; from_le_bytes uses try_into() on byte slices.
- All field reads/writes are #[forbid(unsafe_code)] compliant.
Out of scope (next iter targets):
- BfldFrame (header + payload sections + section-length prefixes + CRC32
computation over payload bytes only) — needs the
crccrate dependency. - PrivacyGate::demote(...) skeleton (ADR-120 §2.4).
- SinkMarker traits (LocalSink / NetworkSink / MatterSink) — ADR-120 §2.2.
cargo test -p wifi-densepose-bfld --no-default-features → 9 passed, 0 failed
Co-Authored-By: claude-flow ruv@ruv.net
Docker Image:
ghcr.io/ruvnet/RuView:be4dad6ede5755f8d64b432ffdb798758bd8c432
download
unix · zip
curl -fL -o v1260.zip https://ratatoskr.space/pkg/ruview/v1260.zip
printf '%s %s\n' '9e8a45a669745a75dd76245bdaba429423777fad03aa115632ca59f00cbf4095' 'v1260.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/ruview/v1260.zip"
$out = "v1260.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "9e8a45a669745a75dd76245bdaba429423777fad03aa115632ca59f00cbf4095") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1260.tar.gz https://ratatoskr.space/pkg/ruview/v1260.tar.gz
printf '%s %s\n' '49ece9b71c92ae534df08131a50cbb867b84d63364c63b2fbe3ea7a34dbbaa2a' 'v1260.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/ruview/v1260.tar.gz"
$out = "v1260.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "49ece9b71c92ae534df08131a50cbb867b84d63364c63b2fbe3ea7a34dbbaa2a") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v1260.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1260.zip
printf '%s %s\n' '9e8a45a669745a75dd76245bdaba429423777fad03aa115632ca59f00cbf4095' 'v1260.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1260.zip"
$out = "v1260.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "9e8a45a669745a75dd76245bdaba429423777fad03aa115632ca59f00cbf4095") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1260.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1260.tar.gz
printf '%s %s\n' '49ece9b71c92ae534df08131a50cbb867b84d63364c63b2fbe3ea7a34dbbaa2a' 'v1260.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1260.tar.gz"
$out = "v1260.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "49ece9b71c92ae534df08131a50cbb867b84d63364c63b2fbe3ea7a34dbbaa2a") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1260.zip | zip | 59.8 MiB |
blake3-24 d1798b9426c6f6c9e5f705f0c044451cb99843af58978667
sha256 9e8a45a669745a75dd76245bdaba429423777fad03aa115632ca59f00cbf4095
sha1 1ecde0930c00e9993bb828b439e90bbcd6dac003
|
| v1260.tar.gz | tar.gz | 58.3 MiB |
blake3-24 9171ba10b7987ec22a69f9c3a664884f90054cc4ccb7c316
sha256 49ece9b71c92ae534df08131a50cbb867b84d63364c63b2fbe3ea7a34dbbaa2a
sha1 0cc6b77fecfc925390274cae4a1badc401e71887
|
install
bazel
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1260.tar.gz"],
integrity = "sha256-SezptxySrlNN8IExpQy7hnuE1jNkxjsvvj6no027qio=",
strip_prefix = "ruview-v1260",
)
zig
.url = "https://ratatoskr.space/pkg/ruview/v1260.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1260.tar.gz"],
integrity = "sha256-SezptxySrlNN8IExpQy7hnuE1jNkxjsvvj6no027qio=",
strip_prefix = "ruview-v1260",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1260.tar.gz",