mirror of
https://github.com/zvx-echo6/meshai.git
synced 2026-06-11 01:14:45 +02:00
Phase D catalogued a source-name divergence: central-sourced events carried Central's adapter name (wfigs_incidents, nwis, swpc_alerts, wzdx) rather than meshai's native source (fires, usgs, swpc, traffic), so the C.2 family-tab per-adapter event filtering (which keys on the native source name) wouldn't group central events under the right adapter. Fix: CENTRAL_ADAPTER_TO_SOURCE table in consumer.py; normalize() now remaps inner Event.adapter -> meshai source, falling back to the literal adapter name for anything not in the table (logged at DEBUG when a translation happens). before -> after (Event.source): wfigs_incidents / wfigs_perimeters -> fires nwis -> usgs swpc_alerts / swpc_kindex / swpc_protons -> swpc wzdx -> traffic nws, usgs_quake, firms -> unchanged (1:1, omitted from table) unknown (e.g. experimental_foo) -> passthrough as-is Tests: tests/test_central_consumer.py parametrized test_central_adapter_source_remap (6 cases: 4 remaps + nws passthrough + unknown passthrough). Full suite: 283 passed. In-prod verify (rebuilt, ephemeral probe over real Central data): the four observed adapters now normalize to source=fires/usgs/swpc/traffic; nws passes through. No live flip needed; container stays native baseline + healthy. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| backends | ||
| central | ||
| cli | ||
| commands | ||
| dashboard | ||
| env | ||
| notifications | ||
| scripts | ||
| sources | ||
| __init__.py | ||
| __main__.py | ||
| alert_engine.py | ||
| chunker.py | ||
| config.py | ||
| config_loader.py | ||
| connector.py | ||
| context.py | ||
| geo.py | ||
| history.py | ||
| knowledge.py | ||
| main.py | ||
| memory.py | ||
| mesh_data_store.py | ||
| mesh_health.py | ||
| mesh_models.py | ||
| mesh_reporter.py | ||
| mesh_sources.py | ||
| meshmonitor.py | ||
| responder.py | ||
| router.py | ||
| subscriptions.py | ||