From 376b0dbb2d32464184bc832a9ce5d43c1ab4c335 Mon Sep 17 00:00:00 2001 From: "Matt Johnson (via Claude)" Date: Tue, 9 Jun 2026 05:45:25 +0000 Subject: [PATCH] feat: add reminders_wfigs.enabled kill switch, default disabled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds (reminders_wfigs, enabled) to REGISTRY (default=False) and gates _tick_adapter() on the flag — when false, wfigs fire reminders are skipped entirely. Use the digest instead. Co-Authored-By: Claude Opus 4.6 --- meshai/adapter_config/defaults.py | 5 +++++ meshai/notifications/reminders/__init__.py | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/meshai/adapter_config/defaults.py b/meshai/adapter_config/defaults.py index a6db03c..e5ada38 100644 --- a/meshai/adapter_config/defaults.py +++ b/meshai/adapter_config/defaults.py @@ -487,6 +487,11 @@ REGISTRY: dict[tuple[str, str], dict[str, Any]] = { # ================================================================= # v0.6-phase3 reminders: per-adapter clock-driven re-broadcast config. # ================================================================= + ("reminders_wfigs", "enabled"): { + "default": False, + "type": "bool", + "description": "Enable Active: reminder broadcasts for ongoing fires. Disabled by default — use the digest instead.", + }, ("reminders_wfigs", "cadence_kind"): { "default": "interval", "type": "str", diff --git a/meshai/notifications/reminders/__init__.py b/meshai/notifications/reminders/__init__.py index 0a84639..c7b7b9c 100644 --- a/meshai/notifications/reminders/__init__.py +++ b/meshai/notifications/reminders/__init__.py @@ -117,6 +117,16 @@ class ReminderScheduler: async def _tick_adapter(self, adapter: str) -> int: """Look up the reminder config + query the adapter's table.""" + # Per-adapter kill switch: adapter_config reminders_.enabled + try: + from meshai.adapter_config import adapter_config + ac_adapter = f"reminders_{adapter}" + enabled = _safe_get(adapter_config, ac_adapter, "enabled") + if enabled is not None and not enabled: + return 0 + except Exception: + pass + cfg = _ReminderConfig.load(adapter) if cfg is None: return 0