var_bkg was added to Reflection and to the HDF5 writer but never to the CBOR reflection map, so it
survived only where rugnux drives the writer in-process. Everything that reaches the writer over the
wire - i.e. every acquisition the broker records - wrote /entry/reflections/*/background_variance as
an array of zeros, presented as a measured quantity, and re-processing such a file fed the merge a
non-signal variance of zero.
Encode and decode it. The key is optional on both sides, so a stream from an older version still
reads and one from this version still reads on an older client.
The round-trip test only checked h, k, l, the predicted position and d - which is why a missing float
was invisible. It now gives every field a distinct value and checks all of them, so the next field
added to Reflection and forgotten here fails immediately.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>