Skip to content

cmuxTests: unbreak the build and re-sync the remote-tmux reorder/targeting suites - #8427

Merged
austinywang merged 5 commits into
manaflow-ai:mainfrom
ejc3:fix-cmuxtests-compile
Aug 4, 2026
Merged

austinywang merged 5 commits into
manaflow-ai:mainfrom
ejc3:fix-cmuxtests-compile

Conversation

@ejc3

@ejc3 ejc3 commented Jul 18, 2026 •

Copy link
Copy Markdown
Contributor

What this fixes

Three failures in the cmuxTests target that are invisible on a clean checkout because the target no longer compiles.

1 — The test target doesn't build. BrowserDesignModeScreenshotEvaluatorTests has a local let payload = try payload(from: prompt) that shadows the payload(from:) helper, so a later try payload(from: reducedPrompt) fails to compile ("cannot call value of non-function type"). That one line fails the whole target, which hides every other unit result. The shadowing call came in with #8393. Fixed by qualifying the second call as self.payload(from:).

2 — RemoteTmuxMirrorTargetingTests.programmaticMirrorReorder… builds one tab from two windows (panelIds.count == 1, not 2), so the reorder and windowOrder == [2,1] assertions fail.

3 — RemoteTmuxWindowReorderTests — the suite fails (33 assertions across 9 tests): reorder/close recoveries never fire, the connection never reconnects, retained panes never release.

Why 2 and 3 fail

Both suites drive the mirror connection with positional replies and assert on the pending-command queue. The mirror's control-command stream has moved since these setups were last updated: a window-list publish now also enqueues a per-window paneRects refetch (a window publishes only when its rects land), and closing a window issues a border-status unsubscribe (a plain send(), kind .other). An undrained follow-up sits at the FIFO head and swallows the reply meant for the next correlated command, so the state machine stalls.

Nothing caught the drift on merge: automated CI has been paused since #8029 (the test workflows are workflow_dispatch-only), and the compile break above means even a manual run dies before these tests execute.

The product is correct — the multiplex fuzzer and the sibling mirror suites build and reorder multi-window mirrors green. These are stale test setups. The fixes are test-only:

  • drain every follow-up the setup enqueues, strictly from the FIFO head — reply to each paneRects with its own window's pane id (windowId * 10) and stop at the first correlated command;
  • compare pending-command assertions with only trailing incidentals trimmed, so an incidental that lands between two meaningful commands still fails the assertion instead of being silently elided.

Red / green

  • On current main (with only the one-line compile fix so the target builds): programmaticMirrorReorder… fails panelIds.count → 1 == 2, and RemoteTmuxWindowReorderTests fails with 33 issues.
  • With this change: both suites pass. Verified locally via xcodebuild test — 33 tests across the 3 affected suites, TEST SUCCEEDED.

Summary by CodeRabbit

  • Tests
    • Improved reliability of browser inspection and remote tmux window-reordering tests.
    • Added bounded handling for queued pane geometry and incidental command responses.
    • Updated reorder assertions to ignore unrelated follow-up activity while preserving meaningful command order.
    • Clarified an internal helper reference without changing test behavior.

@coderabbitai

coderabbitai Bot commented Jul 18, 2026 •

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The changes update RemoteTmux tests to drain queued incidental commands before correlating responses and assertions. A browser screenshot evaluator test now explicitly invokes its instance payload helper.

Changes

RemoteTmux FIFO correlation

Layer / File(s) Summary
Command drain helpers
cmuxTests/RemoteTmuxMirrorTargetingTests.swift, cmuxTests/RemoteTmuxWindowReorderTests.swift
Bounded FIFO loops now drain queued paneRects and incidental .other commands before correlated replies and assertions.
Reorder scenario alignment
cmuxTests/RemoteTmuxWindowReorderTests.swift
Reorder scenarios filter trailing follow-ups and drain leading commands before validating ordering and refresh behavior.

Browser test helper qualification

Layer / File(s) Summary
Explicit payload helper call
cmuxTests/BrowserDesignModeScreenshotEvaluatorTests.swift
The reduced payload calculation now calls self.payload(from:) explicitly.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related issues

  • manaflow-ai/cmux-dev-artifacts#4471 — Tracks the same payload(from:) compile error addressed by the explicit helper qualification.

Possibly related PRs

  • manaflow-ai/cmux#7745 — Relates to RemoteTmux reorder and window-list command/result correlation covered by these tests.
  • manaflow-ai/cmux#8428 — Contains overlapping FIFO draining and response-correlation adjustments in the RemoteTmux tests.

Suggested reviewers: austinywang

🚥 Pre-merge checks | ✅ 25
✅ Passed checks (25 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: fixing cmuxTests build issues and syncing the remote-tmux reorder/targeting suites.
Description check ✅ Passed The description covers what changed, why, and local verification, though it omits the template's demo video, review trigger, and checklist sections.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 Only cmuxTests files changed, all annotated @MainActor; no production Swift actor-isolation debt was introduced or worsened.
Cmux Swift Blocking Runtime ✅ Passed PASS: All touched files are under cmuxTests, and the new loops are bounded test scaffolding; no semaphores, sleeps, asyncAfter, main-sync, or locks were added.
Cmux Browser Automation Off-Main ✅ Passed The PR only changes cmuxTests remote-tmux test files; no browser.* routing, WebKit/AppKit worker-lane code, or policy tests were modified.
Cmux Expensive Synchronous Load ✅ Passed Test-only diff; no production Swift load paths were added, and no agent-history/transcript/JSONL sync load appears in the changed files.
Cmux Cache Substitution Correctness ✅ Passed Diff only updates cmux test helpers/assertions; no production Swift/TS/JS cache/persistence path changed, so the rule doesn’t apply.
Cmux No Hacky Sleeps ✅ Passed The touched Swift test sections use deterministic FIFO drains/replies; no new sleep, timer, polling, or asyncAfter calls appear in the modified logic.
Cmux Algorithmic Complexity ✅ Passed Only test files changed; policy explicitly passes test-only scaffolding, and the added FIFO drain loops are bounded.
Cmux Swift Concurrency ✅ Passed Diff is test-only and adds FIFO-drain helpers; no new DispatchQueue/Combine/completion-handler patterns or fire-and-forget Tasks were introduced.
Cmux Swift @Concurrent ✅ Passed Diff only qualifies one helper call and adjusts synchronous test drains inside @MainActor suites; no @concurrent or nonisolated-async misuse was introduced.
Cmux Swift Package Boundaries ✅ Passed The diff is confined to cmuxTests test files; no production Swift Sources/ code was changed, so the package-boundary rule is not implicated.
Cmux Swiftpm Lockfiles ✅ Passed PASS: the diff only changes two cmuxTests Swift test files; no Package.swift, Package.resolved, .gitignore, workflow, or Xcode project dependency files were touched.
Cmux Swift Logging ✅ Passed PASS — The touched files are tests only, and the changed hunks add no print/debugPrint/dump/NSLog/Logger calls or sensitive logging.
Cmux User-Facing Error Privacy ✅ Passed Only test files changed; the user-facing error privacy rule explicitly passes tests, and no production error copy was added.
Cmux Full Internationalization ✅ Passed Diff only changes cmuxTests; policy explicitly exempts tests, and no user-facing/localized production text was added.
Cmux Swiftui State Layout ✅ Passed The diff only updates test helpers in cmuxTests; no new ObservableObject/@Published/GeometryReader/List/lazy-row state or render-time mutations were introduced.
Cmux Architecture Rethink ✅ Passed Diff is test-only: one compile fix and bounded FIFO-drain helpers; no new sleeps, locks, observers, or split ownership.
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed The PR only changes cmux test suites; the rule explicitly allows test-only fixture windows, and no standalone cmux-owned window or identifier code changed.
Cmux Source Artifacts ✅ Passed PASS: the diff only touches Swift test source files and adds no logs, screenshots, temp dirs, caches, or build outputs; no source-control artifact paths appear.
Cmux No Test Or Debug Seam In Production Source ✅ Passed The PR only changes cmuxTests files; no production Sources/Swift file adds a debug/test seam or test-only accessor.
Cmux No Ambient Global State ✅ Passed PASS: the touched Swift files only add/adjust private instance helpers inside test-suite structs; no new file-scope funcs/vars or singletons.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@greptile-apps

greptile-apps Bot commented Jul 18, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR unblocks the cmuxTests target by fixing three test failures that were invisible because the target no longer compiled. All changes are test-only; no production source is modified.

  • Compile fix (BrowserDesignModeScreenshotEvaluatorTests): adds self. to disambiguate a payload(from:) call shadowed by a local let payload binding introduced in Refine design mode annotations and context pill removal #8393.
  • FIFO drain overhaul (RemoteTmuxWindowReorderTests): introduces drainPendingSetupCommands, drainLeadingOther, isIncidentalFollowUp, and reorderPending helpers to handle the per-window paneRects refetch and border-status unsubscribe (.other) that Remote tmux mirrors: exact feed-forward sizing, verified pane geometry, faithful live pane headers, active-pane indicator, and drag-stable rendering #7315 appended to the control-command stream. Drain loops read strictly from the FIFO head and stop at the first correlated command, so positional replies never mis-correlate. reorderPending trims only trailing incidentals, preserving mid-queue anomalies as assertion failures.
  • Mirror targeting drain (RemoteTmuxMirrorTargetingTests): replaces a stale-snapshot iteration with a live head-drain loop and derives pane IDs from windowId * 10, so both mirror windows publish and the panelIds.count == 2 assertion passes.

Confidence Score: 5/5

Safe to merge — all changes are confined to the test target with no production source touched.

Every change is test-only: a one-line compiler disambiguation in BrowserDesignModeScreenshotEvaluatorTests, new private drain helpers in RemoteTmuxWindowReorderTests, and an updated drain loop in RemoteTmuxMirrorTargetingTests. The product binary is unaffected. Both review-thread concerns were addressed in this revision. Guard limits prevent infinite loops in case of product regressions.

Files Needing Attention: No files require special attention.

Important Files Changed

Filename Overview
cmuxTests/BrowserDesignModeScreenshotEvaluatorTests.swift One-line compile fix: adds self. qualifier to disambiguate payload(from:) call shadowed by a local let payload binding in the same scope.
cmuxTests/RemoteTmuxMirrorTargetingTests.swift Replaces a stale snapshot iteration with a live FIFO-head drain loop; derives per-window pane IDs correctly so both windows publish and panelIds.count == 2 passes.
cmuxTests/RemoteTmuxWindowReorderTests.swift Adds four test-only helpers that drain follow-up commands from the FIFO before each reorder scenario; reorderPending trims only trailing incidentals so mid-queue anomalies still fail assertions.

Reviews (8): Last reviewed commit: "tests: stop the reorder drains from swal..." | Re-trigger Greptile

Comment thread cmuxTests/RemoteTmuxWindowReorderTests.swift Outdated
Comment thread cmuxTests/RemoteTmuxWindowReorderTests.swift

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@cmuxTests/RemoteTmuxMirrorTargetingTests.swift`:
- Around line 209-225: The test drain loop must process command results in FIFO
order, matching the command consumed by pendingCommandKindsForTesting.first.
Update the loop around pendingCommandKindsForTesting and handleMessageForTesting
so it examines only the queue head, handles it only when it is a .paneRects
command, and stops or waits when an incidental command precedes it; preserve the
existing windowId-to-paneId and size mapping.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: fe6886f7-d31b-482a-b747-cbafc5f643ec

📥 Commits

Reviewing files that changed from the base of the PR and between 533e27d and 93ca25c.

📒 Files selected for processing (3)
  • cmuxTests/BrowserDesignModeScreenshotEvaluatorTests.swift
  • cmuxTests/RemoteTmuxMirrorTargetingTests.swift
  • cmuxTests/RemoteTmuxWindowReorderTests.swift

Comment thread cmuxTests/RemoteTmuxMirrorTargetingTests.swift
@ejc3

ejc3 commented Jul 19, 2026

Copy link
Copy Markdown
Contributor Author

@austinywang heads up — this PR fixes a cmuxTests breakage that traces to two of your recent merges.

Compile break (verified): #8393. It added let reducedPayload = try payload(from: reducedPrompt) in BrowserDesignModeScreenshotEvaluatorTests, which collides with the let payload local that shadows the payload(from:) helper above it. Because it's in the shared cmuxTests target, that one line red-lines the entire unit suite — every other suite stops compiling. Fix here is a one-line self.payload(from:) disambiguation.

Why nothing caught it: automatic CI has been paused since #8029 (the test workflows are workflow_dispatch-only), so neither the compile break nor the stale suites below were flagged on merge.

Test drift: this PR also re-syncs RemoteTmuxWindowReorderTests and RemoteTmuxMirrorTargetingTests to the current mirror command flow (per-window paneRects publication + the border-status unsubscribe on close). I haven't bisected the exact commit that tipped those red, but flagging it near your #8308 connection-sharing work in case it's related.

Net: with this PR the cmuxTests target compiles and the remote-tmux suites are green again. It's the base of the remote-tmux multiplexer stack (#8428), so landing it first unblocks that.

@coderabbitai coderabbitai 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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
cmuxTests/RemoteTmuxWindowReorderTests.swift (1)

56-67: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Break on non-incidental commands to avoid swallowing interleaved meaningful commands.

Both drainPendingSetupCommands and publishWindows blindly reply [] to any command that isn't .paneRects, which swallows unexpected meaningful commands (like .listWindows) instead of leaving them in the queue. They should explicitly stop on unexpected commands, just like drainLeadingOther does.

  • cmuxTests/RemoteTmuxWindowReorderTests.swift#L56-L67: Update the switch to handle .other explicitly and break on default.
  • cmuxTests/RemoteTmuxWindowReorderTests.swift#L124-L133: Replace this duplicate drain loop entirely with a call to drainLeadingOther(connection).
🛠 Proposed fixes

For drainPendingSetupCommands:

     private func drainPendingSetupCommands(_ connection: RemoteTmuxControlConnection) {
         var guardCount = 0
-        while guardCount < 16, let kind = connection.pendingCommandKindsForTesting.first {
+        loop: while guardCount < 16, let kind = connection.pendingCommandKindsForTesting.first {
             guardCount += 1
             switch kind {
             case .paneRects:
                 reply(connection, lines: ["%0 0 0 80 24 1 off :0 \"ejc3-mac\""])
+            case .other:
+                reply(connection, lines: [])
             default:
-                reply(connection, lines: [])
+                break loop
             }
         }
     }

For publishWindows:

     private func publishWindows(_ connection: RemoteTmuxControlConnection, order: [Int]) {
         reply(connection, lines: windowLines(order))
         // Drain every follow-up (per-window paneRects AND the trailing `.other`
         // push `#7315` added) so the FIFO is empty before the reorder scenario; a
         // leftover would mis-correlate later positional replies. See
         // ``drainPendingSetupCommands``.
-        var guardCount = 0
-        while guardCount < 16, let kind = connection.pendingCommandKindsForTesting.first {
-            guardCount += 1
-            if case let .paneRects(windowId, _) = kind {
-                reply(connection, lines: ["%\(windowId * 10) 0 0 80 24 1 off :zsh"])
-            } else {
-                reply(connection, lines: [])
-            }
-        }
+        drainLeadingOther(connection)
     }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@cmuxTests/RemoteTmuxWindowReorderTests.swift` around lines 56 - 67, Update
drainPendingSetupCommands in
cmuxTests/RemoteTmuxWindowReorderTests.swift#L56-L67 to handle .other explicitly
and stop on default instead of replying to unexpected commands; update
publishWindows at cmuxTests/RemoteTmuxWindowReorderTests.swift#L124-L133 by
replacing its duplicate drain loop with drainLeadingOther(connection),
preserving meaningful queued commands.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@cmuxTests/RemoteTmuxWindowReorderTests.swift`:
- Around line 56-67: Update drainPendingSetupCommands in
cmuxTests/RemoteTmuxWindowReorderTests.swift#L56-L67 to handle .other explicitly
and stop on default instead of replying to unexpected commands; update
publishWindows at cmuxTests/RemoteTmuxWindowReorderTests.swift#L124-L133 by
replacing its duplicate drain loop with drainLeadingOther(connection),
preserving meaningful queued commands.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 08c4547e-616f-4a28-98b3-f6b11e06dace

📥 Commits

Reviewing files that changed from the base of the PR and between 93ca25c and 2203bbb.

📒 Files selected for processing (2)
  • cmuxTests/RemoteTmuxMirrorTargetingTests.swift
  • cmuxTests/RemoteTmuxWindowReorderTests.swift

@ejc3 ejc3 changed the title Fix pre-existing cmuxTests failures broken by #7315 (compile + mirror/window reorder suites) cmuxTests: unbreak the build and re-sync the remote-tmux reorder/targeting suites Jul 19, 2026
@ejc3
ejc3 force-pushed the fix-cmuxtests-compile branch from 2203bbb to 0a58b6b Compare July 19, 2026 11:18

@coderabbitai coderabbitai 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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@cmuxTests/RemoteTmuxWindowReorderTests.swift`:
- Around line 58-66: Update both command-draining loops in
cmuxTests/RemoteTmuxWindowReorderTests.swift:58-66 and
cmuxTests/RemoteTmuxWindowReorderTests.swift:124-132 to use loop labels and stop
on unhandled command kinds instead of replying with empty lines. In the first
loop, let the default switch case break the labeled loop, optionally handling
.other explicitly; in the second, replace the conditional with a switch that
replies only for .paneRects and .other, breaking by default for all other
commands.
- Around line 82-96: Update drainLeadingOther(_:) to track a guard count and
stop after a finite maximum number of iterations, while preserving its existing
handling for .other and .paneRects and its break behavior for other command
kinds. Ensure the loop cannot continue indefinitely if processing re-enqueues
commands.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: bafb3021-929b-4aa6-a940-9c7d8621719d

📥 Commits

Reviewing files that changed from the base of the PR and between 2203bbb and 0a58b6b.

📒 Files selected for processing (3)
  • cmuxTests/BrowserDesignModeScreenshotEvaluatorTests.swift
  • cmuxTests/RemoteTmuxMirrorTargetingTests.swift
  • cmuxTests/RemoteTmuxWindowReorderTests.swift

Comment thread cmuxTests/RemoteTmuxWindowReorderTests.swift Outdated
Comment thread cmuxTests/RemoteTmuxWindowReorderTests.swift
@ejc3
ejc3 force-pushed the fix-cmuxtests-compile branch 2 times, most recently from 6dd3bd5 to 169954d Compare July 20, 2026 01:56
@cursor

cursor Bot commented Jul 20, 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.

ejc3 added 4 commits July 30, 2026 23:02
…anaflow-ai#7315)

manaflow-ai#7315 (exact feed-forward sizing / verified pane geometry) changed a mirror
window to publish only when its own paneRects reply lands, and those fetches are
enqueued incrementally — window @2's fetch appears after @1 resolves. The test
replied to a single snapshot of pending paneRects, so @2 never published, the
mirror built one tab instead of two, and the reorder + windowOrder assertions
failed (panelIds.count == 1, not 2).

The product is correct — the sibling mirror suites and the multiplex fuzzer build
multi-window mirrors green. This is a stale test setup: drain every paneRects
fetch (bounded loop) so both windows publish, then the two-tab reorder holds.

Red/green: on clean main the test fails with panelIds.count → 1 == 2; with the
drain it passes (1 test). Test-only change; no product code touched.
…ndowReorderTests

manaflow-ai#7315 (verified pane geometry) and the pane-border-status work changed the
control-command stream the reorder/close state machine emits: a window-list
publish now also enqueues a per-window paneRects refetch, and closing a window
issues a border-status unsubscribe (a plain send(), kind .other). The suite
drives the connection with positional commandNumber:0 replies, so an undrained
follow-up sits at the FIFO head and swallows the reply meant for the reorder/
close list-windows recovery — the batch never recovers, the connection never
reconnects, and retained panes never release. All 33 assertions across 9 tests
failed on clean main for this one reason.

Fix is test-only: publish helpers drain every follow-up (paneRects + .other), a
drainLeadingOther helper clears them ahead of each correlated reply, and the
exact-pending assertions compare with those incidental follow-ups filtered out.
The product is correct — the multiplex fuzzer and the sibling mirror suites build
multi-window mirrors and reorder/close them green.

Red/green: clean main fails the suite with 33 issues; with this it passes 14/14.
No product code changed. Broke in manaflow-ai#7315.
From the CodeRabbit/Greptile pass:

- drainLeadingOther replied to every paneRects with a hardcoded `%0`; a
  re-published @2/@3 needs its own pane id (the `windowId * 10` convention
  publishWindows stages), or its pending layout can't publish.
- reorderPending filtered incidentals globally, so a paneRects landing BETWEEN
  two list-windows (an ordering anomaly) would be elided and the equality
  assertion would still pass. Trim only TRAILING incidental follow-ups; an
  interleaved one now survives and fails the assertion.
- The mirror-targeting rects drain iterated a stale snapshot while each reply
  consumes the FIFO head, so an incidental preceding a fetch could mis-correlate
  pane data. Drain strictly from the head and stop at the first correlated command.
Both drain helpers replied to whatever sat at the FIFO head, so a `listWindows` or
`windowReorder` arriving early was consumed with an empty reply and its later
positional result mis-correlated — the failure the drains exist to prevent. Each now
answers only the incidental follow-ups (`paneRects`, `.other`) and stops at the first
correlated command. `drainLeadingOther` also gains the bounded guard the other drains
already had.
@ejc3
ejc3 force-pushed the fix-cmuxtests-compile branch from 2aed00f to 01f4372 Compare July 31, 2026 06:07
@austinywang
austinywang merged commit a77df5a into manaflow-ai:main Aug 4, 2026
6 checks passed
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