7d0d12079b
Merge pull request 'v0.27.0 Decoder fixes, offset exploration and testing.' (#34) from dev into main
v0.27.0
serversdown2026-08-28 22:40:34 -04:00
8e808b09d4
chore(release): v0.27.0 — decoder verified at scale; offset investigation
serversdownandClaude Opus 52026-08-28 22:21:47 +00:00
ad84a04404
feat(offset): detector v3 — pre-trigger floor with a constant-floor test
serversdownandClaude Opus 52026-08-28 21:18:33 +00:00
1fdc665675
fix(offset): retract the v1 detector — per-channel median, not dominant-axis mean
serversdownandClaude Opus 52026-08-28 20:41:20 +00:00
5203aab849
Merge pull request 'update to 0.26.0. Big chonking update including 0.23, 0.24, and 0.25 as well.' (#33) from dev into main
serversdown2026-08-27 13:43:00 -04:00
4c58a532de
fix(backfill): remove stale .h5 when nothing decodes; log the 415-file histogram variant
serversdownandClaude Opus 52026-08-25 22:23:10 +00:00
b6b6ee0331
docs(changelog): record that the 32000 scale fix hit histograms and series-4 too
serversdownandClaude Opus 52026-08-25 09:16:23 +00:00
686ab6e7a6
fix(codec): geo full scale is 32000 counts; 4 walker framing cases; channel-id from header
serversdownandClaude Opus 52026-08-25 08:11:11 +00:00
23e4f585a8
fix(db): keep reviewed_real out of the Migration-1 rebuild table (positional SELECT *); regression test
serversdown2026-08-25 00:31:39 +00:00
d0b66368d5
Merge pull request 'update to v0.21.1, thor data import successful' (#29) from dev into main
serversdown2026-06-01 16:54:23 -04:00
25386cab8b
fix(backfill): regenerate IDFH .h5 + merge binary mic_pspl_psi onto bridge Two gaps in backfill_thor_events.py that left old Thor events showing stale charts after a v0.21.1 backfill pass: 1. IDFH events were skipped from .h5 regeneration (the "have decoded samples" gate was IDFW-only). Histograms kept their pre-v0.21.1 .h5 — written from raw_samples = None, which the renderer turned into a near-empty bar chart, or for older events the dB(L)-as-pseudo- psi mic scale that produced "107.7 psi" peaks (atomic-bomb level instead of footstep level). Fix: synthesise the same 1-sample-per- interval array save_imported_idf v0.21.1 uses (peak ADC count per channel per interval) so the renderer's bar-chart grouping has data to work with. 2. The IDFW h5 path didn't merge binary_peaks.mic_pspl_psi onto the IdfEvent before to_minimateplus_event(). The live save_imported_idf does this merge — without it, IdfEvent.from_report() only sees the .txt's dB(L) value, the bridge falls back to the dBL→psi formula (instead of the binary-accurate 2.14e-6 psi/count value), and the h5 writer's per-count mic factor lands on a less-correct value. Fix: same merge the live ingest does (lift res.event.peaks.mic_pspl_psi onto idf_event.peaks before the bridge call). Verified against UM6047_20250804190047.IDFH (250-interval prod histogram): 250 intervals decode, mic_pspl_psi = 2.78e-5 (was being treated as dB(L)=107.7 in the old h5). Operator: re-run after deploy. docker compose exec sfm python scripts/backfill_thor_events.py is idempotent — the existing version check still skips events already at the new TOOL_VERSION, and review state + captured_at are preserved on the second pass.
serversdown2026-06-01 20:02:54 +00:00
1ed86244d0
fix(thor-events): add parallel field for mic psi. Now shows mic in dbl and psi. (psi for charts)
serversdown2026-06-01 18:27:24 +00:00
b2c565f217
fix(idf_waveforms): _find_waveform_body_offset() — scans every 00 02 00 magic past offset 0x0E00, runs decode_waveform_v2 on each candidate, picks the one that returns the most samples. Validated on 483 prod IDFW files: 0 preamble-only events (was ~50%), 355/483 fully decode, 126/483 partial (BW codec walker-stops-early on loud events — known issue). IDFH now synthesises a 1-sample-per-interval array from the binary intervals and writes an .h5 so the existing renderer works unchanged. Each "sample" is the per-interval peak ADC count → h5_value = count × geo_fs/32768 yields the right bar height.
serversdown2026-05-31 20:51:09 +00:00