Repository navigation
Record the emulated Mac's emulator choice, with an offline Unicorn/icicle diff - #275
Merged
Merged
Conversation
…icle diff #274 runs Apple's macOS CoreADI under Unicorn, which is GPL-2.0. The decision is to ship it, with a licence notice and the library in its own process, and to swap it only if somebody has a reason to. A swap is invisible to users only if the replacement produces the same bytes, so scripts/adi-emulator-diff/ puts icicle (MIT OR Apache-2.0) under os-findmy-e's adi-core and diffs it against Unicorn. Every offline call matched byte for byte; the OTP path, which needs a provisioned machine, has not been compared. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Records why #274's emulated Mac ships Unicorn (GPL-2.0) and how to replace it later without users noticing.
docs/emulated-mac-emulator-choice.md: the decision, the GPL obligations (licence notice,libmacadi.soin its own process), the permissive emulators surveyed, and the icicle experiment's results and gaps.scripts/adi-emulator-diff/: puts icicle (MIT OR Apache-2.0) under sacca97/os-findmy-e'sadi-coreand diffs it against Unicorn on the iTunes 12.8.3 CoreADI. Clones its dependencies at pinned commits; sends nothing to Apple.Result: every offline call (
Initialize, the unprovisionedIsMachineProvisioned/RequestOTP/GetIDMSRouting, andProvisioningStartwith synthetic spims) is byte-identical under both. icicle is about 30x slower on a Mac. The OTP path needs a provisioned machine and has not been compared.Verified:
run.shfrom a clean work directory on macOS arm64, both icicle runs (interpreter and JIT) identical to Unicorn. Nothing here is built or run by CI.🤖 Generated with Claude Code