Run staging Cloud journey through Linux cmux

Merged
TE
2d ago
+34-5

Problem

The staging Cloud smoke stopped before link connect and sync because it did not provide a Linux cmux CLI. That left the headless Cloud loop unverified on the real staging backend.

Leo asked: "let's also get our iteration loop good for the whole "working on cloud" type thing" and "and if y'all need to update the app for whatever reason you can now".

Change

  • Build the exact Linux cmux-tui head on the credentialed staging runner.
  • Pass that binary to cloud-journey-ci.sh, which then exercises link ensure/dial and sync push/pull.
  • Use the journey's local model stub for this smoke so chat verification does not depend on a live Claude login; Stack account and Cloud credentials remain the real staging credentials.
  • Keep app-less journey jobs' existing sync skip behavior.

Validation

  • python3 scripts/cmux-next/prepush-gate.py
  • YAML parse of .github/workflows/backend.yml
  • Linux build step verifies an ELF cmux-tui and prints its SHA-256 before the journey.

agent-identity footer --repo manaflow-ai/cmux
šŸ¤– Generated with Codex

Agent session: agent session


Autofix with [code]smith
Open in [code]smith Ā· Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Runs the staging Cloud smoke through the Linux cmux-tui so the link connect and sync paths are verified against the real staging backend.

Changes

  • Builds the Linux cmux-tui binary on the staging runner and passes its path to cloud-journey-ci.sh.
  • Replaces the sparse checkout with a full clone plus Ghostty submodule initialization so the Linux build has all sources and the cmux VM CLI.
  • Setting CMUX_PATH makes the journey exercise link ensure/dial and sync push/pull; app-less jobs keep skipping sync, and JOURNEY_MODEL selects the chat model.
  • Chat verification uses the local model stub instead of a live Claude login; Stack and Cloud credentials remain real staging credentials.