github ruvnet/RuView v1260
Release v1260

latest releases: v1261, v1259
3 hours ago

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 crc crate 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

Don't miss a new RuView release

NewReleases is sending notifications on new releases.