Skip to content

Fix Cloud dogfood pause link-down journey - #15918

Merged
teamleaderleo merged 1 commit into
manaflow-ai:mainfrom
teamleaderleo:dogfood/journey-pause-link-down
Sep 30, 2026
Merged

teamleaderleo merged 1 commit into
manaflow-ai:mainfrom
teamleaderleo:dogfood/journey-pause-link-down

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

The Cloud VM dogfood workflow now checks out main for access to the staging and production environments, parses agent hook status with jq, and keeps a fresh terminal anchor across pause, resume, relaunch, and restore checks.

The journey also measures pause behavior after stopping both the remote client and WireGuard hub. It records status at +1s, +5s, +15s, and +30s, then resumes and relinks before running the existing link-up pause leg. Link-down failures still recover and delete the VM, and are reported as journey failures.

Evidence from run 36696330152 showed the original resume check losing the -2 line and the provider returning to running after link-up pause.

Verification

  • node --check web/scripts/cloud-vm/dogfood-journey.mjs
  • node --check web/scripts/cloud-vm/dogfood-probes.mjs
  • actionlint .github/workflows/cloud-vm-dogfood.yml
  • python3 scripts/verify-local.py (15/15 selected checks passed)
  • bun run lint:complexity was blocked before changed-file analysis by the installed Bun/TypeScript runtime (ts.ScriptTarget is undefined)

Changelog

none

Review: required review subagent found and fixed a stale connection event mark and ensured link-down phase failures affect the final journey result while cleanup continues.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Fixes the Cloud VM dogfood journey so pause/resume terminal checks no longer fail, and adds a pause leg run with the remote client and WireGuard hub stopped.

  • Workflow now checks out main for staging and production environment access.
  • Writes a fresh terminal anchor before pausing and verifies it after resume, replacing the earlier line lost across the pause.
  • Stops the client and hub, pauses, samples provider status at 1s/5s/15s/30s, then resumes and relinks before the existing pause leg.
  • Parses hook status with jq instead of regex sed.
  • Link-down failures now fail the journey while cleanup still deletes the VM.

Written for commit 0325076. Summary will update on new commits.

Review in cubic

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 30, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 2 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 11c8b5f8-f77e-4552-8039-2c7e22cc5d9c

📥 Commits

Reviewing files that changed from the base of the PR and between 1b06f84 and 0325076.

📒 Files selected for processing (3)
  • .github/workflows/cloud-vm-dogfood.yml
  • web/scripts/cloud-vm/dogfood-journey.mjs
  • web/scripts/cloud-vm/dogfood-probes.mjs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review: the required review pass found a stale beforePause event mark after the link-down client was replaced, and a path where link-down phase errors could still report success.

Fixed: capture the mark after relink immediately before the existing pause leg, and record link-down pause, resume, and relink failures in the final journey result while preserving recovery and deletion.

Left: bun run lint:complexity remains blocked by the installed Bun/TypeScript runtime mismatch before changed-file analysis (ts.ScriptTarget is undefined).

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (cmux-cloud-dogfood, head 0325076): approve.

  • The checkout is back to refs/heads/main, so only main's code runs with the Cloud secrets.
  • agentHooks now uses jq over any object with provider and state, which works whatever the JSON nesting or key order. The echoed command line holds the literal text \(.provider), so it can never match the marker. jq ships in the devbox image.
  • The -6 anchor is typed right before pause. terminalAfterResume and restoredTerminal wait for it, and restoredTerminal keeps -2 under --skip-sleep, where no anchor is typed.
  • In the link-down phase, the client and the hub both stop before pause, so nothing inbound reaches the VM while the status series runs (+1/+5/+15/+30 s). Resume and relink run in finally. If the relink fails, link is left unset and the next link.mark() throws into the outer catch. That catch now deletes the VM, and cleanup() still kills children from its own list and empties the account. So a failed phase costs a clean failure, never an orphaned machine.
  • node --check passes on both files.

Fixed: nothing needed.
Left: the new delete in the outer catch overlaps with emptyAccount in cleanup(). That is harmless, and it makes the VM's removal show up in the result notes.

@teamleaderleo
teamleaderleo enabled auto-merge (squash) September 30, 2026 09:49
@teamleaderleo
teamleaderleo merged commit 46fe41a into manaflow-ai:main Sep 30, 2026
73 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Merge receipt for 0325076b16, merged 2026-09-30 09:52:19 UTC

  • Not verified at merge: CI timing (in progress)
  • Verified: ci-status, Web complexity, web-validation, CI fast guards, Fast static checks, GhosttyKit release check, guards (18), ios-e2e-status, route, Testbox broker trust boundary, tests, Web complexity candidate, and 8 more
  • Skipped by policy: agent-session-web-resources, backend, browser, Claude wrapper regressions, diff-sidecar-check, Dogfood build #​${{ github.event.pull_request.number }}, ios-e2e, linux-preflight, mac-host, macos, macOS admission gate, react-apps-check, and 8 more
  • Full suite: runs on main after merge.

rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 30, 2026
ecba57a fix(sidebar): cut with an ellipsis character so a reference cannot re-parse (manaflow-ai#15893)
6d2b5d1 feat(terminal): browser-style navigation layout and a terminalAlternateScreen shortcut key (manaflow-ai#14863)
0d3fdb1 test: print the simulator pipe output when the EOF assertion fails (manaflow-ai#15857)
46fe41a Fix cloud dogfood pause link-down journey (manaflow-ai#15918)
7d246ed fix: open existing Cloud workspace rows optimistically (manaflow-ai#15747)
1b06f84 fix(agent-chat): show ACP paths and diffs for tool calls (manaflow-ai#15908)
b413b7a fix(agent-chat): preserve earlier ACP plans during updates (manaflow-ai#15907)
8b75678 Persist Cloud display membership across clients (manaflow-ai#15748)
547340a fix(cloud): carry the machine author from /api/vm to the machine row's snapshot (manaflow-ai#15309)
e30de3d test: probe cloud agent status in Cloud VM journey (manaflow-ai#15875)
296537c docs(agent-chat): correct provider claims and pin ACP argv (manaflow-ai#15901)
e1dc959 Count the renamed Agent spawn tool as a subagent in the pi bridge (manaflow-ai#15865)
14fae18 dogfood: record the hover steps as trees, not frames (manaflow-ai#15845)
4da3bb3 fix(agent-chat): scope ACP plans to their turn and refresh activity (manaflow-ai#15898)
64ec56d feat(terminal): right-click a link to choose where it opens (manaflow-ai#15325)
efb762c Make unsupported remote browser warning dismissible (manaflow-ai#15726)
666c77f Cloud Machines sidebar: add persistent create buttons (manaflow-ai#15680)

# Conflicts:
#	.github/workflows/cloud-vm-dogfood.yml
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