fix(config): widen doctor allowlist to all gateway-bridged top-level keys

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.
This commit is contained in:
kshitijk4poor 2026-07-20 11:48:33 +05:30 committed by kshitij
parent 54157da9ee
commit 3c72177061
2 changed files with 12 additions and 0 deletions

View file

@ -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

View file

@ -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)."""