Skip to content

Fix cmux-cli compile error on main: hookEventName argument order - #11720

Merged
lawrencecchen merged 1 commit into
mainfrom
fix-cli-upsert-arg-order
Sep 2, 2026
Merged

lawrencecchen merged 1 commit into
mainfrom
fix-cli-upsert-arg-order

Conversation

@azooz2003-bit

@azooz2003-bit azooz2003-bit commented Sep 2, 2026 •

Copy link
Copy Markdown
Collaborator

PR #11529 added an store.upsert(...) call site in CLI/cmux.swift that passes hookEventName: after updateRuntimeStatus:, but the signature declares hookEventName before runtimeStatus. Swift requires call-site order to match declaration order, so the cmux-cli target fails to compile on main:

CLI/cmux.swift:35218:25: error: argument 'hookEventName' must precede argument 'runtimeStatus'

The PR lane has no macOS compile gate, so this landed red. This reorders the one misordered call site; the other seven hookEventName: call sites already use the correct order. No behavior change.

🤖 Generated with Claude Code


Summary by cubic

Fixes the cmux-cli compile error on main by reordering hookEventName: before runtimeStatus: in the store.upsert(...) call.

  • The previous argument order didn't match the function signature, so the target failed to build.
  • The other seven hookEventName: call sites already use the correct order.
  • No behavior change.

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

Review in cubic

Summary by CodeRabbit

  • Refactor
    • Reordered session initialization arguments without changing their values or runtime behavior.

@vercel

vercel Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
cmux166 Ready Ready Preview Sep 3, 2026 2:38pm UTC
cmux41 Canceled Canceled Sep 3, 2026 2:38pm UTC

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

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

@coderabbitai

coderabbitai Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: e58b9040-a736-4f86-a96f-027b49a1db10

📥 Commits

Reviewing files that changed from the base of the PR and between 363b178 and d663a98.

📒 Files selected for processing (1)
  • CLI/cmux.swift

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


📝 Walkthrough

Walkthrough

The session initialization call in CLI/cmux.swift reorders hookEventName, runtimeStatus, and updateRuntimeStatus. The argument values and behavior remain unchanged.

Changes

Session initialization

Layer / File(s) Summary
Reorder session initialization arguments
CLI/cmux.swift
The call places hookEventName before runtimeStatus and updateRuntimeStatus without changing their values.

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

Merge Risk: ⚪ Minimal · up to d663a

This change only restores CLI compilation by correcting the argument order in one call site; it does not alter runtime behavior, and no actionable merge-blocking risk remains.

Suggested reviewers: lawrencecchen, austinywang

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description clearly explains what changed, why the compile error occurred, and that behavior remains unchanged. However, it does not include the required Testing section or Checklist, and it does … Add the required Testing section with test results, include the Checklist with applicable items marked, and address the Demo Video and Review Trigger sections. State when the demo video is not applicable and include the review trigger block…
✅ Passed checks (14 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: reordering the hookEventName argument to fix a cmux-cli compile error.
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 Swift Actor Isolation ✅ Passed PASS. The diff changes only the order of hookEventName and runtimeStatus in one store.upsert(...) call in CLI/cmux.swift. The argument values remain unchanged. The upsert declaration already…
Cmux Swift Blocking Runtime ✅ Passed PASS. The only production Swift change moves the existing hookEventName argument before runtimeStatus in one store.upsert(...) call. The parent/child diff adds and removes the same line; it intr…
Cmux Browser Automation Off-Main ✅ Passed PASS: The commit changes only one line in CLI/cmux.swift, moving hookEventName before runtimeStatus in a store.upsert(...) call. It does not change browser socket commands, WebKit/AppKit acces…
Cmux Expensive Synchronous Load ✅ Passed PASS: The commit changes only one argument position in an existing store.upsert(...) call in CLI/cmux.swift (1 insertion, 1 deletion). The patch adds no loader, file read, JSON parse, actor hop,…
Cmux Cache Substitution Correctness ✅ Passed PASS: The diff changes only the order of hookEventName in one store.upsert(...) call. It does not replace a fresh authoritative read with a cached or opportunistic value, so the cold-cache and sta…
Cmux No Hacky Sleeps ✅ Passed PASS: The diff changes only CLI/cmux.swift, and the one-line change reorders hookEventName before runtimeStatus in a Swift call. The custom rule applies to TypeScript, JavaScript, shell, and non…
Cmux Algorithmic Complexity ✅ Passed PASS: The pull request changes only the order of two named arguments in CLI/cmux.swift. The ClaudeHookSessionStore.upsert declaration places hookEventName before runtimeStatus, and the commit …
Cmux Swift Concurrency ✅ Passed PASS: The available Swift diff contains only one argument move in CLI/cmux.swift. It moves hookEventName before runtimeStatus in an existing store.upsert(...) call. No background queues, Combi…
Cmux Swift @Concurrent ✅ Passed PASS. The HEAD diff changes only the order of hookEventName in an existing store.upsert(...) call. It adds or removes no async, nonisolated, @concurrent, actor isolation, or async call site.…
Cmux Swift Package Boundaries ✅ Passed PASS. The only committed change is a one-line reorder in CLI/cmux.swift: hookEventName now precedes runtimeStatus at an existing store.upsert(...) call. It introduces no feature logic, public …
Full details: Description check

Explanation

The description clearly explains what changed, why the compile error occurred, and that behavior remains unchanged. However, it does not include the required Testing section or Checklist, and it does not address the Demo Video or Review Trigger sections.

Resolution

Add the required Testing section with test results, include the Checklist with applicable items marked, and address the Demo Video and Review Trigger sections. State when the demo video is not applicable and include the review trigger block or its equivalent if reviews were requested elsewhere.

Full details: Docstring Coverage

Explanation

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 files. (1 skipped: 1 too large.)

Full details: Cmux Swift Actor Isolation

Explanation

PASS. The diff changes only the order of hookEventName and runtimeStatus in one store.upsert(...) call in CLI/cmux.swift. The argument values remain unchanged. The upsert declaration already lists hookEventName before runtimeStatus. The diff adds no actors, @MainActor, Sendable types, service protocols, or background access to UI-bound stores.

Full details: Cmux Swift Blocking Runtime

Explanation

PASS. The only production Swift change moves the existing hookEventName argument before runtimeStatus in one store.upsert(...) call. The parent/child diff adds and removes the same line; it introduces no semaphore, wait, sleep, delayed dispatch, polling, main-queue sync, or lock. Existing synchronization code is unchanged.

Full details: Cmux Browser Automation Off-Main

Explanation

PASS: The commit changes only one line in CLI/cmux.swift, moving hookEventName before runtimeStatus in a store.upsert(...) call. It does not change browser socket commands, WebKit/AppKit access, processV2Command, socketWorkerMethods, worker routing, or policy tests. The custom check therefore does not apply.

Full details: Cmux Expensive Synchronous Load

Explanation

PASS: The commit changes only one argument position in an existing store.upsert(...) call in CLI/cmux.swift (1 insertion, 1 deletion). The patch adds no loader, file read, JSON parse, actor hop, or interactive-path operation. The parent and current call both invoke the same agent session store path; only hookEventName moves before runtimeStatus. This does not add or worsen an expensive synchronous agent-history load.

Full details: Cmux Cache Substitution Correctness

Explanation

PASS: The diff changes only the order of hookEventName in one store.upsert(...) call. It does not replace a fresh authoritative read with a cached or opportunistic value, so the cold-cache and stale-cache conditions do not apply.

Full details: Cmux No Hacky Sleeps

Explanation

PASS: The diff changes only CLI/cmux.swift, and the one-line change reorders hookEventName before runtimeStatus in a Swift call. The custom rule applies to TypeScript, JavaScript, shell, and non-Swift build/runtime scripts. It does not introduce or worsen a covered sleep or timer.

Full details: Cmux Algorithmic Complexity

Explanation

PASS: The pull request changes only the order of two named arguments in CLI/cmux.swift. The ClaudeHookSessionStore.upsert declaration places hookEventName before runtimeStatus, and the commit matches that order. The diff introduces no collection iteration, scan, sort, filter, join, or algorithm change. Therefore, no failure condition in algorithmic-complexity.md applies.

Full details: Cmux Swift Concurrency

Explanation

PASS: The available Swift diff contains only one argument move in CLI/cmux.swift. It moves hookEventName before runtimeStatus in an existing store.upsert(...) call. No background queues, Combine state, completion-handler APIs, or fire-and-forget Task patterns are added or expanded.

Full details: Cmux Swift `@Concurrent`

Explanation

PASS. The HEAD diff changes only the order of hookEventName in an existing store.upsert(...) call. It adds or removes no async, nonisolated, @concurrent, actor isolation, or async call site. The declaration already lists hookEventName before runtimeStatus, so this change only restores the required argument order. No custom-check failure condition is introduced.

Full details: Cmux Swift Package Boundaries

Explanation

PASS. The only committed change is a one-line reorder in CLI/cmux.swift: hookEventName now precedes runtimeStatus at an existing store.upsert(...) call. It introduces no feature logic, public API, persistence logic, protocol, or reusable domain type. Therefore, it does not violate the SwiftPM package-boundary rules.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-cli-upsert-arg-order

Warning

Some tools did not complete. Review the errors below.

🔧 OpenGrep (1.27.1)
CLI/cmux.swift

OpenGrep scan timed out


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.

@cubic-dev-ai cubic-dev-ai 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.

No issues found across 1 file

You’re at about 98% of the monthly reviewed-line limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.

Re-trigger cubic

@lawrencecchen
lawrencecchen force-pushed the fix-cli-upsert-arg-order branch 2 times, most recently from a944e5e to e4b3b7e Compare September 2, 2026 21:58
@cursor

cursor Bot commented Sep 2, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@lawrencecchen
lawrencecchen force-pushed the fix-cli-upsert-arg-order branch from e4b3b7e to 4003d00 Compare September 2, 2026 21:59
…rt call

PR #11529 added this call site with hookEventName after updateRuntimeStatus,
but the upsert signature declares hookEventName earlier, so the cmux-cli
target fails to compile on main (argument 'hookEventName' must precede
argument 'runtimeStatus'). The PR lane has no macOS compile gate, so it
landed red.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lawrencecchen
lawrencecchen force-pushed the fix-cli-upsert-arg-order branch from 4003d00 to a8dbaf4 Compare September 2, 2026 22:01
@lawrencecchen
lawrencecchen merged commit 1384921 into main Sep 2, 2026
11 of 13 checks passed
rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 2, 2026
651e4f6 Merge pull request manaflow-ai#11729 from manaflow-ai/feat-supervisor-owner
4164ae1 Merge pull request manaflow-ai#11722 from manaflow-ai/feat-plugin-manager-hardening-main
d49bda2 fix: combine journal sequence and cursor continuity checks (manaflow-ai#11468)
ee3b0b4 fix(relay): drain pending process escalation before return
21ace78 fix(tui): distinguish local plugin Git paths
b39ae5d fix(relay): bound keeper setup cleanup
1562cad test(tui): preserve local plugin Git paths
b01cf06 fix(relay): disarm Windows jobs on normal completion
c098bbf test(relay): preserve successful Windows process jobs
7de2d03 fix(tui): reject option-like SSH usernames
ab23651 test(tui): reject option-like SSH usernames
c99f089 fix(relay): keep process-group owner through grace period
cc7e1e1 fix(relay): scrub process-group keeper environment
ba2640e fix(relay): own process groups through bounded cleanup
5836c5f test(relay): cover owned process cancellation and timeout
8f41cf6 fix(tui): reject SSH option-like plugin hosts
ad825ef test(tui): reject SSH option-like plugin hosts
7c4c752 fix(tui): classify common plugin credential variables
a9ec9ea fix(tui): preserve plugin toolchain environment
8fc0e86 test(tui): preserve plugin toolchain environment
012569f fix(tui): close plugin source and environment escape hatches
3fe0d92 test(tui): reject plugin source options and env leaks
edeed73 test(tui): close plugin source and environment escape hatches
63c0c25 fix(tui): reject Git credentials in all non-SSH URLs
e480982 test(tui): reject credential-like Git userinfo
35bb023 fix(tui): allow IPv6 plugin Git sources
df9e467 test(tui): preserve IPv6 plugin Git sources
0931ca2 fix(tui): bound and isolate plugin builds
e199af9 test(tui): cover plugin transport and build boundaries
2c66ab9 iOS: use the official cmux brand lockup (manaflow-ai#11725)
368c47a docs(tui): align protocol contracts with runtime (manaflow-ai#11418)
3507ef0 iOS: launch with a cached session mounts the shell, not the sign-in loading screen (manaflow-ai#11564)
cf475ff Merge pull request manaflow-ai#11727 from manaflow-ai/fix-tui-app-closure-type-main
6603bf7 fix(cmux-tui): annotate pane fixture closure input
1384921 Merge pull request manaflow-ai#11720 from manaflow-ai/fix-cli-upsert-arg-order
a8dbaf4 fix(cli): order hookEventName before runtimeStatus in agent-hook upsert call

This branch was successfully deployed

2 active deployments
Preview – cmux41 — a8dbaf4f Deployed Sep 3, 2026 by vercel[bot]
Preview – cmux166 — a8dbaf4f Deployed Sep 3, 2026 by vercel[bot]
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