Fixtures/MixedLanguageSDWebImage, owned by this repository. One native iOS application target compiles both .swift and .m files, and both consume SDWebImage.Evidence required before mutation
| Evidence | Required result |
|---|---|
| CocoaPods baseline | The pinned fixture resolves and builds for the iOS Simulator. |
| Source profile | Complete, with both Swift and Objective-C. |
| Registry contract | SDWebImage explicitly supports both consumer languages. |
| Reviewed plan | The complete AUTO set is exactly SDWebImage. |
The controlled workflow
Baseline established
CocoaPods resolution and the mixed-language simulator build passed before PkgLift ran.
Dry run proven clean
The migration preview left the disposable fixture unchanged.
Complete AUTO set checked
The harness required the entire automatic set to equal exactly SDWebImage before mutation.
Apply isolated
Mutation ran only against a disposable copy of the repo-owned fixture. Upstream pilot projects remained read-only.
Resolution and build verified
The migrated project resolved SwiftPM and built successfully for the iOS Simulator.
Content hashes checked
Every protected source and resource hash matched the pre-migration baseline.
Why the fixture is deliberately mixed
CocoaPods projects are not necessarily Objective-C-only, and a package being written in Swift does not prove Objective-C consumer compatibility. This fixture exercises the language-evidence rule introduced in v0.2.1 and retained in v0.4.0: every language present in a complete target profile must appear in the exact registry mapping before AUTO is possible.
Final safety result
- Only the reviewed SDWebImage migration was applied.
- Swift and Objective-C consumers remained linked to the verified product.
- SwiftPM package resolution and the final simulator build passed.
- No application source or resource content changed.
- Ten pinned upstream pilots remained read-only; none was used as an apply target.