@@ -1681,11 +1681,16 @@ class TestSaveFeatureFlagsAddonMode:
16811681 """Addon-mode ``POST /api/settings/features`` flow.
16821682
16831683 Mirror of TestSaveBackupConfigAddonMode for feature flags. In addon
1684- mode, ``get_feature_flag_origin`` returns ``"addon"`` for every
1685- flag (because SUPERVISOR_TOKEN is set), so the handler must route
1684+ mode, ``get_feature_flag_origin`` returns ``"addon"`` for non-beta
1685+ flags (because SUPERVISOR_TOKEN is set), so the handler routes
16861686 through Supervisor instead of refusing the write or persisting to
1687- the override file (the file is ignored in addon mode anyway —
1687+ the override file (the file is ignored in addon mode for those —
16881688 ``start.py`` rewrites env vars from ``config.yaml`` on every boot).
1689+
1690+ Beta sub-flags in addon mode have channel-dependent behavior (see
1691+ ``get_feature_flag_origin`` docstring): dev addon → Supervisor;
1692+ stable addon → file. These tests use ``enable_tool_search`` which
1693+ is non-beta and routes identically in both channels.
16891694 """
16901695
16911696 def _make_request (self , body ):
@@ -1731,15 +1736,15 @@ async def test_addon_save_merges_without_restart_returns_restart_required(
17311736 )
17321737
17331738 resp = await post_handler (
1734- self ._make_request ({"flags" : {"enable_yaml_config_editing " : True }})
1739+ self ._make_request ({"flags" : {"enable_tool_search " : True }})
17351740 )
17361741
17371742 assert resp .status_code == 200
17381743 body = json .loads (resp .body )
17391744 assert body ["mode" ] == "addon"
17401745 assert body ["restart_required" ] is True
17411746 assert "restarting" not in body
1742- merge_mock .assert_awaited_once_with (True , {"enable_yaml_config_editing " : True })
1747+ merge_mock .assert_awaited_once_with (True , {"enable_tool_search " : True })
17431748 schedule_mock .assert_not_called ()
17441749
17451750 @pytest .mark .asyncio
@@ -1775,7 +1780,7 @@ async def test_addon_save_surfaces_validation_error_with_supervisor_status(
17751780 )
17761781
17771782 resp = await post_handler (
1778- self ._make_request ({"flags" : {"enable_yaml_config_editing " : True }})
1783+ self ._make_request ({"flags" : {"enable_tool_search " : True }})
17791784 )
17801785
17811786 assert resp .status_code == 400
@@ -1810,7 +1815,7 @@ def decorator(fn):
18101815 register_settings_routes (mcp , None , secret_path = "/x" )
18111816
18121817 resp = await captured ["post" ](
1813- self ._make_request ({"flags" : {"enable_yaml_config_editing " : True }})
1818+ self ._make_request ({"flags" : {"enable_tool_search " : True }})
18141819 )
18151820
18161821 assert resp .status_code == 500
@@ -1871,7 +1876,7 @@ async def test_standalone_save_returns_unified_contract_shape(
18711876 post_handler = self ._capture_post_handler (monkeypatch , tmp_path )
18721877
18731878 resp = await post_handler (
1874- self ._make_request ({"flags" : {"enable_yaml_config_editing " : True }})
1879+ self ._make_request ({"flags" : {"enable_tool_search " : True }})
18751880 )
18761881
18771882 assert resp .status_code == 200
0 commit comments