From 3c72177061b12a3c6d62750b5fd4667acb7ac582 Mon Sep 17 00:00:00 2001 From: kshitijk4poor <82637225+kshitijk4poor@users.noreply.github.com> Date: Mon, 20 Jul 2026 11:48:33 +0530 Subject: [PATCH] fix(config): widen doctor allowlist to all gateway-bridged top-level keys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Salvage of PR #67447 — the original PR fixed 3 of 7 missing keys. gateway/config.py reads 4 more top-level keys (stt_echo_transcripts, reset_triggers, always_log_local, filter_silence_narration) that produced the same false 'Unknown top-level config key' warning. Add all 4 and extend the regression test to cover them. --- hermes_cli/config.py | 4 ++++ tests/hermes_cli/test_config_validation.py | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/hermes_cli/config.py b/hermes_cli/config.py index b9134add238ff..3e535ce678ba1 100644 --- a/hermes_cli/config.py +++ b/hermes_cli/config.py @@ -5516,6 +5516,10 @@ _EXTRA_KNOWN_ROOT_KEYS = { "session_reset", # top-level form read by gateway/config.py + setup "group_sessions_per_user", # top-level form bridged by gateway/config.py "thread_sessions_per_user", # top-level form bridged by gateway/config.py + "stt_echo_transcripts", # top-level form bridged by gateway/config.py + "reset_triggers", # top-level form bridged by gateway/config.py + "always_log_local", # top-level form bridged by gateway/config.py + "filter_silence_narration", # top-level form bridged by gateway/config.py "multiplex_profiles", # top-level form accepted alongside gateway.multiplex_profiles "profile_routes", # top-level form accepted alongside gateway.profile_routes "platforms", # top-level per-platform map merged by gateway/config.py diff --git a/tests/hermes_cli/test_config_validation.py b/tests/hermes_cli/test_config_validation.py index 539b495f155cf..44df33b25a0b8 100644 --- a/tests/hermes_cli/test_config_validation.py +++ b/tests/hermes_cli/test_config_validation.py @@ -260,12 +260,20 @@ class TestUnknownTopLevelKeys: "known_plugin_toolsets": {"cli": ["spotify"]}, "group_sessions_per_user": True, "thread_sessions_per_user": False, + "stt_echo_transcripts": True, + "reset_triggers": ["/new"], + "always_log_local": True, + "filter_silence_narration": True, }) unknown = [i for i in issues if "Unknown top-level config key" in i.message] messages = " ".join(i.message for i in unknown) assert "known_plugin_toolsets" not in messages assert "group_sessions_per_user" not in messages assert "thread_sessions_per_user" not in messages + assert "stt_echo_transcripts" not in messages + assert "reset_triggers" not in messages + assert "always_log_local" not in messages + assert "filter_silence_narration" not in messages def test_provider_like_unknown_root_keeps_misplaced_message(self): """Preserve existing base_url/api_key root-level guidance (not generic unknown)."""