Skip to content

test: keep remote OpenCode fork fixture paths consistent - #15062

Merged
teamleaderleo merged 1 commit into
mainfrom
fix/opencode-remote-fork-fixture
Sep 27, 2026
Merged

teamleaderleo merged 1 commit into
mainfrom
fix/opencode-remote-fork-fixture

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 27, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes a deterministic fixture bug in SessionPersistenceTests. The remote OpenCode test generated different UUID-based working directories for the snapshot and launch command, so forkStartupInput rejected the fixture before the remote-context probe path ran. Reusing one path makes the test exercise the intended behavior.

Validation: git diff --check.


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 a deterministic fixture bug in SessionPersistenceTests where the remote OpenCode test used a different UUID-based working directory for the snapshot than for the launch command, so forkStartupInput rejected the fixture before the remote-context probe ran. Reusing the same path makes the test exercise the intended behavior.

Written for commit 5a0a586. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Tests
    • Updated a test to use a consistent remote working directory for both its session snapshot and launch command.

@cursor

cursor Bot commented Sep 27, 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.

@github-actions

Copy link
Copy Markdown
Contributor

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

@coderabbitai

coderabbitai Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

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: 2e929759-c9e1-4074-bec8-4d58776bd957

📥 Commits

Reviewing files that changed from the base of the PR and between 7f978ad and 5a0a586.

📒 Files selected for processing (1)
  • cmuxTests/SessionPersistenceTests.swift

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


📝 Walkthrough

Walkthrough

The test now reuses one generated remote working-directory value for both the snapshot and its launch command.

Changes

Remote context test

Layer / File(s) Summary
Align remote working-directory test inputs
cmuxTests/SessionPersistenceTests.swift
The test uses the same generated remote working-directory value in the snapshot and launch command.

Priority: ⬇️ Low

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

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 5a0a5

This test-only change aligns the snapshot and launch-command paths so the remote-context probe can run; no production behavior changes, and no merge-blocking risk is evident.

🚥 Pre-merge checks | ✅ 23 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the fixture bug and reports git diff --check, but it omits the required Summary, Testing, Changelog, and Checklist sections. It also does not state whether the affected test… Use the repository template. Add the required section headings, identify the tests added and executed with their command and result, add none under Changelog because this is test-only, state that no demo is needed for this internal test c…
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (23 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the primary change: keeping remote OpenCode fixture paths consistent.
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 pull request changes only a test fixture in cmuxTests/SessionPersistenceTests.swift. It stores one remote working-directory value and reuses it in the snapshot and launch command. The diff…
Cmux Swift Actor Isolation ✅ Passed PASS. The diff changes only cmuxTests/SessionPersistenceTests.swift, inside an async XCTest method. It reuses one local workingDirectory value for two fixture fields. It does not change a producti…
Cmux Swift Blocking Runtime ✅ Passed The diff only changes cmuxTests/SessionPersistenceTests.swift. It stores one UUID-based path and reuses it in the test snapshot. It introduces no blocking or timing primitive. The existing `Dispatch…
Cmux Browser Automation Off-Main ✅ Passed PASS. The custom rule applies to browser socket automation in Sources/TerminalController.swift and ControlCommandExecutionPolicy.swift. The PR changes only `cmuxTests/SessionPersistenceTests.swift…
Cmux Expensive Synchronous Load ✅ Passed PASS: The pull request changes only cmuxTests/SessionPersistenceTests.swift. It reuses one UUID-based workingDirectory value in a test snapshot and its launch command. It adds no production Swift …
Cmux Cache Substitution Correctness ✅ Passed PASS. The pull request changes only cmuxTests/SessionPersistenceTests.swift, not production Swift, TypeScript, or JavaScript. The diff reuses one UUID-based workingDirectory string in a test snaps…
Cmux No Hacky Sleeps ✅ Passed PASS. The pull request changes only cmuxTests/SessionPersistenceTests.swift, a Swift test fixture. It reuses one UUID-based working-directory string and adds no sleep, timer, delay, polling, or wait…
Cmux Algorithmic Complexity ✅ Passed The diff changes only cmuxTests/SessionPersistenceTests.swift, a test fixture. It replaces two UUID expressions with one shared workingDirectory value. It adds no production algorithm, collection …
Cmux Swift Concurrency ✅ Passed PASS. The diff changes only a XCTest fixture: it stores one UUID-based working directory and reuses it in two snapshot fields. It adds no DispatchQueue, Combine, completion-handler API, or fire-and-fo…
Cmux Swift @Concurrent ✅ Passed PASS. The PR changes only SessionPersistenceTests.swift and reuses one UUID-based workingDirectory value in the test fixture. It adds no @concurrent, nonisolated async, actor isolation, async …
Cmux Swift Package Boundaries ✅ Passed PASS: The pull request changes only cmuxTests/SessionPersistenceTests.swift. It reuses one fixture path for the snapshot and launch command. This is test-fixture code, which the boundary rules expli…
Cmux Swiftpm Lockfiles ✅ Passed The pull request changes only cmuxTests/SessionPersistenceTests.swift. It does not change a SwiftPM package, Package.swift, Package.resolved, Xcode package references, .gitignore, workflows, o…
Cmux Swift Logging ✅ Passed The pull request changes only cmuxTests/SessionPersistenceTests.swift. The diff adds one test-local workingDirectory value and reuses it in the fixture. It adds no print, debugPrint, dump, `…
Cmux User-Facing Error Privacy ✅ Passed PASS. The authoritative diff changes only cmuxTests/SessionPersistenceTests.swift, and the three changed lines reuse one UUID-based workingDirectory value in a test snapshot and its launch command…
Cmux Full Internationalization ✅ Passed The pull request changes only cmuxTests/SessionPersistenceTests.swift. It reuses a UUID-based fixture path in a test snapshot and launch command. The rule explicitly allows tests and fixtures, and t…
Cmux Swiftui State Layout ✅ Passed PASS. The pull request changes only cmuxTests/SessionPersistenceTests.swift. It adds one local workingDirectory constant and reuses it in the test snapshot. The diff introduces no SwiftUI view, ob…
Cmux Architecture Rethink ✅ Passed PASS. The PR changes one XCTest fixture only. It stores one workingDirectory value and uses it for both SessionRestorableAgentSnapshot.workingDirectory and launchCommand.workingDirectory. This i…
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed The PR changes only a test fixture in cmuxTests/SessionPersistenceTests.swift. It reuses one UUID-based working-directory string for two snapshot fields. It adds or materially changes no NSWindow,…
Cmux Source Artifacts ✅ Passed The PR changes only cmuxTests/SessionPersistenceTests.swift. The diff adds a local test variable and reuses it in the test fixture. This is intentional hand-written test source, not a local/generate…
Cmux No Test Or Debug Seam In Production Source ✅ Passed PASS. The authoritative PR diff changes only cmuxTests/SessionPersistenceTests.swift. It adds one shared test fixture variable and reuses it for two snapshot paths. No Swift file under a production …
Full details: Description check

Explanation

The description explains the fixture bug and reports git diff --check, but it omits the required Summary, Testing, Changelog, and Checklist sections. It also does not state whether the affected test ran.

Resolution

Use the repository template. Add the required section headings, identify the tests added and executed with their command and result, add none under Changelog because this is test-only, state that no demo is needed for this internal test change, and complete or explain the applicable checklist items.

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 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 27, 2026 22:30
@teamleaderleo
teamleaderleo merged commit 51aad0b into main Sep 27, 2026
53 of 54 checks passed
@teamleaderleo
teamleaderleo deleted the fix/opencode-remote-fork-fixture branch September 27, 2026 22:38
@github-actions

Copy link
Copy Markdown
Contributor

Merge receipt for 5a0a586f40: every check was green at merge (16 verified; 15 skipped by policy). Full suite runs on main after merge.

rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 27, 2026
0485e93 ci: count an unwritable Homebrew prefix as a machine failure (manaflow-ai#15070)
8ce15d4 Show Cloud machine-list recovery instead of a stale 'unreachable' on return (manaflow-ai#14777)
51aad0b test: keep remote OpenCode fixture paths consistent (manaflow-ai#15062)
83270f1 test: bound remaining yield-count polls by deadlines (manaflow-ai#14488)
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