Repository navigation
cmux-next checks: the two namespace enums the convention lint rejects become instantiable structs - #24330
Merged
Conversation
…ecome instantiable structs `cmux-next checks` is red on every feat-cmux-next PR. Its namespace-type rule rejects `AgentTurnRing` (AttentionHighlightLook.swift) and `AgentPaneNeedsYouSetting`, both all-static public enums, and a lint red also skips the checks that run after it in the same job (#22197), so it costs more than the two lines it names. `scripts/lint-ios-package-conventions.sh --namespace-fix`, the repo's own fixer, makes each an instantiable struct with a public init. Every reference is a static member (`AgentTurnRing.tunable`, `AgentPaneNeedsYouSetting.enabledPath` and `.fallback`); nothing extends or conforms either type, and neither is used as a metatype, generic argument or switch subject, so no call site changes and no behavior does. Base red, not this lane's: the same five checks fail with a byte-identical failure set on a markdown-only PR (#24269) and a Swift PR (#24262), and both violations are present at base tip 50a7cb4. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cb8-bbf0-7010-8d04-f9f2c0cb55df&host=big-red
teamleaderleo
temporarily deployed
to
ci-routing-agent
October 22, 2026 08:31 — with
GitHub Actions
Inactive
Contributor
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 958f2e9 to compare; do not merge until green; see lane-rules |
Collaborator
Author
|
Owned by chat-open-perf on big-red · session |
|
Found 10 test failures on Blacksmith runners: Failures
|
Collaborator
Author
|
Bead |
Contributor
|
Shipped in:
|
Contributor
|
Shipped in:
|
This branch was previously deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
cmux-next checks (god files, concurrency, crash safety, l10n)is red on every open feat-cmux-next PR. The namespace-type rule rejects two all-static public enums, and a lint red also skips the checks that run after it in the same job (#22197), so the cost is larger than the two lines it names.The fix
scripts/lint-ios-package-conventions.sh --namespace-fix, the repo's own fixer (the one CLAUDE.md names, with CI's non-mutating lint as the backstop), makes each an instantiable struct with a public init. No call site changes: every reference is a static member (AgentTurnRing.tunable,AgentPaneNeedsYouSetting.enabledPath,.fallback), nothing extends or conforms either type, and neither is used as a metatype, generic argument or switch subject. No behavior changes.Why this is a base red, not one lane's
Two PRs of this lane were the control: #24269 changes one markdown paragraph and #24262 changes Swift, and both produce a byte-identical failure set across the same five checks (normalizing timestamps and tmp paths). A markdown-only change cannot add a convention violation, and both violations are present at base tip
50a7cb4dc7dc4b89e5097a2e3faafca46982eae9.The other four reds in that set are not this change's and are left alone: the
debug.tab_switch/new_workspaceharness failures (the window draws no frames ... an occluded or unlit console), the two livesummary-*.jsonfailures, andtest_every_submodule_free_checkout_on_an_owned_runner_resets_submodules.Observed / Not run
Observed:
./scripts/lint-ios-package-conventions.sh --namespace-fixwent from the two ERROR lines above toOK: no unjustified convention violations.python3 scripts/cmux-next/prepush-gate.py→no new violations. Both failing job logs downloaded and diffed to establish the control above.Not run: no local Swift build or test (agents do not compile on a person's machine); this PR's own
cmux-next app compile (build fleet)andcmux-next checksare the compile and lint evidence. The fleet queue was ~473 deep at the time of writing, so a separate dispatched compile-check would only have queued behind this PR's own.Changelog
none
🤖 Generated with Claude Code
Agent session: big-red
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes
cmux-next checksbeing red on every feat-cmux-next PR by converting the two all-static public enums thenamespace-typelint rejects into instantiable structs with public inits.Both violations exist at base tip, and a markdown-only PR produces the same failure set, so this is a base red rather than a lane issue. The fix uses the repo's own
scripts/lint-ios-package-conventions.sh --namespace-fix. A lint error also skips the checks that run after it in the same job, so it costs more than the two lines it names. Every reference is a static member, so no call sites or behavior change.Written for commit 67c7030. Summary will update on new commits.