Skip to content

Remove Swift file length budget - #8125

Merged
azooz2003-bit merged 1 commit into
mainfrom
task-remove-swift-file-length-ci
Jul 15, 2026
Merged

azooz2003-bit merged 1 commit into
mainfrom
task-remove-swift-file-length-ci

Conversation

@azooz2003-bit

@azooz2003-bit azooz2003-bit commented Jul 15, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • remove the Swift file-length budget, checker, and checker tests
  • remove the workflow gate and numeric file-size review rules
  • retain Swift package-boundary architecture review

Testing

  • parsed .github/workflows/ci.yml and .coderabbit.yaml with Ruby YAML
  • validated Greptile JSON with jq
  • python3 tests/test_ci_change_areas.py
  • confirmed no file-length budget references remain

Issues


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.


Summary by cubic

Removed the Swift file-length budget and its CI gate, and shifted reviews to focus on SwiftPM package boundaries instead. This simplifies CI and keeps architectural review intact.

  • Refactors
    • Deleted .github/swift-file-length-budget.tsv, scripts/swift_file_length_budget.py, and tests/test_ci_swift_file_length_budget.sh; removed related steps from ci.yml.
    • Replaced swift-file-package-boundaries.md with swift-package-boundaries.md; updated references and rule IDs in .coderabbit.yaml, .github/review-bot-rules/README.md, .greptile/config.json, .greptile/files.json, and .greptile/rules.md.
    • Updated two Swift test/comment notes to drop file-length budget mentions.

Written for commit 58eb6f8. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Chores

    • Updated Swift package-boundary review guidance to focus on independently testable and reusable app logic.
    • Removed automated Swift file-length budget checks and related tooling.
  • Documentation

    • Replaced the previous Swift file/package boundary guidance with package-focused documentation.
    • Updated review-bot configuration and rule indexes to reference the revised guidance.
  • Tests

    • Removed tests associated with the retired Swift file-length budget checks.
    • Clarified comments describing ownership and account/team boundaries.

@vercel

vercel Bot commented Jul 15, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cmux Error Error Jul 15, 2026 8:44am
cmux-staging Building Building Preview, Comment Jul 15, 2026 8:44am

@coderabbitai

coderabbitai Bot commented Jul 15, 2026 •

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

Warning

Ignoring CodeRabbit configuration file changes. For security, only the configuration from the base branch is applied for open source repositories.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: f0cca3d5-3000-4d6f-901c-314d9e66cad9

📥 Commits

Reviewing files that changed from the base of the PR and between 671aff6 and 58eb6f8.

⛔ Files ignored due to path filters (1)
  • .github/swift-file-length-budget.tsv is excluded by !**/*.tsv
📒 Files selected for processing (12)
  • .coderabbit.yaml
  • .github/review-bot-rules/README.md
  • .github/review-bot-rules/swift-file-package-boundaries.md
  • .github/review-bot-rules/swift-package-boundaries.md
  • .github/workflows/ci.yml
  • .greptile/config.json
  • .greptile/files.json
  • .greptile/rules.md
  • Packages/iOS/CmuxMobileShell/Tests/CmuxMobileShellTests/MobileShellCompositeColorSlotResetTests.swift
  • Sources/NotificationSoundSettings.swift
  • scripts/swift_file_length_budget.py
  • tests/test_ci_swift_file_length_budget.sh

📝 Walkthrough

Walkthrough

The PR replaces Swift file/package boundary guidance with SwiftPM package-boundary guidance, removes Swift file-length budget CI tooling and tests, and updates related comments and rule indexes.

Changes

Swift package-boundary policy

Layer / File(s) Summary
Replace Swift boundary review rules
.coderabbit.yaml, .github/review-bot-rules/*, .greptile/*
Review-bot configurations and documentation now target independently testable or reusable logic that should be extracted into SwiftPM packages.
Remove Swift file-length CI guards
.github/workflows/ci.yml, scripts/swift_file_length_budget.py, tests/test_ci_swift_file_length_budget.sh
The workflow no longer runs Swift file-length budget checks, and the associated utility and test script are deleted.
Align Swift ownership comments
Packages/iOS/.../MobileShellCompositeColorSlotResetTests.swift, Sources/NotificationSoundSettings.swift
Comments are updated to describe account/team boundaries and separate settings-resolution from notification-delivery ownership.

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

Possibly related PRs

  • manaflow-ai/cmux#7547: Directly overlaps the removed Swift file-length budget tooling and CI gate.
  • manaflow-ai/cmux#7587: Directly modifies the same Swift file-length budget script, tests, and workflow integration.

Suggested reviewers: lawrencecchen

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch task-remove-swift-file-length-ci

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.

@azooz2003-bit
azooz2003-bit merged commit 85ded20 into main Jul 15, 2026
8 of 12 checks passed
@greptile-apps

greptile-apps Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR removes the Swift file-length budget system entirely — the checked-in TSV table, the Python checker script, its bash integration-test harness, and the two CI workflow steps that invoked them — while narrowing the combined swift-file-package-boundaries.md review rule into a package-boundary-only rule (swift-package-boundaries.md). All downstream consumers (.coderabbit.yaml, .greptile/config.json, .greptile/files.json, .greptile/rules.md, and the README index) are updated consistently in the same PR.

  • The Swift file-length gate (TSV budget, Python checker, CI steps, and test harness) is fully removed; no dangling references remain.
  • The combined review rule is replaced by swift-package-boundaries.md, which retains architecture enforcement but drops numeric file-size criteria.
  • Two Swift files receive comment-only updates that replace "kept within the file length budget" with ownership-based rationales; no logic changes.

Confidence Score: 5/5

Safe to merge — all deletions are self-consistent, no references to the removed files remain, and the only Swift changes are comment updates in a test file and a production comment block.

Every removed artifact (TSV budget, Python script, bash test harness, CI steps, rule file, README entry, Greptile config entry) is cleaned up in lockstep. No production logic is touched; the two Swift file edits are comment-only. The new swift-package-boundaries.md rule fully covers the retained enforcement scope.

No files require special attention. All cross-references between the deleted files and their consumers are consistently updated.

Important Files Changed

Filename Overview
.github/workflows/ci.yml Removes two CI steps: the test_ci_swift_file_length_budget.sh guard test and the diff-aware Python budget check; no remaining steps reference the deleted script or TSV.
.github/review-bot-rules/swift-file-package-boundaries.md Deleted combined rule file that covered both file-length thresholds and package boundaries; replaced by the narrower swift-package-boundaries.md.
.github/review-bot-rules/swift-package-boundaries.md New rule file retaining only the package-boundary criteria (no file-length thresholds or budget references); cleanly scoped.
scripts/swift_file_length_budget.py Deleted 564-line Python budget checker; all CI references to this script are also removed in the same PR.
tests/test_ci_swift_file_length_budget.sh Deleted 492-line bash integration-test harness for the budget script; CI step invoking it is also removed.
.coderabbit.yaml Renames the CodeRabbit review gate from swift-file-package-boundaries.md to swift-package-boundaries.md and updates its instructions to remove file-size criteria; all path references consistent.
Sources/NotificationSoundSettings.swift Comment-only change: replaces 'Extracted to keep TerminalNotificationStore.swift within the Swift file length budget' with a positive ownership rationale; no logic change.
Packages/iOS/CmuxMobileShell/Tests/CmuxMobileShellTests/MobileShellCompositeColorSlotResetTests.swift Doc-comment update removes the 'kept under the Swift file length budget' rationale; test logic is unchanged.

Reviews (1): Last reviewed commit: "Remove Swift file length budget" | Re-trigger Greptile

This branch had an error being deployed

1 failed deployment
Preview – cmux — 58eb6f8e Deployed Jul 15, 2026 by vercel[bot]
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