You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
configure: add --skip-unavailable so --agents can configure the available subset (#308)
* configure: add --skip-unavailable for --agents
`--agents` treats an explicit list as all-or-nothing: if any named agent
isn't available on the workspace, the run raises before configuring any
of them. On a workspace whose AI Gateway exposes no OpenAI models,
`--agents claude,codex,pi` therefore configures nothing, even though
claude and pi are both usable there.
Keep that strict default — naming agents explicitly is a request for a
specific outcome, and a run that silently configures a subset would exit
0 while leaving a caller believing codex works, surfacing the failure
later at launch time instead. Add an opt-in `--skip-unavailable` for
callers that want the tolerant behavior: available agents are configured
and the rest are skipped with a warning, preserving the requested order.
The run still exits non-zero when none of the requested agents are
available, so the flag can't turn a completely unusable workspace into a
silent success. `--skip-unavailable` requires `--agents`: the interactive
picker already offers only available agents, and `--agent` names a single
agent whose absence is the whole answer. The strict error message now
points at the flag.
Co-authored-by: Isaac
* codex: use gpt-oss-* models when no versioned GPT is available
default_model() returned None for workspaces whose codex_models list
contains only gpt-oss-* ids (e.g. system.ai.gpt-oss-120b), causing
codex to configure with a stale or missing model. The restriction was
intended to exclude non-GPT ids (e.g. moonshotai/kimi-k2.5) that the
responses gateway would reject, but gpt-oss-* ids come from the codex
bucket in UC model-services and expose the responses API — confirmed
live against az-dogfood, HTTP 200, tokens consumed.
Fall back to the first available model when no versioned GPT parses,
instead of returning None. Versioned GPT ids (gpt-5, gpt-5-6-luna, ...)
still win when present.
Co-authored-by: Isaac
* codex: fix gpt-oss fallback and CI test failures
Two regressions from the previous commit:
1. default_model() fallback was too broad — it returned any first model
when no versioned GPT parsed, including non-GPT ids like
moonshotai/kimi-k2.5 that the responses gateway would reject. Tighten
the fallback to gpt-* prefixed models only via a new _is_gpt_family()
helper. gpt-oss-* stays usable; non-GPT ids stay excluded.
2. test_skip_unavailable_forwarded_with_agents used --profiles DEFAULT
--use-pat which reads ~/.databrickscfg — that file doesn't exist on CI
runners. Switch to --workspaces https://... which doesn't touch the
filesystem.
Co-authored-by: Isaac
Available agent names are `codex`, `claude`, `gemini`, `opencode`, `copilot`, and `pi`. `cursor` is also accepted (MCP-only — it registers Databricks MCP servers but configures no models).
77
77
78
+
Naming agents explicitly is treated as a request for all of them: if any one isn't available on the workspace, the run fails without configuring the others. Add `--skip-unavailable` to configure the available subset instead and skip the rest with a warning:
This is useful in CI against a mix of workspaces — on a workspace whose AI Gateway exposes no OpenAI models, the command above still configures `claude` and `pi`, and reports Codex as skipped. It exits non-zero only when none of the requested agents are available.
85
+
78
86
To configure without the workspace picker, pass a comma-separated list of workspaces:
79
87
80
88
```bash
@@ -233,6 +241,7 @@ pick the new config up on their next ucode run.
233
241
|`ucode claude --enable-smart-routing`| Enable AI Gateway routing for Claude Code sessions and subagents |
234
242
|`ucode claude --disable-smart-routing`| Disable routing and remove ucode's Claude Code routing hooks |
235
243
|`ucode configure --skip-validate`| Write configs without sending a test message through each agent |
244
+
|`ucode configure --agents claude,codex,pi --skip-unavailable`| Configure the requested agents that are available; skip the rest with a warning |
236
245
|`ucode configure --agents claude --mcp system.ai.slack`| Configure an agent and register its Databricks MCP server(s) in one command |
237
246
|`ucode configure skills`| Register the skills MCP connection (utility tools only); no skills download |
238
247
|`ucode configure skills --location main.default [--path <dir>]`| Download a schema's skills to disk (under `<dir>`, or your home dir) and register a schema-less skills MCP connection |
0 commit comments