Repo-owned end-to-end evidence

A mixed-language migration that still builds

The fixture proves that automatic migration depends on the languages consuming a package—not an assumption that every CocoaPods project is Swift-only.

Project: 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

EvidenceRequired result
CocoaPods baselineThe pinned fixture resolves and builds for the iOS Simulator.
Source profileComplete, with both Swift and Objective-C.
Registry contractSDWebImage explicitly supports both consumer languages.
Reviewed planThe 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

Inspect the fixture Read the pilot specification