Skip to content

🤖 feat: complete the Mux to Xum rename - #3928

Open
matifali wants to merge 10 commits into
mainfrom
rename-all-mux-mnentions-to-xum-the-project-was
Open

🤖 feat: complete the Mux to Xum rename#3928
matifali wants to merge 10 commits into
mainfrom
rename-all-mux-mnentions-to-xum-the-project-was

Conversation

@matifali

Copy link
Copy Markdown
Member

Summary

Complete the remaining Mux → Xum rename across the desktop app, internal TypeScript API, persisted storage, branding assets, VS Code integration, documentation, developer tooling, and Terminal-Bench harness.

What changed

  • Make ~/.xum and Electron userData/xum canonical while retaining centralized .mux / .cmux migration, read fallback, and downgrade aliases.
  • Harden migration rollback so data returns to the actual legacy source if compatibility alias creation fails, and align pre-startup home discovery with migration behavior.
  • Rename project-owned Mux* message, provider, ACP, Gateway/Governor, SSH, and mDNS symbols to Xum* while preserving serialized and wire-level compatibility values.
  • Replace the Mux-derived icon geometry with a distinct four-ribbon Xum mark and regenerate desktop, tray, favicon, PWA, docs, and VS Code assets.
  • Make xum canonical in Make targets, logs, service-worker caches, workflows, benchmarks, docs, fixtures, and visible UI; retain explicit compatibility aliases where existing consumers depend on them.
  • Add make check-xum-branding, backed by a reviewed compatibility allowlist, plus non-writing icon freshness/dimension/content validation.

Compatibility contracts retained

  • com.mux.app installer identity and mux:// deep links.
  • mux CLI/npm forwarding package and mux-* release artifacts.
  • .mux, .cmux, .muxignore, and MUX_* fallback/alias behavior.
  • VS Code Marketplace/package IDs and persisted mux.* command/settings keys.
  • Serialized/wire/provider/discovery values including muxMetadata, X-Mux-Workspace-Id, mux-gateway, and _mux-api._tcp.
  • External endpoints that still use established Mux identities, such as mux.coder.com and ghcr.io/coder/mux.

Validation

  • make check-xum-branding
  • bun scripts/generate-icons.ts check
  • make fmt-check
  • make lint
  • make typecheck
  • Focused compatibility/path/product/protocol/log suites: 93 passed, 5 skipped
  • Xum transition suite: 28 passed, 5 skipped
  • Terminal-Bench adapter suite: 24 passed
  • Trust CLI suite: 5 passed

The full source suite was also exercised: 11,843 passed, 14 skipped, with unrelated environment/global-isolation failures in existing backup/Git, timing, browser, and filesystem tests.


Generated with xum • Model: openai:gpt-5.6-sol • Thinking: high

Replace the reused x-and-cursor icon with a compact four-part convergence
mark, regenerate every tracked square branding asset, and add a non-writing
freshness and image-validity check to the canonical generator.

Validation:
- bun scripts/generate-icons.ts update
- bun scripts/generate-icons.ts check
- make build-icons
- make typecheck
- make fmt-check
- make lint
Make Xum canonical for the Make CLI, Terminal-Bench harness, service-worker cache, local logs, and shared developer environment while preserving explicit legacy aliases and environment inputs.

Add a scoped, Make-backed branding audit with behavioral coverage for stale copy and filenames.
@mintlify

mintlify Bot commented Aug 22, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
Mux 🟢 Ready View Preview Aug 22, 2026, 8:56 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@matifali

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c5043ef444

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/terminal-bench.yml
Comment thread benchmarks/terminal_bench/prepare_leaderboard_submission.py Outdated
Comment thread benchmarks/terminal_bench/xum_agent.py Outdated
@matifali

Copy link
Copy Markdown
Member Author

@codex review
Please take another look at the latest commit.

@matifali

Copy link
Copy Markdown
Member Author

Addressed all Codex findings in c93dcda:

  • Updated both BigQuery uploaders to prefer XUM_EXPERIMENTS / XUM_RUN_AS_GOAL by key presence with MUX_* fallback.
  • Excluded both canonical and pre-rename app/token artifacts from leaderboard submissions.
  • Made empty canonical benchmark env values explicitly clear legacy aliases and added regression coverage.

Validation: make fmt-check, make lint-actions, make check-bench-agent, uploader precedence checks, and Python compilation.

@codex review

@matifali

Copy link
Copy Markdown
Member Author

Follow-up: the required legacy leaderboard artifact exclusions are now covered by a narrow, documented branding-audit allow rule with regression coverage. make static-check-full passes locally.

@codex review

@chatgpt-codex-connector

This comment has been minimized.

@matifali

Copy link
Copy Markdown
Member Author

@codex review
Please retry the review; the previous attempt returned an unknown error.

@chatgpt-codex-connector

Copy link
Copy Markdown

Security review completed. No security issues were found in this pull request.

Reviewed commit: 74edb2682d

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 74edb2682d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

// Supports text, reasoning, file, and tool parts (including interrupted tool calls)
export type MuxMessage = Omit<UIMessage<MuxMetadata, never, never>, "parts"> & {
parts: Array<MuxTextPart | MuxReasoningPart | MuxFilePart | MuxToolPart>;
export type XumMessage = Omit<UIMessage<XumMetadata, never, never>, "parts"> & {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve the MuxMessage compatibility export

Renaming this exported type without leaving an alias breaks the separately published @coder/mux-chat-components package: packages/chat-components/src/index.ts:16 still re-exports MuxMessage, and packages/chat-components/src/sharedConversation.ts:1 still imports it. That package is excluded from the root TypeScript project and built separately by _npm-publish.yml, so the main checks miss the TS2724 error and a package release either fails declaration generation or publishes unusable typings; retain MuxMessage as an alias of XumMessage (or update the package while preserving its public compatibility export).

AGENTS.md reference: AGENTS.md:L22-L23

Useful? React with 👍 / 👎.

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