update to 0.26.0. Big chonking update including 0.23, 0.24, and 0.25 as well. #33

Merged
serversdown merged 30 commits from dev into main 2026-08-27 13:43:01 -04:00
4 changed files with 43 additions and 2 deletions
Showing only changes of commit 4a581e0e67 - Show all commits
+26
View File
@@ -8,6 +8,32 @@ All notable changes to seismo-relay are documented here.
---
## v0.25.0 — 2026-08-25
**reviewed_real 3-state review flag + twin review-propagation.** The
`events` table and the `/db/events` feed now carry `reviewed_real`, a
3-state review flag mutually exclusive with `false_trigger`, mirrored from
the sidecar review block — plus histogram/waveform twin review-propagation
(flagging one flags both, matched by serial + identical PVS + timestamp
window).
### Added
- **`events` column** `reviewed_real` — `INTEGER NOT NULL DEFAULT 0`, added
via the existing incremental `_migrate` ADD COLUMN pass (auto-migrates on
`SeismoDb()` construction, no manual migration). `query_events` /
`get_event` (and thus `/db/events`) return it automatically (`SELECT *`).
- **Mutual exclusivity with `false_trigger`** — setting `reviewed_real=1`
clears `false_trigger`, and vice versa, both via `set_false_trigger` /
the sidecar review PATCH path.
- **`find_twins`** — matches an event's histogram/waveform twins by serial +
identical peak-vector-sum + a timestamp window.
- **`propagate_review_to_twins`** — copies an event's `false_trigger`/
`reviewed_real` state onto its twins, wired into the
`PATCH /db/events/{id}/sidecar` review path so flagging one flags both.
---
## v0.24.0 — 2026-08-22
**Waveform-shape metrics on events.** The `events` table and the `/db/events`
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "seismo-relay"
version = "0.24.0"
version = "0.25.0"
description = "Python client and REST server for MiniMate Plus seismographs"
requires-python = ">=3.10"
dependencies = [
+1 -1
View File
@@ -90,7 +90,7 @@ app = FastAPI(
"Implements the minimateplus RS-232 protocol library.\n"
"Proxied by terra-view at /api/sfm/*."
),
version="0.24.0",
version="0.25.0",
)
# Allow requests from the waveform viewer opened as a local file (file://)
+15
View File
@@ -0,0 +1,15 @@
from __future__ import annotations
import os, sys
from pathlib import Path
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from sfm.database import SeismoDb
from minimateplus.models import Event
def test_query_events_includes_reviewed_real(tmp_path: Path):
db = SeismoDb(tmp_path / "s.db")
ev = Event(index=0)
ev._waveform_key = bytes.fromhex("01110000")
db.insert_events([ev], serial="BE1")
assert "reviewed_real" in db.query_events(serial="BE1")[0]