Skip to content

fix(cmux-next): PageScriptPipeline compiles again (no covariant Self in a default argument) - #24687

Closed
azooz2003-bit wants to merge 1 commit into
feat-cmux-nextfrom
fix-cmux-next-page-script-pipeline-self
Closed

azooz2003-bit wants to merge 1 commit into
feat-cmux-nextfrom
fix-cmux-next-page-script-pipeline-self

Conversation

@azooz2003-bit

@azooz2003-bit azooz2003-bit commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

The base feat-cmux-next does not compile since #24617 (4abd404): the build fleet's app compile fails at Packages/macOS/CmuxNext/Sources/CmuxNextPages/PageScriptPipeline.swift:90 with covariant 'Self' type cannot be referenced from a default argument expression. The default render closure of PageScriptPipeline.init called Self.render; it now names the type, PageScriptPipeline.render. The class is final, so it is the same static function and behavior does not change.

This red shows up as "its own red: cmux-next app compile" on every PR that merges the base, for example #24598.

Testing

  • cmux-ci compile-check --ref 7455b41377f3f8400681683a7a88f1dd0a28b205 --app (base tip): failed, the error above (job 4036cb717f3df749867d6175).
  • cmux-ci compile-check --ref 9eec1304257976e13577ef1e4280c4d17492ea71 --app (this head): passed (job 00dd50bc7b86c6881942d3e9).
  • scripts/cmux-next/prepush-gate.py: no new violations.

Observed / Not run

Observed: the two fleet compile-checks above. Not run: tests (a compile fix; PageScriptPipelineTests exercises the default at line 49 and runs in CI).

No capture: compile fix, no UI change.

Changelog

none

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes the feat-cmux-next app compile by replacing a covariant Self reference in the default render argument of PageScriptPipeline.init. Since the class is final, naming the type explicitly (PageScriptPipeline.render) is identical in behavior but no longer rejected by the toolchain. No test or behavior changes.

Written for commit 9eec130. Summary will update on new commits.

View guided diff Turn on auto-fix

…in a default argument)

#24617 made the init's default render closure call Self.render, which the
swift.org toolchain rejects: "covariant 'Self' type cannot be referenced from
a default argument expression" (PageScriptPipeline.swift:90). Name the type.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@azooz2003-bit azooz2003-bit added the risk:low Risk tier (docs/ci/risk-tiers.md) label Oct 24, 2026
@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 9eec130: 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=pr24687 -f ref=fix-cmux-next-page-script-pipeline-self -f platform=macos -f backend_mode=local

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

@azooz2003-bit

Copy link
Copy Markdown
Collaborator Author

Review (subagent, correctness first): SHIP at 9eec130

Checked: the class is @MainActor final class (PageScriptPipeline.swift:14-15), so Self == PageScriptPipeline; the only static render is @concurrent nonisolated static func render(_:) (line 184), the stored private let render is an instance member and can't shadow a type-qualified call; the closure stays @sendable and non-isolated; init and render are internal, so the default is evaluated only in CmuxNextPages and @testable tests (PageScriptPipelineTests.swift:49). No other Self. default argument was added by 4abd404. Diff is 1+/1-. Fleet compile-check passes at this head.

@azooz2003-bit azooz2003-bit added the ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds label Oct 24, 2026
@github-actions github-actions Bot added risk:normal Risk tier (docs/ci/risk-tiers.md) and removed risk:low Risk tier (docs/ci/risk-tiers.md) labels Oct 24, 2026
@blacksmith-sh

blacksmith-sh Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Found 14 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmpbyu0mx01/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmptt2psb1p/summary-fail.json (live):/summary-fail.json (live): View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
convention violations found (ERROR lines above)./
convention violations found (ERROR lines above).
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='repair')/
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='repair')
View Logs
test_base_passes (main.NoticesPairTests.test_base_passes)/
test_base_passes (main.NoticesPairTests.test_base_passes)
View Logs
test_every_routed_input_triggers_the_workflow (main.PullRequestTiers.test_every_rou
ted_input_triggers_the_workflow) (path='.git/config')
View Logs

...and 4 more test failures. View all on Blacksmith: run 40045593339, run 40045593449

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@teamleaderleo

Copy link
Copy Markdown
Collaborator

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

@azooz2003-bit

Copy link
Copy Markdown
Collaborator Author

Superseded by #24690, which landed the same fix on feat-cmux-next at 00:41Z.

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 9eec1304 Deployed Oct 24, 2026 by azooz2003-bit via namespace autofix #2210
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants