Keep current project model config inherited
Treat the Current project config selection as inherited when no project-scoped model config exists, even when the UI omits scope metadata. Cover the browser-normalized save payload so project saves do not create _model_config/config.json.
Alessandro committed
Jul 16, 2026 at 03:30 UTC
b220d9b64eb584bfb7d82f7bbb2b54b03b885e9e
2 files changed
+7
-1
plugins/_model_config/helpers/model_config.py
+5
-1
@@ -151,7 +151,11 @@ def save_project_llm_settings(project_name: str, llm_data: object) -> None:
151
152
config = llm_data.get("config")
153
config_scope = str(llm_data.get("config_scope") or "")
154
- config_is_inherited = config_scope == "inherited" and not project_config_exists
154
+ config_is_inherited = not project_config_exists and (
155
+ config_scope == "inherited"
156
+ or isinstance(selected_preset, dict)
157
+ and selected_preset.get("scope") == "current"
158
+ )
159
should_save_config = (
160
project_config_exists
161
or config_scope == "project"
tests/test_model_config_project_presets.py
+2
@@ -418,6 +418,8 @@ def test_project_save_does_not_freeze_inherited_global_model_config(
418
project_data = projects.load_edit_project_data("demo")
419
assert project_data["llm"]["config_scope"] == "inherited"
420
assert project_data["llm"]["has_project_config"] is False
421
+ project_data["llm"].pop("config_scope")
422
+ project_data["llm"].pop("has_project_config")
423
424
projects.update_project("demo", project_data)
425