From 88c0e2b76514d4eb207e01e10dddf5f29767fc4c Mon Sep 17 00:00:00 2001 From: serversdown Date: Sat, 12 Sep 2026 04:58:07 +0000 Subject: [PATCH] =?UTF-8?q?chore(release):=20v0.30.0=20=E2=80=94=20series-?= =?UTF-8?q?4=20correctness?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps package version, README banner, CLAUDE.md header and TOOL_VERSION to 0.30.0, and cuts the CHANGELOG entry for the Thor / Micromate decoder work. Also documents the previously-unreleased event-report PDF fix (91b9b45), which had landed on dev without a CHANGELOG entry. TOOL_VERSION is bumped so refreshed sidecars carry the new codec version and a future fix gates regeneration correctly. Note it was NOT required to unblock this backfill: all 4,529 prod series-4 sidecars sit at 0.18.0-0.23.0, well under the previous 0.29.0, so they were never being skipped. Verified by dry-running scripts/backfill_thor_events.py against a copy of the prod store (refreshed=379, skipped=0) both before and after the bump. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01Ru8Lg9HkkYvX9VWWo65SmL --- CHANGELOG.md | 33 ++++++++++++++++++++++++++++++++- CLAUDE.md | 2 +- README.md | 2 +- minimateplus/event_file_io.py | 2 +- pyproject.toml | 2 +- 5 files changed, 36 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 167bdf7..3a742b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,38 @@ All notable changes to seismo-relay are documented here. --- -## Unreleased +## v0.30.0 — 2026-09-12 + +**The series-4 correctness release** — the Thor / Micromate counterpart to +v0.26.0's series-3 work. The decoder is now verified per-sample against +Thor's own CSV exports: **459 waveform files, 3,807,158 / 3,807,165 samples +exact** across three independent ground-truth corpora, and production IDFW is +**575/575** with zero truncations and zero decode failures. Series-3 +re-verified **unchanged at 14,338/14,338** after every shared-codec change. + +⚠ **This release owes the prod store a Thor backfill.** Every stored +series-4 geophone value is **3.3% low**, and histogram peaks from monitoring +runs longer than ~4 hours can be far worse (the interval cap discarded the +tail, frequently the part holding the peak). Run +`scripts/backfill_thor_events.py` — `TOOL_VERSION` is bumped to `0.30.0`, so +regeneration is gated correctly and **no `--force` is needed**. DB backup +first. Series-3 events are untouched by this release and do not need +re-running. + +⚠ **Terra-View displays these values.** Series-4 geophone readings will rise +~3.3% after the backfill, and some histogram PPVs will rise a great deal more. +That is a correction, not a regression. + + +### Fixed — event-report PDF used a per-trace geo Y scale + +The waveform plot scaled each geo lane to its own peak, so a small channel +filled its lane and looked as large as a big one, and the `Geo: X in/s/div` +footer reflected only whichever channel was measured first — wrong for the +other two. All three geo lanes now share one symmetric scale (max |sample| +across them, padded, 0.05 in/s floor), matching the event modal and BW's +single amp/div; the footer reflects that shared scale. Mic keeps its own psi +scale. Large events are unchanged. ### Fixed — series-4 (Thor / Micromate) decoder is now per-sample exact diff --git a/CLAUDE.md b/CLAUDE.md index b3459e6..05ec9ea 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,7 +2,7 @@ Ground-up Python replacement for **Blastware**, Instantel's Windows-only software for managing MiniMate Plus seismographs. Connects over direct RS-232 or cellular modem -(Sierra Wireless RV50 / RV55). Current version: **v0.29.0**. +(Sierra Wireless RV50 / RV55). Current version: **v0.30.0**. Stack-level context — which repo owns what, and how the three project versions pair — lives in `../terra-view/docs/tmi-stack.md`, which is also loaded as diff --git a/README.md b/README.md index dfe95e0..a11473c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# seismo-relay `v0.29.0` +# seismo-relay `v0.30.0` A ground-up replacement for **Blastware** — Instantel's aging Windows-only software for managing seismographs. Supports both the **MiniMate Plus diff --git a/minimateplus/event_file_io.py b/minimateplus/event_file_io.py index d23fc6d..519cf4b 100644 --- a/minimateplus/event_file_io.py +++ b/minimateplus/event_file_io.py @@ -50,7 +50,7 @@ SIDECAR_KIND = "sfm.event" # bumped without a `pip install` re-run — leading to confusing stale # version stamps in sidecars. Bump this constant and CHANGELOG.md # together at release time. -TOOL_VERSION = "0.29.0" +TOOL_VERSION = "0.30.0" try: # Best-effort: prefer the installed metadata when it's NEWER than the diff --git a/pyproject.toml b/pyproject.toml index cd9281b..4b9e639 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "seismo-relay" -version = "0.29.0" +version = "0.30.0" description = "Python client and REST server for MiniMate Plus seismographs" requires-python = ">=3.10" dependencies = [