[AIGTWY-4573] Apply v2 static/auto model curation to /model picker - #547
Open
david-siqi-liu wants to merge 1 commit into
Open
[AIGTWY-4573] Apply v2 static/auto model curation to /model picker#547david-siqi-liu wants to merge 1 commit into
david-siqi-liu wants to merge 1 commit into
Conversation
david-siqi-liu
marked this pull request as ready for review
September 9, 2026 23:53
david-siqi-liu
force-pushed
the
david/AIGTWY-4573
branch
from
September 10, 2026 00:30
48d71f8 to
b350053
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573-model-picker
branch
from
September 10, 2026 01:04
4eab7d0 to
b27b6c5
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573
branch
from
September 10, 2026 03:06
b350053 to
00910d9
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573-model-picker
branch
from
September 10, 2026 03:11
b27b6c5 to
714cb0f
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573
branch
from
September 10, 2026 20:36
00910d9 to
6229c58
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573-model-picker
branch
from
September 10, 2026 20:38
714cb0f to
a7fdf68
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573
branch
from
September 10, 2026 20:52
6229c58 to
5478434
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573-model-picker
branch
2 times, most recently
from
September 10, 2026 21:33
38a8d9f to
ca6e3f9
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573
branch
from
September 11, 2026 05:16
5478434 to
140bec4
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573-model-picker
branch
2 times, most recently
from
September 11, 2026 05:35
75f55d4 to
37567e9
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573
branch
from
September 11, 2026 11:45
140bec4 to
d1f4069
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573-model-picker
branch
from
September 11, 2026 11:46
37567e9 to
cd97bcc
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573
branch
from
September 11, 2026 12:43
d1f4069 to
635971b
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573-model-picker
branch
from
September 11, 2026 12:43
cd97bcc to
6d748aa
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573
branch
from
September 11, 2026 14:48
635971b to
3ca703e
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573-model-picker
branch
from
September 11, 2026 14:48
6d748aa to
7614465
Compare
…del picker Stacked on the v2-consume + TTL PR (david/AIGTWY-4573). With the v2 config parsed (including the models.names allow-list and model_service_location), turn each agent's model source into its own picker so /model reflects it. - managed_resolve: expose managed_static_models + managed_model_service_location, count them in managed_supplies_models so ucode skips its own discovery, and layer them into state for the Claude/Codex writers. - claude: a static list becomes availableModels + enforceAvailableModels + a modelPicker that replaces the built-in options (so exactly the named ids, non-Claude included); a discovery location turns on gateway model discovery instead. Both skipped under a provider/relayed launch. Stale picker keys are pruned when the config no longer supplies a list. (The server guarantees every default_alias_models value is one of models.names, so a family default is never hidden.) - codex: a static list is written as a model_catalog_json catalog of full ModelPresets (StaticModelsManager replaces remote discovery); auto needs no catalog since the provider base_url already drives Codex's discovery. The catalog file is removed when the list goes away. Verified the generated Codex catalog parses in the real Codex 0.146.1 (codex debug models), and the Claude picker keys via render_overlay + an isolated /model capture. Pickers are soft curation (they don't fence an explicit --model); hard governance stays gateway-side. Co-authored-by: Isaac <no-reply@databricks.com>
david-siqi-liu
force-pushed
the
david/AIGTWY-4573
branch
from
September 11, 2026 15:58
3ca703e to
de95698
Compare
david-siqi-liu
force-pushed
the
david/AIGTWY-4573-model-picker
branch
from
September 11, 2026 15:58
7614465 to
916cbc1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #545 (branch
david/AIGTWY-4573) — merge that first. This is the second half of AIGTWY-4573: now that the client parses the v2 config (includingmodels.namesandmodel_service_location), turn each agent's model source into its own/modelpicker.managed_resolve: exposemanaged_static_models+managed_model_service_location, count them inmanaged_supplies_modelsso ucode skips its own discovery, and layer them into state for the Claude/Codex writers.availableModels+enforceAvailableModels+ amodelPickerthat replaces the built-in options, so/modelshows exactly the named ids (including non-Claude gateway models, which discovery alone omits); a discovery location instead turns on gateway model discovery. Both are skipped under a provider or relayed launch, and stale picker keys are pruned when the config drops its list.model_catalog_jsoncatalog of fullModelPresets (StaticModelsManager replaces remote discovery); auto needs no catalog since the provider base_url already drives Codex's discovery. The catalog file is removed when the list goes away.Verified:
render_overlaywrites the expected Claude keys, and the generated Codex catalog is accepted by the real Codex 0.146.1 (codex debug modelsrenders exactly the listed models withvisibility: "list"). The pickers are soft curation (they do not fence an explicit--model); hard governance stays gateway-side. The Codex preset's runtime-behavior fields (base_instructions, truncation_policy, etc.) are generic defaults — sufficient for the/modellisting this PR targets; per-model behavior tuning is a follow-up.This pull request and its description were written by Isaac.