From b6b6ee0331cbc9a1cd59c6f861ad07369207c0b5 Mon Sep 17 00:00:00 2001 From: serversdown Date: Tue, 25 Aug 2026 09:16:23 +0000 Subject: [PATCH] docs(changelog): record that the 32000 scale fix hit histograms and series-4 too MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The scale lives in _samples_to_float, which every event passes through regardless of source codec, so waveforms, histograms and Thor IDF events were all 2.34% low — not just waveforms. Verified after regeneration: series-3 histogram peaks vs ASCII reports now median 1.0000 across 1137 comparisons (0.9766 under 32768); series-4 peaks vs device peaks moved from median 0.960 to 0.983 across 1468. The four block-framing fixes remain waveform-only; histogram_codec is untouched. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01HgTe8CamXAHcAmaQ6QNcog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f7d1c0..a2a7819 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,16 @@ All notable changes to seismo-relay are documented here. The mic path is unaffected — it back-solves its own per-count factor from the device-reported peak. + **Scope:** the scale lives in `_samples_to_float`, which every event passes + through regardless of which codec produced the samples — so this affected + **waveforms, histograms and series-4 (Thor IDF) alike**, not just waveforms. + Verified after regeneration: series-3 histogram peaks vs their ASCII reports + now sit at a median ratio of 1.0000 across 1,137 comparisons (0.9766 under + 32768); series-4 peaks vs device peaks moved from a median 0.960 to 0.983 + across 1,468 comparisons. The four block-framing fixes below are + waveform-only — histograms decode via `histogram_codec.decode_histogram_body`, + which is untouched. + - **Series-3 waveform codec: four block-framing cases caused silent channel truncation.** `walk_body` hit its unknown-tag `break` mid-stream and every channel decoded after that point came out short — typically Vert/Long/MicL,