Skip to content

v0.2.1

Latest

Choose a tag to compare

@billiam-wang billiam-wang released this 28 Oct 14:08
· 29 commits to main since this release
5f72236

What's Changed

  • Expose Unity Gateway model catalogs to Codex App by @andy-xu-db in #778
  • Point Databricks CLI install failures at ~/.local/bin/databricks by @max-rozen-oss-db in #794
  • excluded gpt-6 from tests by @lilly-luo in #797
  • Rebrand ug doctor output from ucode to ug by @max-rozen-oss-db in #793
  • Make --skip-preflight skip the Databricks CLI version check by @max-rozen-oss-db in #293
  • [ML-69867] Make the workspace walk pickers cancellable and stop blocking CLI exit by @xsh310 in #800
  • [CI] Unblock main: bump Claude 2.1.280 + tolerate UC/gateway model-catalog lag by @sunishsheth2009 in #801
  • Add installed Claude and Codex tracing journeys by @tt-le in #739
  • Skip discovery for explicit managed MCP names; BASIC view + pagination for schema listing by @sunishsheth2009 in #787
  • Batch managed MCP registration into one config write per agent by @sunishsheth2009 in #789
  • Accept allow_all_targets Bedrock provider services for Claude by @greynewell in #812
  • mcp-proxy: drive per-connection login on a 401 (generic, all agents) by @sunishsheth2009 in #557
  • Skip managed MCP setup gracefully on ListMcpServices 429 by @sunishsheth2009 in #813
  • Add full-journey integration test for allow_all_targets Bedrock Claude by @masonc08 in #814
  • Run Claude managed defaults tests against published workspace configs by @lilly-luo in #832
  • Require managed-config integration tests to pass by @rohita5l in #829
  • Extract shared _fetch_bundles_and_write skill-download helper by @xsh310 in #763
  • [Bug Fix] Replace skill bundles atomically instead of merging over them by @xsh310 in #767
  • [AIGTWY-4843] Surface invalid/expired token in ug mcp add by @sunishsheth2009 in #830
  • [AIGTWY-4856] mcp: only use native OAuth for connection-backed services (fix web_search) by @sunishsheth2009 in #836
  • Pin the Claude model for explicit-model integration tests by @rohita5l in #840
  • Reduce repeated sudo prompts for managed settings by @rohita5l in #837
  • e2e: skip Gemini image models in the Pi launch test by @david-siqi-liu in #842
  • [AIGTWY-4842] Skip managed-settings rewrite on a semantic no-op by @david-siqi-liu in #827
  • Fix ug mcp list reporting healthy MCP servers as missing by @sunishsheth2009 in #838
  • ug mcp add: say so instead of re-adding a server managed config already provides by @sunishsheth2009 in #839
  • Batch the cross-workspace MCP purge and stop it recurring by @sunishsheth2009 in #841
  • Run lint in separate CI step instead of pytest by @max-rozen-oss-db in #803
  • Show managed defaults and scoped catalogs in Claude model picker by @andy-xu-db in #783
  • Support per-launch model selection for OpenCode by @andy-xu-db in #834
  • Add advisory Windows installation CI with authenticated package proxies by @rohita5l in #786
  • Add Windows end-to-end Claude gateway CI by @rohita5l in #795
  • Fix success output on Windows legacy code pages by @rohita5l in #796
  • mcp: native codex OAuth for connection-backed AI Gateway services by @sunishsheth2009 in #843
  • [AIGTWY-4884] Identify managed-config reads with a ucode User-Agent by @david-siqi-liu in #878
  • pass custom agents for smart routing using --plugin-dir which persist btw background agents by @lilly-luo in #779
  • Resolve native Claude executable on Windows by @rohita5l in #798
  • Run CI on merge_group events by @max-rozen-oss-db in #882
  • Drop provider-launch e2e tests already covered by the integration suite by @masonc08 in #688
  • Wait for Claude gateway discovery in model-picker tests by @max-rozen-oss-db in #848
  • Resolve remaining npm-installed agent commands on Windows by @masonc08 in #884
  • Use Responses API for GPT-6+ in Copilot by @masonc08 in #898
  • Decode agent and Databricks CLI output as UTF-8 by @masonc08 in #889
  • Download skill bundle files concurrently by @xsh310 in #861
  • List skill bundle directories concurrently by @xsh310 in #869
  • Skip recommendModel when ug has no smart defaults by @andy-xu-db in #893
  • Add OpenCode to the integration test framework by @masonc08 in #909
  • Document fields ug configure writes by @david-siqi-liu in #895
  • Support Windows locking for custom OAuth by @masonc08 in #887
  • Avoid sharing cached proxy ports on Windows by @masonc08 in #888
  • Lilly/update smart routing banner model stubs by @lilly-luo in #918
  • Fix headless Claude launches with externally managed telemetry by @rohita5l in #826
  • [AIGTWY-4901] Only revert Claude model picker keys ug wrote to the managed file by @david-siqi-liu in #916
  • add smart router skill and infra to install a skill by @lilly-luo in #892
  • [ug] Surface invalid authentication errors from usage by @andy-xu-db in #897
  • add integration test for the smart router skill by @lilly-luo in #912
  • Preserve Claude search authentication, provider ownership, and caller denies by @JJ27 in #903
  • Never drop the first prompt when the Smart Routing model switch fails by @michaelp-db in #863
  • [ug] Preserve unmanaged Claude family defaults by @lilly-luo in #928
  • Add label-triggered UG review bot by @lilly-luo in #929
  • [ug] Preserve search ownership when models are unavailable by @JJ27 in #931
  • Resolve the newest matching databricks CLI by absolute path by @max-rozen-oss-db in #833
  • Bind Smart Router controls to the launching installation by @lilly-luo in #933
  • Use service principal for UG review bot by @lilly-luo in #948
  • Run only lint and unit tests in the merge queue by @max-rozen-oss-db in #934
  • Run UG review bot on protected runner by @lilly-luo in #950
  • Allow UG review bot to post PR comments by @lilly-luo in #951
  • Support Claude bootstrap on Windows by @masonc08 in #917
  • Run user journey gate on protected runner by @lilly-luo in #952
  • Use Responses API for user journey judge by @lilly-luo in #953
  • Fix missing web search on Claude-only setup by @JJ27 in #947
  • Pin models in smart router toggle tests by @lilly-luo in #954
  • Fix serialized requests in the built-in web search MCP server by @JJ27 in #932
  • AIGTWY-4385 Support Claude subagent routing on Windows by @masonc08 in #890
  • Pass gateway provider to the smart-routing Codex TUI by @masonc08 in #886
  • Quote Pi token commands for Bash on Windows by @masonc08 in #885
  • Auto-update downloaded skills at agent launch by @xsh310 in #764
  • test: scaffold full E2E CUJ suite by @lilly-luo in #971
  • Fix Claude schema discovery with managed defaults by @andy-xu-db in #981
  • test: add TUI request recorder by @lilly-luo in #994
  • ci: discover dedicated-workspace CUJs by @lilly-luo in #998
  • [AIGTWY-4678] MDM/JAMF bootstrap script for headless ug provisioning by @david-siqi-liu in #697
  • fix: preserve workspace origin in gateway probe by @lilly-luo in #999
  • test: add reusable dedicated-workspace CUJ framework by @lilly-luo in #1000
  • cuj4: smart routing by @lilly-luo in #972
  • [AIGTWY-4881] Keep Codex's managed default model when ug saves state by @david-siqi-liu in #1010
  • [AIGTWY-4902] Stabilize ug's User-Agent: no sudo for version-only changes, agent versions in the managed-config GET by @david-siqi-liu in #986
  • [AIGTWY-4902] Only revert a Claude managed picker that ug itself wrote by @david-siqi-liu in #988
  • fix: keep headless Claude and Codex stdout clean by @tt-le in #1007
  • [AIGTWY-4877] Add MPS and MCP two-agent CUJ by @masonc08 in #993
  • [AIGTWY-4880] CUJ5: Verify budget recommendations and agent startup by @andy-xu-db in #911
  • MCP follow-ups: status count via shared enumerator + async-only proxy auth by @sunishsheth2009 in #810
  • [AIGTWY-4876] Support managed CUJ1 setup by @JTSIV1 in #1004
  • [AIGTWY-4876] Test managed config CUJ1 by @JTSIV1 in #991
  • [AIGTWY-4876] Run managed config CUJ1 in CI by @JTSIV1 in #992
  • AIGTWY-4878 [1/3] Extract existing native transcript helpers by @tt-le in #968
  • AIGTWY-4878 [2/3] Test catalog discovery and configured defaults by @tt-le in #965
  • AIGTWY-4878 [3/3] Test MCP registration and tool use in Claude and Codex by @tt-le in #990
  • [AIGTWY-4881] Add CUJ 6 repeated-config E2E journey by @david-siqi-liu in #987
  • Add orchestrator skill and role instructions by @JJ27 in #1013
  • [AIGTWY-4977] Stub managed integration tests from JSON fixtures by @david-siqi-liu in #1032
  • [AIGTWY-4977] Cover managed skills in CUJ 2, 3 and 6 by @david-siqi-liu in #1026
  • Integrate opt-in Smart Router Orchestrator by @JJ27 in #996
  • Skip credentialed integration jobs on fork PRs by @david-siqi-liu in #1043
  • Isolate ambient smart-routing env vars in tests by @max-rozen-oss-db in #935
  • Fix Claude --model without a managed catalog by @andy-xu-db in #1037
  • Fix Windows Databricks CLI discovery after PATH refresh by @masonc08 in #1047
  • fix: reconcile headless managed settings without prompting by @tt-le in #1008
  • [AIGTWY-4972] Consolidate CUJ helpers, fix flakes, parallelize CUJs by @david-siqi-liu in #1040
  • ci: Upload E2E CUJ evidence as artifacts by @max-rozen-oss-db in #1050
  • ci: Run unit, e2e, and non-PTY integration lanes on Windows by @max-rozen-oss-db in #1025
  • Add ug agents add/remove/list for self-managed agents by @masonc08 in #896
  • ug: Filter image-only Gemini models in the e2e launch test on Windows only by @max-rozen-oss-db in #1061
  • Use the Anthropic Messages API for Claude models in Copilot by @masonc08 in #1065
  • Require Claude Code 2.1.290 or newer by @lilly-luo in #1059
  • Deliver managed config agent settings verbatim into managed files by @sunishsheth2009 in #997
  • consolidate smart routing configuration env vars into SMART_ROUTER_CONFIG by @lilly-luo in #1051
  • Add the Claude mod entry point and launch wiring by @lilly-luo in #1062
  • Verify orchestrator labels in live routing tests by @JJ27 in #1039
  • Make doctor robust to an unrunnable Databricks CLI and legacy Windows output encodings by @masonc08 in #1067
  • Allow Bedrock and Bedrock Mantle MPS for Claude and Codex by @masonc08 in #1066
  • Support agent-specific Smart Router Orchestrator skills by @JJ27 in #1076
  • Update Claude and Codex orchestrator workflows by @JJ27 in #1064
  • Resolve smart-routing presets separately for Claude and Codex by @lilly-luo in #1082
  • ci: Add zizmor workflow and fix its findings by @max-rozen-oss-db in #1089
  • Add a Claude-only subagent routing and orchestration preset by @lilly-luo in #1083
  • [AIGTWY-4882] Add fresh-launch journeys and dedicated CUJ7 coverage by @tt-le in #930
  • Skip Windows CI lanes on fork PRs by @david-siqi-liu in #1080
  • Add Kilo CLI as an agent provider by @djcelis in #901
  • Move fork-PR credentialed CI off pull_request_target by @david-siqi-liu in #1044
  • Pass Claude routing baselines through native plugin options by @lilly-luo in #1084
  • Configure first-run launches through the launch's --provider by @masonc08 in #1081
  • Run fork integration's GitHub API jobs on allowlisted runners by @david-siqi-liu in #1101
  • Report downloaded skills to AI Gateway for usage tracking by @xsh310 in #980
  • Memoize Databricks CLI tokens per process and skip impossible --no-browser re-auth by @yaoharry in #1017
  • Only skip the relay sign-in for a real Claude subscription login by @masonc08 in #1104
  • ci: Run Windows lanes on windows-latest and drop JFrog by @max-rozen-oss-db in #1095
  • Cut ug startup cost: fast --version entry point and lazy heavy imports by @yaoharry in #1018
  • Let ug mcp add --agents target a workspace without the picker by @erifyc1 in #1049
  • Share request recording and response checks between test suites by @lilly-luo in #1102
  • fix: Route headless Claude prompts before launch under smart routing by @max-rozen-oss-db in #1098
  • Add support for gateway request tags by @rclarey in #883
  • Clear Claude Code's input box before the Smart Routing model switch and replay by @luisscabral in #1110
  • ug: Recognize ug.EXE web-search entries on Windows by @max-rozen-oss-db in #1029
  • Toggle all Claude routing flags through the existing skill by @lilly-luo in #1063
  • Revert shared Claude routing skill removal by @lilly-luo in #1115
  • Update Claude orchestrator to C12 v1.3.0 by @JJ27 in #1119
  • Unskip CUJ 4 Claude explicit-model routing check by @lilly-luo in #1118
  • Allow skipping read/write of OS level settings by @rclarey in #908
  • Render smart-routing status in the TUI via a Claude Mod by @lilly-luo in #977
  • ci: Run Terminal Bench through ug on Linux and Windows by @max-rozen-oss-db in #1074
  • Carry the Smart Router recipe in CLAUDE_CODE_EXTRA_BODY by @lilly-luo in #1124
  • Skip the required agent-upgrade prompt when UG_AUTO_UPGRADE_AGENT is set by @p-yang in #1126
  • Open a browser sign-in when the Codex helper's Databricks login expires by @andy-xu-db in #1048
  • Run opt-in latest-agent smart-routing harness every six hours by @lilly-luo in #1125
  • Write Claude Code's machine-wide settings on Windows by @masonc08 in #1099
  • Notify Slack of latest harness success and failure by @lilly-luo in #1129
  • Show the routed agent in Claude smart-routing notices by @JJ27 in #1130
  • Tag harness owners in latest harness Slack notifications by @lilly-luo in #1133
  • tests: Shorten random ids in live suites and fix flakes by @max-rozen-oss-db in #1127
  • terminal-bench: Update Harbor success criteria & config by @max-rozen-oss-db in #1134
  • AIGTWY-5016 Add bounded Claude Desktop OAuth credential helper by @masonc08 in #1069
  • Reuse CLI OTEL proxy for Codex desktop tracing on Linux by @andy-xu-db in #1112
  • ci: Accept Claude's single-task detail view in /tasks wait by @max-rozen-oss-db in #1143
  • Hide the Smart Router band after one turn; show on/off in the prompt hint row by @lilly-luo in #1138
  • Update Claude orchestrator to v1.4.0 by @arnavsinghvi11 in #1148
  • Add custom model location option to ug configure by @billiam-wang in #1141
  • Fix Windows web_search hang and skip no-op PATH writes by @masonc08 in #1068
  • ci: Drive Windows integration TUIs through ConPTY by @max-rozen-oss-db in #1058
  • Let an OS-managed model picker own Claude's model defaults by @david-siqi-liu in #1135
  • Add Claude Code 1M hints for GPT models by @andy-xu-db in #1117
  • Use the ug command name in user-facing messages by @nachill-databricks in #1164
  • Skip gemini-3-7-flash in OpenCode E2E launch tests by @rohita5l in #1166
  • Use Open Code Review through Unity Gateway for /ug-review by @rohita5l in #1144
  • AIGTWY-5017 Manage a dedicated Claude Desktop gateway profile by @masonc08 in #1070
  • Add Polly multi-agent review to /ug-review by @rohita5l in #1165
  • AIGTWY-5019 Configure Claude Desktop alongside Claude Code by @masonc08 in #1071
  • AIGTWY-5019 Show readable Claude Desktop model labels by @masonc08 in #1174
  • Add [1m] hint to gateway-wrapped GPT model ids by @andy-xu-db in #1172
  • Support the OpenCode 2 plugin API for Databricks auth refresh by @mats16 in #906
  • terminal-bench: Run twice daily and notify Slack by @max-rozen-oss-db in #1173
  • Render subagent routing using claude code mod by @lilly-luo in #979
  • Record router candidates in local decision logs by @JJ27 in #1154
  • Make smart-routing reasons easier to read by @JJ27 in #1177
  • Run harness-latest once on weekdays by @lilly-luo in #1183
  • Add CUJ 8 for launcher sessions with a second settings writer by @david-siqi-liu in #1136
  • Use custom OAuth profile for Claude model catalogs by @JJ27 in #1178
  • AIGTWY-5019 Preserve externally managed Claude picker by @masonc08 in #1190
  • terminal-bench: Stop after 2 passes, run a 3rd attempt only on a split by @max-rozen-oss-db in #1176
  • AIGTWY-5019 Configure native Claude Desktop OTEL tracing by @masonc08 in #1175
  • Add Claude accepted-answer delivery for print mode by @arnavsinghvi11 in #1167
  • Update Claude orchestrator skill to v1.5.0 by @arnavsinghvi11 in #1168
  • Require feedback before disabling Smart Router in Isaac by @JJ27 in #1139
  • Write Codex's machine-wide requirements.toml on Windows by @masonc08 in #1158
  • test: align Claude picker expectations with gateway catalogs by @lilly-luo in #1206
  • Preserve Claude print results on stdout by @lilly-luo in #1194
  • Accept true/false for Isaac Smart Router feedback by @lilly-luo in #1195
  • Warn when configure can't write the machine-wide agent settings by @masonc08 in #1205
  • Add workspace-authenticated AI Gateway spend-status client by @poojabhat0 in #1171
  • AIGTWY-5018 AIGTWY-5020 Isolate Desktop tests and plan native integration by @masonc08 in #1072
  • codex: desktop OTEL tracing on macOS by @andy-xu-db in #1187
  • copilot: Route ug copilot through a refreshing loopback auth proxy by @xi-db in #1217
  • AIGTWY-5019 Move Desktop setup into desktop package by @masonc08 in #1221
  • codex: desktop OTEL tracing on Windows by @andy-xu-db in #1188
  • AIGTWY-5019 Label managed Claude Desktop models by @masonc08 in #1225
  • Remove per-launch Codex model catalogs on ug revert by @andy-xu-db in #1224
  • [AIGTWY] Add ug configure --global/--user scope by @JTSIV1 in #1207
  • Add opt-in multi-budget view to ug usage by @poojabhat0 in #1215
  • Stabilize smart routing integration coverage by @sunishsheth2009 in #1222
  • Use Claude Code CIMD client for MCP OAuth by @sunishsheth2009 in #1231
  • Show MCP and Skills catalog tables with metadata and status by @sunishsheth2009 in #1232
  • AIGTWY-5019 Configure Claude Desktop Cowork and recover MCP authentication by @masonc08 in #1213
  • Add Codex Azure OpenAI and Microsoft Foundry MPS test coverage by @masonc08 in #707
  • Submit Isaac feedback asynchronously in Smart Router sessions by @JJ27 in #1214
  • copilot: discover and switch between all authorized models by @xi-db in #1218
  • Add Codex desktop catalog integration tests by @andy-xu-db in #1226
  • Add ug usage --all to list all budget limits by @poojabhat0 in #1239
  • Add Claude-on-Bedrock MPS integration test by @masonc08 in #742
  • Turn on smart routing through subagent_orch_v0 for --enable-smart-routing and admin config by @xsh310 in #1212
  • AIGTWY-5175 Send client OS and arch in the ucode User-Agent by @masonc08 in #1234
  • Read ug usage budget IDs from resource names by @poojabhat0 in #1244
  • Support Claude Desktop subscription relay auth by @masonc08 in #1243
  • copilot: route ug copilot through Model Provider Services by @xi-db in #1220
  • CUJ1: Expect GPT-6 Luna and GPT-6.1 Sol in the Claude Code model list by @andy-xu-db in #1271
  • terminal-bench: Make background-shell require a background task by @max-rozen-oss-db in #1255
  • Add Claude Desktop relay integration coverage by @masonc08 in #1269
  • Quarantine flaky Claude Smart Router toggle journeys by @masonc08 in #1270
  • Block ug configure --user for managed workspaces by @billiam-wang in #1266
  • Add ug --header / UG_HEADERS for per-launch request headers by @andy-xu-db in #1248
  • Install the workspace policy at ug configure by @billiam-wang in #1259
  • Enforce the installed workspace policy on launch by @billiam-wang in #1260
  • copilot: route ug copilot through Microsoft Foundry provider services by @xi-db in #1267
  • Add a Claude Code mod so ug --header reaches Claude by @andy-xu-db in #1240
  • Trust OS-managed settings under UG_SKIP_OS_SETTINGS by @billiam-wang in #1263
  • Simplify ug usage budget ranking and display by @poojabhat0 in #1276
  • Match Codex subagent routes by spawn task name in the smart-routing CUJ by @lilly-luo in #1258
  • terminal-bench: Harden Harbor setup against slow Docker and apt by @max-rozen-oss-db in #1264
  • Pass user-scope MCP servers to relayed Claude launches by @nachill-databricks in #1238
  • Stop syncing managed settings on every launch by @billiam-wang in #1265
  • AIGTWY-5287 Shorten Cowork connector labels and plugin prefix by @masonc08 in #1297
  • copilot: run ug copilot on a Unity Catalog model location by @xi-db in #1256
  • Generate a Cowork connector skill naming configured MCP servers by @masonc08 in #1303
  • cc smart routing: render model + rationale for multiple subagents by @lilly-luo in #1273
  • [AIGTWY-5264] Bump certifi and CI uv for SIRT-1989 by @rohita5l in #1309
  • Use pinned CIMD OAuth clients for Claude, Codex, and Cursor MCP by @sunishsheth2009 in #1257
  • unity-gateway: Ask for verbatim CUJ 3 MCP receipts and document flake triage by @max-rozen-oss-db in #1304
  • Show readable Codex model labels in the picker by @andy-xu-db in #1311
  • unity-gateway: Read Codex's CUJ 2 skill answer from its exec JSON events by @max-rozen-oss-db in #1299
  • unity-gateway: Fix Windows-only catalog browser scroll test by @max-rozen-oss-db in #1295
  • terminal-bench: Let resume-session write the code word in step 2 by @max-rozen-oss-db in #1285
  • Sync user-downloaded skills into Claude Cowork by @masonc08 in #1293
  • [AIGTWY-5248] Run full CI hourly on main by @tt-le in #1317
  • Force Claude Code's mods gate on at launch, with locked .claude.json writes by @lilly-luo in #1298
  • [Smart Routing] Send workspace model ids to routes:select without model name normalization by @xsh310 in #1272
  • [AIGTWY-5291] Use browser sign-in for MCP connections by @masonc08 in #1302
  • Blank shell Anthropic credentials in Claude settings by @billiam-wang in #1287
  • Install header mod and policy only from configure by @billiam-wang in #1280
  • Make configure and launch write identical Claude models by @billiam-wang in #1281

New Contributors

Full Changelog: v0.2.0...v0.2.1