Project releases
RuView ties a calibration receipt to the room it was actually measured in
A sensing system is only trustworthy if a calibration cannot be quietly reused somewhere it does not apply. A merged pull request on September 16 binds calibration receipts to process, session, room and model identity, and refuses to finish a calibration until every requested node has contributed.
GitHub activity: · Published:
What this is about
RuView reads ordinary wireless signals to work out what is happening in a physical space. Before it can do that it has to be calibrated in the specific room, with the specific set of radios, that it will be used in.
That makes a calibration result a claim about a place, not a setting. If the record of it does not say which place, which run and which radios produced it, nothing downstream can tell a valid calibration from one carried over from a different room.
What changed
Pull request #1903 was merged on September 16 as commit dd02efe2 and shipped in release v2754 the same day. It adds process boot, session, room-binding and model identities to the calibration interface, so every receipt says exactly which run in which room produced it.
Three behaviours follow from that:
- The exact set of requested nodes is now tracked separately from the set that actually contributed signal, and a calibration cannot be completed until every requested node has contributed.
- Finishing, promoting, cancelling and resetting a calibration all require a matching identity body, so an operation cannot land on a session other than the one it was meant for.
- Completion returns an immutable field-model receipt rather than a mutable status.
The single-link startup assumption is preserved, so a one-radio bring-up still works, while the full multi-node room receipt is retained. The pull request records the verification actually performed: a package check, a targeted test run of twenty-two passing tests, a locked release build, and a live request against the calibration status endpoint returning a receipt carrying a boot identity.
Get started
Prerequisites: a Rust toolchain and a clone of the repository. Calibration itself needs hardware, but the build and the test suite do not.
cargo test -p wifi-densepose-sensing-server --bin sensing-server bootstrap_vital_publication_tests --no-fail-fast
Expected result, as recorded in the pull request: twenty-two tests pass. A published container image for the merge commit is referenced in the release notes for anyone who prefers to run the server rather than build it.
Commands are quoted from the pull request verification notes. They were not executed here, and no sensing hardware was involved in writing this article.
Use it today
Practical case: two rooms on the same floor, each with its own radios, calibrated by the same operator on the same afternoon. Input is a calibration session per room. The workflow is to request a node set, collect contributions, then finish with the matching identity. Output is a receipt that cannot be mistaken for the other room's, because it carries the room binding.
Reader acceptance test: request the calibration status endpoint and check the receipt carries a boot identity. Then try to finish a session with a mismatched identity body. It should be refused rather than silently applied.
Push it further
Experimental commentary. Refusing to complete until every requested node has contributed is the quietly important half of this change. Partial calibrations are the ones that look fine and behave badly, because they carry the authority of a finished result without the coverage.
Limitation: an identity binding proves which run and which room produced a receipt. It says nothing about whether the physical environment has since changed, and furniture moves. Falsifiable test: complete a calibration, move the radios, and confirm the receipt is unchanged. It will be, which is exactly why a receipt is not a substitute for recalibrating.
Read the original on GitHub pull request
PR #1903 — bind server receipts to room identity (merged as dd02efe2, shipped in release v2754)