Skip to content

[launch-polish] Add native human setup guide - #26741

Merged
teamleaderleo merged 25 commits into
feat-cmux-nextfrom
launch-polish-human-setup
Nov 2, 2026
Merged

teamleaderleo merged 25 commits into
feat-cmux-nextfrom
launch-polish-human-setup

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

People without an agent configured can open Help > Setup Guide (also in the command palette and menu bar menu). It gives concise steps for local harness setup, sign-in recovery, and SSH/Cloud machines. The page works offline and does not inspect credentials or start authentication.

The existing setup TASKS manifest owns the copy: cmux setup list exposes the human guide alongside agent prompts, and a generator derives the native localized defaults and docs/setup-guide.md. Current account-specific checks and recovery remain in the existing setup commands. Saved or detected credentials are explicitly not a claim of live validity or the intended account.

Leo's ask:

But of course, like if somebody doesn't have their agent set up yet, we want them to be able to just read the information, like, okay, the human-readable version, the concise, like, hey, go do this, and that, and that to, you know, do this, and, like, just in case you encounter any edge cases, any errors, whatever.

Design: the quiet reading pattern from the Claude first-run reference, using cmux's existing native page typography and inherited colours. The gallery compares compact, balanced and roomy layouts in light and dark. The page uses AppKit, the shared thin scroller and theme-aware text. No added animations, timers or health model.

Validation:

  • python3 scripts/cmux-next/tests/test_setup_guide.py passes.
  • SetupGuide localization has all 21 supported languages. ActionCatalog retains existing baseline debt.
  • Initial fleet Rust/native JSON and generated Swift/docs parity passed in run40646243910. Focused validation of the corrected Cloud instructions is running in run40653151720 at292b43ef2e1ebb229c802503c5ccfec05560c84a, including the existing dry-run versus confirmation behavior test.
  • App build at24408422 completed successfully (aacc3299f614354fbe29f50c). The subsequent Cloud copy correction names the non-dry-run command and updates all21 translations. Final-head native gallery/captures and independent review remain pending; controller status/submission timeouts currently prevent captures.

Scope excludes the picker, Chief, and live auth validity. Matching capture states will show palette search without the action on the base, then the action and actual page on this head; they do not claim provider sign-in behavior.

Agent session: agent session

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review ffcd236: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr26741 -f ref=launch-polish-human-setup -f platform=macos -f backend_mode=local

Passes: CI passes on ffcd236596.

CI passes on ffcd236596 (run 41366370718 attempt 1).

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

web and size checks: green

Default changes

This pull request changes 3 defaults at ffcd2365962b (what everyone gets without configuring anything):

  • tunable-source.CmuxNextApp/Handlers/SettingsHandlers.swift:bind: "5305dbbc73c30207080d25b50b67c7346dc53739d04e431dde42a2d5396ce6ef" -> "3095426b32ce1dcb21ac99db83bccc832ddd5691eaa486903394d00864fa99f1"
  • tunable-source.CmuxNextApp/Pages/SetupGuide/SetupGuidePage.swift:bind: (none) -> "59de9d71a9f681885eace329e428ee2527c1e0a2a0559371980f015bf2225833"
  • tunable-source.CmuxNextApp/Pages/SetupGuide/SetupGuidePage.swift:setupGuide: (none) -> "d3c339f5e6a049c2079aca3d449a1a88df7556b74e24a6728f64c628909f90e7"

Signed off on this commit by review (next-review patch-id; carried).

Merge receipt: merged as f3b2b54e3ce7 with these defaults changed, signed off by review (next-review patch-id; carried).

Regenerate the snapshot with python3 scripts/ci/defaults_guard.py snapshot.

Shipped in:

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 28, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-b90qz5 created for this PR by the cmux coordinator.

@blacksmith-sh

This comment has been minimized.

@cursor

cursor Bot commented Oct 28, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Orphaned: no activity for 17 h, and no lane holds a lease on it. Adopted by the orphan sweep: merged feat-cmux-next in at cbb339f. A later pass queues it for the merge hub if it is reviewed, small and red only on base reds.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (carry): SHIP at eb05078 (clean update-branch base merge only since a7e81a1; same 18 files). It picks up #31017, which fixes the stale app platform scopes.json red.

@cmux-bot
cmux-bot Bot dismissed their stale review November 1, 2026 15:57

A newer verdict blocks eb05078 (no independent SHIP at the head).

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex, router-review): SHIP at 8ab8f5d

Reviewer: codex gpt-6-astra high, fast tier.

Follow-ups: 1. Each lands as an issue in this repo that links this receipt; the lane that opened the PR fixes it forward.

SHIP at 8ab8f5d

Visual verdict: no images; Leo tries the build

Follow-ups:

  • [P2] [follow-up] No after screenshots or gallery artifact were available, so the native page’s visual result remains unverified.

cmux-bot[bot]
cmux-bot Bot previously approved these changes Nov 1, 2026

@cmux-bot cmux-bot 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.

cmux-bot approves 8ab8f5d: an independent review passed this exact head (router-review receipt by teamleaderleo). A push needs a new review; a later BLOCK at this head dismisses this approval.

@blacksmith-sh

blacksmith-sh Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Found 10 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmpaikg1zux/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmpwjhr4dn7/summary-fail.json (live):/summary-fail.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
imported web bundle inputs are not routed:/imported web bundle inputs are not routed: View Logs
test_every_part_of_bun_run_check_runs_in_the_warn_branch (main.WebviewsWarnSplitCov
ersCheck.test_every_part_of_bun_run_check_runs_in_the_warn_branch)/
test_every_part_of_bun_run_check_runs_in_the_warn_branch (main.WebviewsWarnSplitCov
ersCheck.test_every_part_of_bun_run_check_runs_in_the_warn_branch)
View Logs
test_the_repository_keeps_leo_bans (main.LeoBansTests.test_the_repository_keeps_leo
_bans)/
test_the_repository_keeps_leo_bans (main.LeoBansTests.test_the_repository_keeps_leo
_bans)
View Logs
test_the_repository_keeps_leo_bans (main.LeoBansTests.test_the_repository_keeps_leo
_bans)/
test_the_repository_keeps_leo_bans (main.LeoBansTests.test_the_repository_keeps_leo
_bans)
View Logs

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (next-review patch-id; carried): SHIP at c99aed5

The independent SHIP at 8ab8f5d carries to this head: the PR's own change (git diff $(git merge-base feat-cmux-next HEAD) HEAD) has the same git patch-id --verbatim (f4fe66d2f0c5e3a4) at both heads, and no merge between them was resolved by hand. Nothing new to review. A newer BLOCK, or any change to the PR's own diff, ends the carry.

…ion by lander-open-prs)

# Conflicts:
#	plans/cmux-next/actions.md
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium, conflict-resolution delta): SHIP at 6aaf307

Checked the merge of feat-cmux-next c026ef2 against the PR's original diff (merge base 377187a to c99aed5). All 17 files other than plans/cmux-next/actions.md have the same diff on top of the new base as before, and there are no conflict markers.
plans/cmux-next/actions.md: took base's copy and added help.setupGuide. settings 135, total 1323, palette 1267. I counted the tokens in each list: guiOnly has 228 unique entries and noObject has 314, matching their headers, and each list has help.setupGuide once, after appearance.customize. The word diff against base is the same as the original PR's (only the guiOnly count differs, because base moved it from 226 to 227). action-surfaces.json has help.setupGuide exactly once.
Follow-ups: confirm the regenerated exports with the "cmux-next generated files" CI job, since actions.md was edited by hand rather than regenerated by the macOS-only script.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium, conflict-resolution delta): SHIP at 6b66216

Checked the merge of feat-cmux-next (4e9faaf) into the old head 6aaf307. The PR's contribution is the same 18 files and +789/-7 before and after. Its +/- lines are identical for every file, including ActionCatalog.xcstrings, actions.md, action-surfaces.json, MenuBarMenuSpec.swift and schemas/defaults/cmux-next.json.
scripts/cmux-next/cmux-tui-tree-inputs.txt (the one conflict): base's new blob skills/cmux/SKILL.md line is kept, and the PR's blob .../Resources/setup-guide.json line is appended after it. Nothing from base was removed. check_cmux_tui_tree_inputs.py does not require any ordering.
No conflict markers are left in the PR's files. No follow-ups.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (next-review patch-id; carried): SHIP at 688c0f0

The independent SHIP at 6b66216 carries to this head: the PR's own change (git diff $(git merge-base feat-cmux-next HEAD) HEAD) has the same git patch-id --verbatim (c4c289c648b75c73) at both heads, and no merge between them was resolved by hand. Nothing new to review. A newer BLOCK, or any change to the PR's own diff, ends the carry.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (next-review patch-id; carried): SHIP at bd59a90

The independent SHIP at 6b66216 carries to this head: the PR's own change (git diff $(git merge-base feat-cmux-next HEAD) HEAD) has the same git patch-id --verbatim (c4c289c648b75c73) at both heads, and no merge between them was resolved by hand. Nothing new to review. A newer BLOCK, or any change to the PR's own diff, ends the carry.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (next-review patch-id; carried): SHIP at ffcd236

The independent SHIP at 6b66216 carries to this head: the PR's own change (git diff $(git merge-base feat-cmux-next HEAD) HEAD) has the same git patch-id --verbatim (c4c289c648b75c73) at both heads, and no merge between them was resolved by hand. Nothing new to review. A newer BLOCK, or any change to the PR's own diff, ends the carry.

@lawrencecchen

Copy link
Copy Markdown
Contributor

Leo (teamleaderleo): this PR (f3b2b54) raised CmuxNextApp by 110 lines (arch-ratchet app_lines +110 on this commit alone: SetupGuidePage.swift +109, SettingsHandlers.swift +1), which made the feat-cmux-next tip arch red. That is not a small move, so the revert-first rule applies: the revert PR is linked below. Please re-land it with the app code in a package.

Re-land design:

  • CmuxNextOnboarding (it already has CmuxNextDesign and a Resources folder) takes SetupGuideSection (with bundled), SetupGuideView, setup-guide.json and SetupGuide.xcstrings. Make SetupGuideView public and change Bundle.module there to the Onboarding bundle. generate-setup-guide.py then writes the JSON into Sources/CmuxNextOnboarding/Resources/.
  • SetupGuideGalleryTests goes to the Onboarding tests (or keeps only the page-open case in the App tests).
  • InternalPageProvider and services.pages are App-only, so the App keeps only the thin page provider (page, title, symbol, makeView returning SetupGuideView()) and the help.setupGuide bind, plus the one SetupGuidePage.bind(...) line in SettingsHandlers. That is about 20 App lines, not 110. In the same PR, take out at least as many CmuxNextApp lines as it adds, or show arch-ratchet --base origin/feat-cmux-next --head HEAD with no app_lines rise before merge.
  • The action catalog, menu, schema, setup.rs, docs and tour parts are not App code; they re-land as they are.
  • Connect GitHub from the human Setup Guide #26780 (Connect GitHub from the Setup Guide) builds on these same files; re-land it on top of the moved files.

@lawrencecchen

Copy link
Copy Markdown
Contributor

Leo (teamleaderleo): the revert PR is #31633 (Takes back #26741: arch app_lines +110 on the tip). The re-land design is in my comment above.

This branch was previously deployed

3 inactive deployments
ci-routing-agent — ffcd2365 Deployed Nov 2, 2026 by github-actions[bot] via cmux-next macOS placement #60489
artifacts — ffcd2365 Deployed Nov 2, 2026 by teamleaderleo via publish tree-addressed cmux-tui #97959
sentry-dsyms — ffcd2365 Deployed Nov 2, 2026 by teamleaderleo via upload cmux-tui dSYMs to Sentry #97959
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants