Skip to content

cmux-next: the app test target compiles again (RemoteChildSessionsTests fake gets isReadOnly) - #23363

Closed
teamleaderleo wants to merge 1 commit into
feat-cmux-nextfrom
cmux/fix-remote-child-fake-readonly
Closed

teamleaderleo wants to merge 1 commit into
feat-cmux-nextfrom
cmux/fix-remote-child-fake-readonly

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

The CmuxNext test target on feat-cmux-next does not compile, so every Swift package test lane is red. #23163 added a fake AgentSessionRemoteClient in RemoteChildSessionsTests without isReadOnly, which #21258 made a protocol requirement:

RemoteChildSessionsTests.swift:14:37: error: type 'RemoteChildSessionsTests.FakeClient' does not conform to protocol 'AgentSessionRemoteClient'
note: protocol requires property 'isReadOnly' with type 'Bool'

The fake now says it can prompt (isReadOnly = false), as the chat it stands in for does.

Changelog

none

Observed / Not run

  • Observed: the error above at base c2b90f6 (fleet step d1279ae1c1ebac4f0c8ec01d, suite SidebarIncrementalMatchesRebuildTests, which never got past the compile).
  • Observed: RemoteChildSessionsTests passes on this head (2548f63, fleet step 2b032a233468, 4 tests).

🤖 Generated with Claude Code

Agent session: cosmic-gray

… the test target compiles

#23163 added a fake AgentSessionRemoteClient without isReadOnly, which #21258 made a requirement.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba7-3152-78b2-bfdf-bb6eb0d5a053&host=cosmic-gray
@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by claude-sr2/sidebar-drag-bugs on cosmic-gray · session

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 2548f63: 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=pr23363 -f ref=cmux/fix-remote-child-fake-readonly -f platform=macos -f backend_mode=local

Not verified: macOS jobs did not run: compile and app tests were skipped on 2548f63d7e; ci-status is green without them.

CI passes on 2548f63d7e (run 39595151376 attempt 1).
macOS jobs did not run: compile and app tests were skipped: Fast static checks skipped (the macos job needs both to succeed). Re-run CI once they pass, before merging.

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.

red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on f90fbd9 to compare; do not merge until green; see lane-rules

@blacksmith-sh

blacksmith-sh Bot commented Oct 21, 2026

Copy link
Copy Markdown

Found 5 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp6ad67jkq/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmpsivodtx4/summary-missing.json (live):/summary-missing.json (live): View Logs
test_a_pull_request_that_changes_the_shortcut_inputs_still_rewrites_them (main.Sett
ingsOnlyArtifactLeavesTheActionFollowers.test_a_pull_request_that_changes_the_shortcut_
inputs_still_rewrites_them) (job='autofix')/
test_a_pull_request_that_changes_the_shortcut_inputs_still_rewrites_them (main.Sett
ingsOnlyArtifactLeavesTheActionFollowers.test_a_pull_request_that_changes_the_shortcut_
inputs_still_rewrites_them) (job='autofix')
View Logs
test_regenerated_action_exports_bring_the_followers (main.SettingsOnlyArtifactLeave
sTheActionFollowers.test_regenerated_action_exports_bring_the_followers) (job='autofix'
)/
test_regenerated_action_exports_bring_the_followers (main.SettingsOnlyArtifactLeave
sTheActionFollowers.test_regenerated_action_exports_bring_the_followers) (job='autofix'
)
View Logs
test_settings_exports_alone (main.SettingsOnlyArtifactLeavesTheActionFollowers.test
_settings_exports_alone) (job='autofix')/
test_settings_exports_alone (main.SettingsOnlyArtifactLeavesTheActionFollowers.test
_settings_exports_alone) (job='autofix')
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

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Heads-up: three PRs are open for this same one-line base fix — #23362 (opened 11:51:53Z), #23363 (11:52:02Z) and #23369 (11:58:52Z). #23362 is the earliest, so landing that one and closing the other two keeps them from racing on the same line.

For the record of how it broke: #21258 added isReadOnly to AgentSessionRemoteClient at 03:45, and #23163 added RemoteChildSessionsTests against the older protocol at 04:24. Each was green against the base it was written on; nothing re-checks the pair afterwards, so the combination broke swift build --build-tests and with it every suite lane. That is the third such collision today (#23281 and #23286 were the others).

Not touching this branch — just cross-linking.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

PASS (review on head 2548f63, correctness first; priority-view lane, session 6807b41c).

  • AgentSessionRemoteClient (CmuxNextAgentPane/AgentSessionRemoteClient.swift:9) requires var isReadOnly: Bool { get } with no default in an extension, so the fake as it was does not compile. The fix makes it conform.
  • false is the right value. This test drives a full wire (attach, _acpmux/watch, children), and false keeps the full-access behaviour every wire had before cmux-next: wire explicit read-only remote agent observation #21258. The other fake, RemoteAcpmuxObserverTests, sets true on purpose for its observe case, and the real AgentTabRemoteClient uses mode == .observe.
  • There are no other conformers on feat-cmux-next. I searched for : AgentSessionRemoteClient and found three: the real client and the two fakes.
  • The change is test-only and risk:low. I did not run it myself; I relied on the fleet RemoteChildSessionsTests green you reported.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Duplicate of #23362, same fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant