From a27310c3c67644d88f284153f50a4bc1edea069c Mon Sep 17 00:00:00 2001 From: serversdown Date: Sun, 6 Sep 2026 08:02:32 +0000 Subject: [PATCH] docs(changelog): record the BlastMate serial fix under v0.29.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The release is bumped but not tagged, and the fix is now in dev — which is what gets built — so the notes would otherwise understate the build. No TOOL_VERSION change: the fix alters which serial an import is filed under, not any decoded value, so no backfill is owed. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01HgTe8CamXAHcAmaQ6QNcog --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a33951..d0ec631 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,32 @@ on startup; the offset detector still needs the shape backfill on the prod store rebuild); exposed via `/db/events`. Terra-View surfaces it as a manual "Flag as offset" action + an `FT · offset` badge. +### Fixed +- **BlastMate serials — the family prefix is read from the file, not guessed.** + The Blastware filename encodes only the serial *number* (`L895…` → 10895); + the two-letter prefix is not in it. `waveform_store` synthesised `"BE"`, so + an imported **BlastMate** (serials `BA…`) was filed under a MiniMate Plus + serial that does not exist — silently, and Terra-View read it straight + through. `save_imported_bw` now resolves serial as hint → file body → + filename guess, via a new `_serial_from_bw_bytes` that accepts a candidate + only when its numeric part matches the filename. `client._decode_0a_partial_header` + likewise matched a literal `b"BE"` in monitor-log partial records; on a + BlastMate that returned −1 and skipped the whole block, losing the **geo + threshold** along with the serial. It now matches any two-letter prefix and + requires the NUL terminator — stricter than the search it replaces. + + BlastMate is the MiniMate Plus's larger Series III sibling and its files are + byte-compatible: all 1,493 in the DL2 archive decode through the existing + codec at 100%, same four channels. **The serial string was the only thing + blocking BlastMate support in SFM.** Four archive units were affected — + BA9229, BA10060, BA10895, BA15957. + + **No backfill and no `TOOL_VERSION` bump**: this changes which serial an + *import* is filed under, not any decoded value, so existing sidecars and + `.h5` files are untouched. **No migration either** — prod holds no BlastMate + events (the archive's BA units last recorded 2018-10 through 2023-11; the + prod backfill reaches back only to ~May 2025). + --- ## v0.28.0 — 2026-09-02