fix(dispatcher): disable staleness filter for fire events

Fire events are always relevant regardless of age (a wildfire burning
for 9 hours is not stale — it's ongoing). The staleness filter was
designed for incidents with time_validity semantics, not persistent
fire state.

- defaults.py: add wfigs.freshness_seconds = 0 (disabled)
- dispatcher.py: for fire toggle family, read from adapter_config
  instead of toggle; skip staleness check when freshness_s == 0

Fixes Blue Ridge fire being dropped after LAST_PER_SUBJECT replay.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Matt Johnson (via Claude) 2026-06-06 18:34:15 +00:00
commit 87cce0048d
2 changed files with 10 additions and 1 deletions

View file

@ -61,6 +61,11 @@ REGISTRY: dict[tuple[str, str], dict[str, Any]] = {
"type": "bool",
"description": "Re-broadcast when containment percent increases (forward-only).",
},
("wfigs", "freshness_seconds"): {
"default": 0,
"type": "int",
"description": "Staleness gate for wfigs events (0 = disabled). Fire events are always relevant regardless of age.",
},
# =================================================================
# NWS -- 3 settings (severity gate, tombstone msgTypes, suffix-promote toggle)