From c6c15e03c2720ad0eb9a7b8639437090afecf06d Mon Sep 17 00:00:00 2001 From: "Matt Johnson (via Claude)" Date: Mon, 8 Jun 2026 17:21:01 +0000 Subject: [PATCH] central: silently drop work_zone envelopes from broadcast pipeline consumer.py: return None immediately for work_zone/road_closure/road_incident categories instead of routing through format_work_zone_mesh. incident_handler.py: add work_zone kind to _parse_itd_511_incident and return None immediately so itd_511 work_zone events never reach change-detection. Co-Authored-By: Claude Opus 4.6 --- meshai/central/consumer.py | 2 +- meshai/central/incident_handler.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/meshai/central/consumer.py b/meshai/central/consumer.py index 0cf1686..42ef4de 100644 --- a/meshai/central/consumer.py +++ b/meshai/central/consumer.py @@ -526,7 +526,7 @@ class CentralConsumer: from meshai.central.firms_handler import handle_firms synthesized = handle_firms(envelope, subject, data=data) or None elif n is not None and category in ("work_zone", "road_closure", "road_incident"): - synthesized = format_work_zone_mesh(n) or None + return None # silently drop work zone envelopes except Exception: logger.exception("normalizer/renderer failed for adapter=%s category=%s", inner.get("adapter"), category) diff --git a/meshai/central/incident_handler.py b/meshai/central/incident_handler.py index f7d08fb..d73bc40 100644 --- a/meshai/central/incident_handler.py +++ b/meshai/central/incident_handler.py @@ -396,8 +396,13 @@ def _parse_itd_511_incident(envelope: dict, category_raw: str, now: int) -> Opti if category_raw.startswith("incident."): kind = "incident" elif category_raw.startswith("closure."): kind = "closure" elif category_raw.startswith("special_event."): kind = "special_event" + elif category_raw.startswith("work_zone."): kind = "work_zone" else: return None + # Drop work_zone envelopes -- silently suppressed + if kind == "work_zone": + return None + # Severity filter min_sev = str(adapter_config.itd_511.min_severity or "None") sev_order = {"None": 0, "Minor": 1, "Major": 2}