wifi-densepose/v2
ruv 8805c8ec0b test+refactor(adr-110): NodeState::apply_sync_packet + 2 tests for the receive-side dispatch
Iter 32 — completes the helper-extraction discipline started in iter 30.
The iter 15 inline `ns.latest_sync = Some(sync); ns.latest_sync_at = ...`
was the LAST untested receive-side mutation; now it's a named method
with 2 tests covering its full state-transition surface.

Refactor:
  Add `NodeState::apply_sync_packet(pkt, now)` taking an Instant so
  the test can pass deterministic timing.
  udp_receiver_task now calls the method instead of touching the
  fields inline — one less place to break the staleness gate.

Tests (2 new — sync_snapshot_helper_tests module now at 5 tests):

  apply_sync_packet_populates_a_fresh_node
    Mirrors udp_receiver_task's first-packet-from-unknown-node path:
    asserts latest_sync goes from None → Some, latest_sync_at matches
    the passed Instant exactly (no clock skew from real Instant::now()),
    and sync_snapshot() now returns Some (REST 200 OK path lit up).

  apply_sync_packet_overwrites_older_data
    Subsequent packets must replace, not accumulate. Asserts sequence,
    local_us advance, and the staleness clock resets. This is what
    keeps the §A0.10-smoothed offset tracking the latest beacon rather
    than drifting with stale state.

cargo test sync_snapshot_helper → 5/5 green.

Branch-coord clean — no Cargo.toml / cli.rs touched.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-23 14:44:25 -04:00
..
.claude-flow chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
crates test+refactor(adr-110): NodeState::apply_sync_packet + 2 tests for the receive-side dispatch 2026-05-23 14:44:25 -04:00
data chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
docs chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
examples chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
patches/ruvector-crv chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
Cargo.lock fix(branch-coord): revert ADR-115 Cargo.toml/cli.rs that slipped into iter 18 2026-05-23 13:31:58 -04:00
Cargo.toml feat(cog-person-count): v0.0.1 scaffold + tests + fusion math + bench (ADR-103) (#694) 2026-05-21 18:46:57 -04:00
rust-toolchain.toml v2: pin Rust 1.89 and fix sensing-server UI path when run from v2 (#523) 2026-05-17 18:00:36 -04:00