Skip to content

docs: list team in the cmux auth help contract (unblocks app-host shard 6) - #13153

Merged
austinywang merged 2 commits into
mainfrom
feat-cli-contract-auth-team
Sep 20, 2026
Merged

austinywang merged 2 commits into
mainfrom
feat-cli-contract-auth-team

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 20, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • docs/cli-contract.md still listed Usage: cmux auth <status|login|logout>. The CLI has printed <status|login|logout|team> since Team picker: switch/create teams and scope Cloud #13051.
  • tests/test_cli_contract_help.py reads its expected help text from that file, so the strict "Run CLI no-socket regressions" step fails on app-host shard 6 for every macOS-routed PR merged with current main. Seen on Add app-host test failure census #13124, test: split an expression Xcode 27 cannot type-check #13126, and on the issue-12758-plain-paste-latency and 13019-team-picker-switch-create branches.
  • Also documents the auth team list|use|create subcommands in the auth table.
  • Also quiets a misleading traceback in the same shard's log: tests/test_claude_hook_clear_running_status.py's fake socket server replied to fire-and-forget hook commands after the CLI had closed the socket, so its thread died with BrokenPipeError (8 tracebacks per run) right above the test's own PASS line. A closed client now just ends that connection. The test's result never depended on the reply.

Testing

  • The failing job prints the CLI's real stdout: Usage: cmux auth <status|login|logout|team> (https://github.com/manaflow-ai/cmux/actions/runs/35489908957/job/106025351249). The probe line now equals it.
  • This PR changes only docs/, so the router skips the Mac jobs here. The first macOS-routed PR that merges main after this lands exercises the step.
  • The hook test alone, against a locally built CLI (CMUX_CLI_BIN=… python3 tests/test_claude_hook_clear_running_status.py), 5 runs each: before, 8 BrokenPipeError tracebacks per run and PASS; after, 0 tracebacks and PASS.
  • App-host shard 6 went green on this PR's previous head (c4b1f31), the first green shard 6 in 18 sampled runs tonight, which confirms the help-contract fix. The test-hygiene commit was pushed after that, so the run on the current head restarts.

🤖 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

Corrects the cmux auth help contract in docs/cli-contract.md so the documented usage includes team, matching the CLI's actual output and unblocking the strict no-socket regression check on app-host shard 6. Also makes the Claude hook test's fake server tolerate fire-and-forget clients.

  • Documents the auth team list|use|create subcommands in the auth table.
  • The fake server previously died with BrokenPipeError and dumped tracebacks into CI logs; it now treats a closed client as a clean end of connection.

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

Review in cubic

Summary by CodeRabbit

  • Documentation

    • Documented team management commands for listing, selecting, and creating teams.
    • Updated authentication help documentation to include the team command group.
  • Bug Fixes

    • Prevented expected connection errors from interrupting fire-and-forget hook commands when the CLI closes the connection before receiving a response.

The help contract probe in tests/test_cli_contract_help.py reads its
expected strings from docs/cli-contract.md. The auth usage line gained
`team` in the CLI but not in the contract, so the strict
"Run CLI no-socket regressions" step fails on app-host shard 6 for
every macOS-routed pull request merged with current main.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

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

@greptile-apps

greptile-apps Bot commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

The PR appears safe to merge; the documentation now matches the implemented CLI output, and the test-fixture change preserves subsequent connection handling.

Summary

Updates the documented CLI contract to include the existing cmux auth team command group and aligns the strict expected auth --help output with the CLI. It also makes a test-only Unix socket fixture tolerate fire-and-forget clients closing before reading a response.

  • Documents team listing, selection, and creation commands.
  • Updates the expected authentication help usage to include team.
  • Prevents an expected client disconnect from crashing a test fixture connection handler.

Reviews (2) · Last reviewed commit: "test: a fire-and-forget client is not an..."

@coderabbitai

coderabbitai Bot commented Sep 20, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 448cf9de-7077-4423-bfd0-58d0c5ea93c8

📥 Commits

Reviewing files that changed from the base of the PR and between 107b9d2 and c4b1f31.

📒 Files selected for processing (1)
  • docs/cli-contract.md

Included review availability: Your plan provides up to 10 included reviews per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The CLI contract now documents the auth team namespace, including team listing, selection, and creation. Auth help output also advertises the team subcommand.

Changes

Auth team CLI contract

Layer / File(s) Summary
Document auth team commands
docs/cli-contract.md
The auth contract adds team listing, selection, and creation commands. The no-socket auth help probe includes the team subcommand.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Other

Suggested reviewers: austinywang

🚥 Pre-merge checks | ✅ 25
✅ Passed checks (25 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cmux Cloud Persistent Session And Early Input ✅ Passed PASS: The authoritative PR diff changes only docs/cli-contract.md (3 insertions, 2 deletions). The changes document auth team usage and subcommands. They do not change Cloud terminal creation, tra…
Cmux Swift Actor Isolation ✅ Passed PASS: The review-scoped diff changes only docs/cli-contract.md (3 insertions, 2 deletions). It contains no Swift files or production Swift code, so it cannot introduce or worsen Swift 6 actor isolat…
Cmux Swift Blocking Runtime ✅ Passed The pull request changes only docs/cli-contract.md. The authoritative diff contains no Swift, Objective-C, or Objective-C++ files and introduces no runtime synchronization, blocking waits, sleeps, p…
Cmux Browser Automation Off-Main ✅ Passed PASS. The authoritative PR diff changes only docs/cli-contract.md. It updates CLI contract text and help output for auth team; it does not change browser socket automation code, routing, WebKit/Ap…
Cmux Expensive Synchronous Load ✅ Passed PASS: The review-scoped diff changes only docs/cli-contract.md; it adds team to documented auth help and lists auth team subcommands. No Swift files or production Swift behavior changed, so this c…
Cmux Cache Substitution Correctness ✅ Passed PASS. The review-scoped diff changes only docs/cli-contract.md (+3/-2). It contains no Swift, TypeScript, or JavaScript production changes, and therefore introduces no cache substitution in a persis…
Cmux No Hacky Sleeps ✅ Passed PASS: The pull request changes only docs/cli-contract.md (+3/-2). It introduces no TypeScript, JavaScript, shell, build, or runtime code. Therefore, it cannot introduce or worsen a covered hacky sle…
Cmux Algorithmic Complexity ✅ Passed The pull request changes only docs/cli-contract.md. The diff adds team to documented auth help and documents auth team subcommands. It adds no Swift, TypeScript, JavaScript, shell, or runtime code…
Cmux Swift Concurrency ✅ Passed PASS: The pull-request range changes only docs/cli-contract.md (+3/-2). It contains documentation text only, and the diff has no Swift files or Swift source paths. Therefore, the pull request does n…
Cmux Swift @Concurrent ✅ Passed PASS: The review-scoped diff changes only docs/cli-contract.md and contains no Swift changes. Therefore, this pull request cannot introduce any @concurrent annotation violation or Swift actor-isol…
Cmux Swift Package Boundaries ✅ Passed PASS: The reviewed range changes only docs/cli-contract.md (3 insertions, 2 deletions). It contains no Swift, Xcode, or Swift package changes. Therefore, it does not introduce or expand any producti…
Cmux Swiftpm Lockfiles ✅ Passed PASS: The review-scoped diff changes only docs/cli-contract.md. It contains no SwiftPM package, Xcode project, .gitignore, workflow, or dependency changes, so the SwiftPM lockfile failure conditio…
Cmux Swift Logging ✅ Passed PASS: The pull request changes only docs/cli-contract.md (3 insertions, 2 deletions). The diff adds documentation and a CLI help contract line. It adds no Swift code or logging statements, and the…
Cmux User-Facing Error Privacy ✅ Passed PASS. The pull request changes only docs/cli-contract.md. The added text documents team commands and updates a help-output contract. The policy explicitly allows docs and generic terms such as “te…
Cmux Full Internationalization ✅ Passed PASS. The authoritative diff changes only docs/cli-contract.md (+3/-2). It updates an English-only CLI migration contract and its executable help probe, plus documents auth team commands. The docume…
Cmux Swiftui State Layout ✅ Passed PASS. The pull request changes only docs/cli-contract.md with documentation updates. The authoritative diff contains no Swift, SwiftUI, or project files, so it introduces none of the prohibited Swif…
Cmux Architecture Rethink ✅ Passed PASS. The review-scoped diff changes only docs/cli-contract.md (+3/-2). It adds team to documented auth help and lists the auth team commands. It contains no Swift or platform lifecycle code, and …
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed PASS. The reviewed range changes only docs/cli-contract.md (3 additions, 2 deletions). It adds team to documented auth help and lists auth team commands. It introduces no Swift, NSWindow, NSPanel,…
Cmux Source Artifacts ✅ Passed PASS. The reviewed range changes only docs/cli-contract.md. The patch adds documented auth team commands and updates the help probe. This is an intentional, durable documentation and test-contract…
Cmux No Test Or Debug Seam In Production Source ✅ Passed The authoritative pull-request diff changes only docs/cli-contract.md. It changes CLI documentation and help-probe text only. No Swift file under a production Sources/ path changes, and no test/de…
Title check ✅ Passed The title clearly identifies the documentation change and its purpose: updating the cmux auth help contract to include team.
Description check ✅ Passed The description provides a detailed summary, motivation, affected tests, and testing results. The template checklist and review-trigger block are not included, but the required change and verification…
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

@teamleaderleo
teamleaderleo enabled auto-merge (squash) September 20, 2026 05:45
…ke server

tests/test_claude_hook_clear_running_status.py runs a fake cmux socket server
that answers every command. Hook commands are fire-and-forget: the CLI often
closes the socket before the reply is written, so the server thread died with
BrokenPipeError and printed a traceback (8 per run) into the CI log above the
test's own PASS line. The test result never depended on the reply. Treat a
closed client as the end of that connection.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@austinywang
austinywang merged commit 02cd032 into main Sep 20, 2026
33 of 37 checks passed
rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 20, 2026
02cd032 docs: list team in the cmux auth help contract (unblocks app-host shard 6) (manaflow-ai#13153)
fc245a8 Cancel queued Cloud creates when their provider retires (manaflow-ai#13150)
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.

2 participants