Files
seismo-relay/docs
serversdownandClaude Opus 5 a5237bb3b4 docs(series4): RESOLVED -- the 0x0C float is the PER-SAMPLE peak vector sum
Exact to 0.000% on all four bench waveforms, against a PVS recomputed from the
decoded samples.  The offset (Tran label - 12) is now established rather than
inferred: four independent confirmations plus a fifth on the other firmware
line.

RETRACTION.  The previous entry observed the float running 2-5% above
max(T,V,L) and concluded it was NOT the peak vector sum, "because computed PVS
runs higher than both".  That computed PVS was sqrt(T^2+V^2+L^2) from the three
REPORTED CHANNEL PEAKS, which is an upper bound on the real quantity rather
than the quantity -- the channel maxima do not occur at the same instant, so
combining them overstates the true peak.  Every row of the old table is in fact
consistent with max(T,V,L) <= stored <= sqrt(sum of squares).

I also got this wrong in the other direction today and want it recorded.  On
UM20147's event the stored float matched sqrt(sum of peak squares) to 0.048%,
and I called it the vector sum on that basis.  It is not -- that event's peaks
merely happen to be nearly coincident in time.  The six CB events separated the
two formulas immediately, with errors to -9.5%.  ONE SAMPLE AGREEING WITH A
FORMULA IS NOT EVIDENCE WHEN A SECOND FORMULA FITS IT EQUALLY WELL.

Why it is worth having: it is a FREE SELF-CHECK ON THE DECODER.  The device
computed this number from the same samples we decode, independently of our
codec, so a mismatch means the decode is wrong.  Given this codebase's history
of silent channel truncation -- walker bugs that shorten a channel and raise
nothing -- a per-event invariant costing one float comparison is cheap
insurance, and worth wiring into the download path.

Also added the full 0x0C field map from real UM20147 bytes: timestamp, the
record-type byte, sensor-location label, setup name, serial, the PVS float and
the four channel labels with their offsets.

Noted in passing: the setup name appears as "test2" in 0x0C, "test2.MMB" in
0x41 and "test2.mmb" in 0x40 -- three commands, three spellings of one file, in
one session.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ru8Lg9HkkYvX9VWWo65SmL
2026-09-30 14:27:31 -04:00
..
2026-02-24 21:19:40 +00:00