From f2ab07757fea0ef22317086ba62e253932064cec Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Fri, 3 Jul 2026 19:45:37 +0000 Subject: [PATCH] ship-pass: #5453 overflow-path regression test + drop #5449 dead comment - Add test_profile_model_selection_accepts_model_in_overflow_extra_models (the extra_models overflow-bucket regression test the warm dossier flagged as the #5453 ship-pass note). - Drop the stray dead pseudo-code comment left in handle_post branch route (#5449 cosmetic nit). --- api/routes.py | 1 - ...st_issue749_profile_create_model_picker.py | 28 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/api/routes.py b/api/routes.py index f5f71e1e..aee17db3 100644 --- a/api/routes.py +++ b/api/routes.py @@ -13730,7 +13730,6 @@ def handle_post(handler, parsed) -> bool: # (Opus pre-release follow-up.) if not isinstance(body["session_id"], str): return bad(handler, "session_id must be a string") - # _claim_or_synthesize_cli_session(body["session_id"]); if _reason == "not_claimable": return bad(handler, "Read-only sessions cannot be branched from WebUI", 403) source = _load_branch_source_or_refuse(handler, body["session_id"]) if source is None: return True diff --git a/tests/test_issue749_profile_create_model_picker.py b/tests/test_issue749_profile_create_model_picker.py index f9133487..706818e1 100644 --- a/tests/test_issue749_profile_create_model_picker.py +++ b/tests/test_issue749_profile_create_model_picker.py @@ -121,6 +121,34 @@ def test_profile_model_selection_accepts_provider_qualified_picker_value(): ) +def test_profile_model_selection_accepts_model_in_overflow_extra_models(): + """A default model living in a provider's picker-overflow ``extra_models`` + bucket (providers past the 15-entry visible cap, issue #3691) must validate + — it renders in the dropdown, so it must not fail with a false 400 (#5453).""" + catalog = { + "groups": [ + { + "provider": "OpenAI Codex", + "provider_id": "openai-codex", + "models": [{"id": "gpt-5.5", "label": "GPT-5.5"}], + "extra_models": [ + {"id": "gpt-5.5-overflow", "label": "GPT-5.5 Overflow"} + ], + } + ] + } + + # Selected default lives only in the overflow bucket — must still validate. + profiles._validate_profile_model_selection( + "gpt-5.5-overflow", + "openai-codex", + available_models=catalog, + ) + assert profiles._profile_model_selection_exists( + catalog, "gpt-5.5-overflow", "openai-codex" + ) + + def test_profile_model_selection_rejects_unknown_model_provider_pair(): catalog = { "groups": [