Doctor R4 remedy names both halves; scaffolder CI fans out - #143
Merged
Conversation
…i: the scaffolder job fans out The FOSTesting-in-a-non-test-target finding now says to link the testing product directly on each test target that uses it, and why the one-doorway rule does not apply there — removing the link alone breaks the test bundles. The serial scaffolder CI job (fast suite, walking skeletons, four generated-app UI-test runs; seventy minutes) becomes three jobs, the last a four-leg matrix over app shape × destination. Each leg builds the CLI and scaffolds its own app, so nothing waits on anything.
foscomputerservices
marked this pull request as draft
September 2, 2026 17:31
foscomputerservices
marked this pull request as ready for review
September 2, 2026 18:16
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
Doctor R4's testing-product remedy names both halves. Removing
FOSTestingfrom a non-test target is only half the fix; the finding now also says to link the testing product directly on each test target that uses it, and why the one-doorway rule does not apply there. Surfaced by the first customer doctor run, where "remove the link" alone would have broken the test bundles.The scaffolder CI job fans out. The serial seventy-minute job (fast suite 13m, walking skeletons 17m, generated UI tests iOS 32m + macOS 5m) becomes three jobs: fast suite, skeletons, and a four-leg matrix over app shape × destination. Each generated-app leg builds the CLI and scaffolds its own app, so nothing waits on anything; the wall clock is the longest leg. Cost: each leg pays its own Xcode setup, xcodegen install, and CLI build.
Verification
swift test --filter FOSMVVMBootstrapTests: 90 tests pass. swiftformat and swiftlint clean.include.