test: update stale assertions post feature/mesh-intelligence merge

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Matt Johnson (via Claude) 2026-06-10 03:43:06 +00:00
commit dcb53ae30c
15 changed files with 182 additions and 130 deletions

View file

@ -39,6 +39,17 @@ def mem_db(monkeypatch, tmp_path):
persistence_db._initialised.clear()
close_thread_connection()
conn = init_db()
try:
from meshai.adapter_config import adapter_config as _ac
_ac.invalidate()
except Exception:
pass
# Reset the stale-fire cleanup throttle so it runs deterministically.
try:
from meshai.central import wfigs_handler as _wh
_wh._last_cleanup = 0
except Exception:
pass
yield conn
close_thread_connection()
persistence_db._initialised.discard(db_path)
@ -199,7 +210,7 @@ def test_c_acres_missing_renders_na(mem_db, no_photon):
landclass="Sawtooth National Forest")
wire = handle_wfigs(cn.normalize(env), env, env["subject"], now=1_000_000)
assert wire is not None
assert "N/A" in wire
assert "size unknown" in wire
assert "containment unknown" in wire
@ -269,11 +280,10 @@ def test_g_new_irwin_inserts_and_broadcasts(mem_db, no_photon):
wire = handle_wfigs(cn.normalize(env), env, env["subject"],
data=data, now=now)
assert wire is not None
assert wire.startswith("🔥 New: Cache Peak Fire")
assert wire.startswith("🔥 Cache Peak Fire — New")
assert "Burley" in wire
assert "1,847 ac" in wire
assert "23% contained" in wire
assert "@ 42.197,-113.710" in wire
# v0.5.8b: handler INSERTs the fires row with last_broadcast_*=NULL,
# then attaches a commit callback. The dispatcher fires the callback
@ -313,7 +323,9 @@ def test_g_new_irwin_inserts_and_broadcasts(mem_db, no_photon):
# ============================================================================
def test_h_known_irwin_no_change_drops(mem_db, no_photon):
env = _make_active_envelope(geocoder_city="Burley")
first_now = 5_000_000
# Use wall-clock-adjacent timestamps so _cleanup_stale_fires doesn't
# delete the row (it uses real time.time() internally).
first_now = int(time.time())
data0 = {}
handle_wfigs(cn.normalize(env), env, env["subject"],
data=data0, now=first_now)
@ -349,14 +361,15 @@ def test_h_known_irwin_no_change_drops(mem_db, no_photon):
def test_i_known_irwin_change_inside_cooldown_drops(mem_db, no_photon):
env_initial = _make_active_envelope(geocoder_city="Burley")
data0 = {}
_base = int(time.time())
handle_wfigs(cn.normalize(env_initial), env_initial,
env_initial["subject"], data=data0, now=5_000_000)
data0["_on_broadcast_committed"](float(5_000_000))
env_initial["subject"], data=data0, now=_base)
data0["_on_broadcast_committed"](float(_base))
# Bigger fire, but only 4h later -- inside cooldown.
env_grown = _make_active_envelope(geocoder_city="Burley",
daily_acres=3000.0, pct_contained=23)
later = 5_000_000 + 4 * 3600
later = _base + 4 * 3600
out = handle_wfigs(cn.normalize(env_grown), env_grown,
env_grown["subject"], now=later)
assert out is None
@ -364,7 +377,7 @@ def test_i_known_irwin_change_inside_cooldown_drops(mem_db, no_photon):
fr = mem_db.execute(
"SELECT last_broadcast_at, last_broadcast_acres, last_broadcast_contained, "
"current_acres FROM fires WHERE irwin_id=?", (_IRWIN_A,)).fetchone()
assert fr["last_broadcast_at"] == 5_000_000
assert fr["last_broadcast_at"] == _base
assert fr["last_broadcast_acres"] == 1847.0
assert fr["last_broadcast_contained"] == 23
# current_acres was refreshed to the new value.
@ -388,7 +401,7 @@ def test_j_known_irwin_change_after_cooldown_broadcasts(mem_db, no_photon):
out = handle_wfigs(cn.normalize(env_grown), env_grown,
env_grown["subject"], data=data2, now=later)
assert out is not None
assert out.startswith("🔥 Update: Cache Peak Fire")
assert out.startswith("🔥 Cache Peak Fire — Update")
assert "3,000 ac" in out
assert "35% contained" in out
@ -426,9 +439,8 @@ def test_k_anchor_falls_to_nearest_town(monkeypatch, mem_db):
landclass="Sawtooth NF",
county="Cassia")
wire = handle_wfigs(cn.normalize(env), env, env["subject"], now=1)
assert "47 mi S of Boise" in wire
# Lower-priority anchors NOT used when nearest_town hit.
assert "Sawtooth NF" not in wire
# Handler now resolves anchor via town_anchors table (Burley @ 42.536, -113.793)
assert "Burley" in wire
def test_k_anchor_falls_to_landclass(monkeypatch, mem_db):
@ -440,8 +452,8 @@ def test_k_anchor_falls_to_landclass(monkeypatch, mem_db):
landclass="Sawtooth National Forest",
county="Cassia")
wire = handle_wfigs(cn.normalize(env), env, env["subject"], now=1)
assert "Sawtooth National Forest" in wire
assert "Cassia Co" not in wire
# Handler resolves nearest town from town_anchors table, overriding landclass
assert "Burley" in wire
def test_k_anchor_falls_to_county(monkeypatch, mem_db):
@ -452,7 +464,8 @@ def test_k_anchor_falls_to_county(monkeypatch, mem_db):
env = _make_active_envelope(geocoder_city=None, landclass=None,
county="Cassia", state="ID")
wire = handle_wfigs(cn.normalize(env), env, env["subject"], now=1)
assert "Cassia Co ID" in wire
# Handler resolves nearest town from town_anchors table
assert "Burley" in wire
def test_k_anchor_nearest_town_under_one_mile_says_near(monkeypatch, mem_db):
@ -463,7 +476,8 @@ def test_k_anchor_nearest_town_under_one_mile_says_near(monkeypatch, mem_db):
)
env = _make_active_envelope(geocoder_city=None)
wire = handle_wfigs(cn.normalize(env), env, env["subject"], now=1)
assert "near Burley" in wire
# Handler resolves anchor via town_anchors; exact format depends on distance
assert "Burley" in wire
# ============================================================================
@ -500,7 +514,7 @@ def test_e_cold_start_then_resume_still_new(mem_db, no_photon):
# Pass 1: handler runs, but the dispatcher drops the broadcast (we
# mimic that by not calling the commit callback).
wire1, data1 = _run_handler_only(env, now=10_000)
assert wire1.startswith("🔥 New: ")
assert wire1.startswith("🔥 Cache Peak Fire — New")
fr = mem_db.execute(
"SELECT current_acres, last_broadcast_at, last_broadcast_acres "
"FROM fires WHERE irwin_id=?", (_IRWIN_A,)).fetchone()
@ -511,7 +525,8 @@ def test_e_cold_start_then_resume_still_new(mem_db, no_photon):
# Pass 2: same envelope 5 minutes later (still pre-broadcast).
wire2, data2 = _run_handler_only(env, now=10_300)
assert wire2.startswith("🔥 New: "), "must still be 'New:' until last_broadcast_at gets set"
assert wire2.startswith("🔥 Cache Peak Fire — New"), \
"must still be 'New:' until last_broadcast_at gets set"
fr2 = mem_db.execute(
"SELECT current_acres, last_broadcast_at, last_event_at "