Skip to content

ucode: require Databricks CLI 1.11.0+ when configuring skills - #322

Open
xsh310 wants to merge 1 commit into
databricks:mainfrom
xsh310:skills-mcp-cli-1110-floor
Open

ucode: require Databricks CLI 1.11.0+ when configuring skills#322
xsh310 wants to merge 1 commit into
databricks:mainfrom
xsh310:skills-mcp-cli-1110-floor

Conversation

@xsh310

@xsh310 xsh310 commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

ucode configure skills currently inherits the global Databricks CLI floor of v1.0.0. That floor exists so databricks aitools is available, but it is too low for the skills MCP: the MCP uploads skill bundles with databricks fs cp, whose create then finalize sequence only writes correctly on Databricks CLI v1.11.0 and later. A customer on an older CLI can register the connection and then have uploads silently fail at finalize.

This change enforces a v1.11.0 floor specifically for the configure skills command.

What changed

  • Added SKILLS_MCP_MIN_DATABRICKS_CLI_VERSION = (1, 11, 0) in databricks.py.
  • Parameterized ensure_databricks_cli_version(minimum=...) and install_databricks_cli(minimum=...), defaulting to the existing global floor so every other command keeps the v1.0.0 behavior.
  • configure_skills now calls install_databricks_cli(minimum=SKILLS_MCP_MIN_DATABRICKS_CLI_VERSION) at the top of the command, covering both the --mcp and the download paths since both register the connection.

The installer already upgrades transparently, so affected users get a single automatic CLI upgrade rather than a hard failure or manual steps.

Testing

  • test_cli.py: new test_requires_skills_mcp_cli_floor asserts the command provisions the CLI with the v1.11.0 floor; autouse fixture stubs the installer for the existing dispatch tests.
  • test_databricks.py: new test_custom_minimum_upgrades_version_below_it proves a v1.8.0 CLI (which clears the default floor but not the skills floor) triggers an upgrade.
  • Full tests/test_cli.py and tests/test_databricks.py pass; ruff clean.

Note

The v1.11.0 requirement reflects where fs cp writes correctly. The upload itself runs agent side through the skills MCP tools, outside this repo, so please confirm 1.11.0 is the exact fix version before merging.

This pull request and its description were written by Isaac.

The skills MCP uploads skill bundles with `databricks fs cp`, which only
writes correctly on Databricks CLI v1.11.0 and later (the create then
finalize sequence). Before this change `ucode configure skills` inherited
the global floor of v1.0.0, so a customer on an older CLI could register
the connection and then have uploads silently fail at finalize.

Introduce SKILLS_MCP_MIN_DATABRICKS_CLI_VERSION = (1, 11, 0) and enforce it
at the top of `configure skills` (both the MCP and download paths, since
both register the connection). Parameterize ensure_databricks_cli_version
and install_databricks_cli with a `minimum` argument that defaults to the
existing global floor, so every other command keeps the v1.0.0 behavior.
The existing installer already upgrades transparently, so this is a single
automatic upgrade for affected users rather than manual friction.

Co-authored-by: Isaac
@xsh310
xsh310 force-pushed the skills-mcp-cli-1110-floor branch from a37ce31 to 763381c Compare August 13, 2026 01:11
@xsh310
xsh310 requested a review from AarushiShah-db August 13, 2026 01:14
@xsh310
xsh310 marked this pull request as ready for review August 13, 2026 01:14
@xsh310
xsh310 requested a review from sunishsheth2009 August 13, 2026 01:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant