HOLD build-only: golden cmux-tui 8c00572a + the desktop link service (#36519)
HOLD: a build-only branch, never to merge. It exists so cmux-tui artifacts publishes this commit for the Cloud VM image lock (the golden-image slices of manaflow-ai/cmuxterm-hq#7086).
Leo, 2026-11-05 21:39Z: "If you're, like basing it off the golden image and just doing it bit by bit, slice by slice, sure. And you can preserve multiple copies, can't you?"
What it contains: cmux-tui 8c00572a, which is the lock's current pin (#36832): cbbeec18 from the approved image cloud-native-cbbeec1, plus only #36739. On top of that, only the cmux-tui part of #36519 (5e3d2300): cmux-host, cmux-link and the generated cloud-wire Desktop service. With it, the image's Cloud host reports link-desktop-v1 when the image has cmux-agent-rd.socket, and the receiver admits the creator's desktop dial.
Why: the desktop-agent-production probe (hq run 42112615671) failed at open-desktop with "no desktop capability advertised". Every pinned cmux-tui (cbbeec18, 8c00572a) predates #36519, so no image has ever reported the capability. The app and platform side shipped in #36848 and cmux-platform#903.
Next:
- A separate PR pins
images/cmux-vm/inputs.lock.jsonto this commit's publish. - A bake with the agent tools probe.
- The cmux-vm approval, with older images kept.
- The CLOUD_VM_API_IMAGE and CLOUD_DESKTOP_IMAGE_IDS flip.
Changelog
- none
🤖 Generated with Claude Code
Agent session: agent session
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
HOLD, build-only: never merges. Publishes cmux-tui 8c00572a so the Cloud VM image lock can pin it, adding the desktop link service that no prior image has ever shipped.
- The Cloud host now advertises
link-desktop-v1whencmux-agent-rd.socketis installed; a bakeddaemon.jsonnever decides it. - The receiver admits a creator-only
desktopdial: owner-kind token,desktopin the peer's policy, and up to one each ofdaemon,ssh,desktopin a token. cmux link dial --service desktopnow splices to the agent display's/run/cmux-rd/desktop.sock, refusing withdesktop_unavailablewhen the socket is missing.- Also carries #36739, which stops the relay's backoff wait from panicking its thread and ending the relay for good.
Next steps are the separate images/cmux-vm/inputs.lock.json pin, a bake with the agent tools probe, the cmux-vm approval, and the CLOUD_VM_API_IMAGE / CLOUD_DESKTOP_IMAGE_IDS flip.