Skip to content

Replace ucode setup with a ucode configure-centered workflow - #433

Open
david-siqi-liu wants to merge 1 commit into
david/personal-mcp-skillsfrom
david/configure-managed-flow
Open

Replace ucode setup with a ucode configure-centered workflow#433
david-siqi-liu wants to merge 1 commit into
david/personal-mcp-skillsfrom
david/configure-managed-flow

Conversation

@david-siqi-liu

@david-siqi-liu david-siqi-liu commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

🥞 Stack (AIGTWY-4342 ucode configure)


What did you change, and why?

Authoring a managed config (ucode setup) and applying one (bare ucode) were separate entry
points with overlapping behavior, and neither told the user which side of that line they were on.
ucode configure becomes the single entry point: it works out whether you are a workspace admin,
then either offers to author a draft or applies the workspace's published config.

  • ucode setup and its sub-app are gone. ucode configure carries the authoring flow, and
    ucode publish promotes the draft to published.
  • The draft and published slots from Split managed state into draft and published slots #437 are now used directly, and the transitional
    save_managed_state and load_managed_state aliases are deleted here, which is the migration
    Split managed state into draft and published slots #437 deferred.
  • README is rewritten around the new flow, including the on-disk state table.
  • Reviewer focus: the admin detection and its fallback in src/ucode/cli.py (an inconclusive check
    must not strand a non-admin in the authoring path), and the phase ordering in
    src/ucode/managed_wizard.py.

How do you know it works?

tests/test_cli.py and tests/test_managed_wizard.py were rebuilt around configure, covering the
admin and non-admin branches, the dry run, authoring from a file, and publish. #440 then drives the
whole flow end to end against a fake workspace. Full unit suite green locally at this layer (2139 passed, 37 skipped), and test plus e2e are green on CI.

@david-siqi-liu
david-siqi-liu force-pushed the david/configure-managed-flow branch from 7628c68 to 4bd0eeb Compare September 1, 2026 18:02
@david-siqi-liu
david-siqi-liu changed the base branch from main to david/personal-mcp-skills September 1, 2026 18:03
@david-siqi-liu
david-siqi-liu force-pushed the david/configure-managed-flow branch 2 times, most recently from c28f508 to 3f60924 Compare September 1, 2026 19:50
@david-siqi-liu
david-siqi-liu force-pushed the david/personal-mcp-skills branch from ba90328 to 82c09bb Compare September 1, 2026 23:28
@david-siqi-liu
david-siqi-liu force-pushed the david/configure-managed-flow branch from f95af9c to f6d295b Compare September 1, 2026 23:28
Managed config had its own command tree: `ucode setup` to author, `ucode setup
show`, `ucode setup help`, `ucode setup spend-tiers`, `ucode setup --from-file`.
An admin had to know that `ucode configure` set up their own machine while
`ucode setup` authored everyone else's, and a developer running `ucode configure`
against a workspace that publishes a config was walked through prompts whose
answers the managed config was about to override.

`ucode configure` is now the single entry point. It fetches the workspace's
published config once, applies it to this machine when there is one (showing the
drift inline rather than asking per setting), and only then offers authoring, to
admins. `ucode setup` and its subcommands are gone; `spend-tiers` and
`--from-file` move onto `configure`, and `ucode export` reads the draft slot.

Authoring writes the draft slot only, so nothing reaches the workspace until
`ucode publish`. A workspace whose managed-config backend is unavailable still
configures the machine and simply does not offer to publish.

Co-authored-by: Isaac <no-reply@databricks.com>
@david-siqi-liu
david-siqi-liu force-pushed the david/personal-mcp-skills branch from 82c09bb to 223b263 Compare September 2, 2026 00:39
@david-siqi-liu
david-siqi-liu force-pushed the david/configure-managed-flow branch from f6d295b to 3709e5b Compare September 2, 2026 00:39
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