Repository navigation
refactor(ios): remove Chau7Core code that no iOS target reaches - #277
Merged
Merged
Conversation
Problem: Chau7Core still carried the shared core of the removed Swift macOS app. About 24,000 of its 34,000 source lines (204 files: Metal renderer policies, MCP, hang monitoring, skills, telemetry parsers, tab layout, session restore, subprocess helpers) were unreachable from the iOS app, its widget and its tests. That code still had to be compiled, linted and tested, and its 2383-test suite took about two minutes. Decision: Delete every source file that is not transitively reachable from Chau7RemoteApp, Chau7RemoteWidget or Chau7RemoteAppTests, and every test file that references a symbol only those files declared. Also drop the notification replay fixture, whose only test went with them, and the test target's resources entry. Rewrite the package README so it describes what remains. Rationale: Reachability was computed from top-level declarations and identifier references, then corrected with the compiler. DataLittleEndian, FrameParser and RemoteGridSnapshotCache were restored because live code calls their Data extensions. Shrinking the package makes core-only builds and CI runs much faster, and stops reviewers from maintaining logic nothing ships. Validation: swift test --package-path apps/chau7-ios/Chau7Core: 773 tests, 0 failures. swiftformat --lint and swiftlint --strict are clean. xcodebuild build-for-testing plus test-without-building of the Chau7RemoteApp scheme on the iPhone 17 Pro simulator: 125 tests, 0 failures, the same as the baseline on origin/main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
schiste
marked this pull request as ready for review
October 23, 2026 15:42
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.
Summary
Removes the parts of
Chau7Corethat no iOS target reaches. They are leftovers from the deleted Swift macOS app, which the package README already acknowledged. This PR only deletes code.Changes
resourcesentry.How reachability was decided: I started from every top-level declaration referenced by
Chau7RemoteApp,Chau7RemoteWidgetorChau7RemoteAppTests, took the transitive closure over identifiers, and then checked it with the compiler. The compiler caught three files that the analysis missed because they only addDataextensions:DataLittleEndian,FrameParserandRemoteGridSnapshotCache. They are kept.Risks
Package.swift.chau7-nextcan still find it in git history atc6773aa4.Test plan
swift test --package-path apps/chau7-ios/Chau7Core: 773 tests, 0 failures. Before: 2383 tests, about 2 minutes; most of the difference is the deleted suites.swiftformat --lintandswiftlint --strict: clean.xcodebuildbuild-for-testing plus test-without-building, Chau7RemoteApp scheme, iPhone 17 Pro simulator: 125 tests, 0 failures, the same as main.🤖 Generated with Claude Code