mirror of
https://github.com/ruvnet/RuView.git
synced 2026-10-18 21:00:22 -05:00
docs: state that the mesh arm was partly an elapsed arm
The mesh gate uses mesh-time buckets only while c6_sync_espnow_is_valid(); an unsynced node falls back to the elapsed gate. Three of nine nodes never synchronised during these runs, so for those three the mesh and mesh+seq arms silently ran the elapsed gate. +0.5 pp is therefore not a clean fleet-wide measurement of window alignment. Reported as observed rather than reconstructed: the arms were assigned before we understood the fallback, and a post-hoc per-node reanalysis would not be the experiment we ran. Names the cause as environmental rather than a defect. Sync is leader-elected and hub-and-spoke, so whether every node hears the leader is a property of the building -- and a house that fragments into sync domains degrades any shared-time option quietly, for exactly the nodes whose data you would most want. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01BHNNWbmKvxXrVaEDwXEBNo
This commit is contained in:
1 parent
767c36ad12
commit
d6b940184e
1 file changed
+24
@@ -98,6 +98,30 @@ One measurement that made the trade easier here: on-device edge processing was
|
||||
in both modes, because that pipeline is separately rate-limited. The cost falls
|
||||
on the uplink, not on local sensing.
|
||||
|
||||
### The mesh arm was partly an elapsed arm
|
||||
|
||||
The mesh gate uses mesh-time buckets only while `c6_sync_espnow_is_valid()`. A
|
||||
node without valid sync falls back to the elapsed gate rather than gating on a
|
||||
meaningless epoch -- correct behaviour, but it weakens this comparison.
|
||||
|
||||
Three of the nine nodes never synchronised during these runs. For those three,
|
||||
the `mesh` and `mesh`+`seq` arms silently ran the elapsed gate. So **+0.5 pp is
|
||||
not a clean fleet-wide measurement of window alignment**; it is "mesh where sync
|
||||
held, elapsed where it did not", and the true effect of alignment on a fully
|
||||
synchronised fleet is not measured here.
|
||||
|
||||
We are reporting the number as observed rather than reconstructing it, because
|
||||
the arms were assigned before we understood the fallback, and a post-hoc
|
||||
per-node reanalysis would not be the experiment we ran.
|
||||
|
||||
The cause is worth naming because it is environmental, not a firmware defect.
|
||||
Time sync is leader-elected and hub-and-spoke: one node broadcasts and the rest
|
||||
follow. Whether every node hears that leader is a property of the building. A
|
||||
larger or more divided house fragments into sync domains, and any option that
|
||||
depends on shared time then degrades quietly for the nodes that fell out --
|
||||
which is precisely the situation where someone would most want to trust this
|
||||
measurement.
|
||||
|
||||
### A prediction we got wrong
|
||||
|
||||
Our mesh had split into two leader domains with three nodes never synchronising
|
||||
|
||||
Reference in new issue
Block a user