feat(persistence): make satpass/avalanche/ducting LLM-queryable (#74)

Close the LLM data gaps: add build_satpass_detail (satpass_events was written
but had no reader), and give avalanche + ducting durable tables (v24/v25) with
native writers + env_reporter readers so the mesh LLM can answer avalanche,
satellite-pass, and RF-propagation questions. Persistence-only; no broadcast/
gating changes.

Co-authored-by: Matt Johnson <mj@k7zvx.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
malice 2026-07-06 16:24:26 -06:00 committed by GitHub
commit 3fb4e6e65c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 570 additions and 8 deletions

View file

@ -14,8 +14,8 @@ from meshai.persistence.observer_locations import (
# -- schema / migration -------------------------------------------------------
def test_schema_version_is_23():
assert SCHEMA_VERSION == 23
def test_schema_version_is_25():
assert SCHEMA_VERSION == 25
def test_observer_locations_table_exists():
@ -26,11 +26,11 @@ def test_observer_locations_table_exists():
assert "observer_locations" in tables
def test_schema_meta_at_23():
def test_schema_meta_at_current():
conn = get_db()
row = conn.execute(
"SELECT value FROM schema_meta WHERE key='version'").fetchone()
assert int(row["value"]) == 23
assert int(row["value"]) == 25
# -- accessors ----------------------------------------------------------------