Make the mobile gate documentation say what is actually verified - #235
Merged
Merged
Conversation
Both comments pointed readers at tests/IOS_UNPORTABLE.txt, which has never existed — the pinned rejection set is tests/MOBILE_UNPORTABLE.txt, shared with Android because the two targets compile through one C ABI implementation and so have one set of holes. A comment that explains a gate and names a file that is not there sends the next reader looking for a manifest they cannot find. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The two open checklist items read as though iOS were unverified on hardware. The signed application had already installed, launched and passed its full smoke on an iPhone 16; what is outstanding is re-running that smoke now that Markdown rendering has landed. Record that no hosted runner can ever close the item, and what stands in for it on every PR: the macos-15 job runs the whole corpus through the ios-sim C ABI and both application smokes on an iPhone 16 Pro simulator, and links the device archive's C host. The runner is ARM64, so the simulator executes the phone's instruction set -- a device adds signing, provisioning and device-only OS behaviour, not different code generation. Co-Authored-By: Claude Opus 5 (1M context) <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.
TL;DR
Makes the mobile gate documentation say what is true: the iOS gate comments named a manifest file that has never existed, and two plan checklist items read as though iOS were unverified on hardware when the open work is a re-verification.
Details
scripts/ios.mkandscripts/test-ios.shboth describe how theios-simcorpus run pins its rejections, and both cite a manifest filename that is not in the tree. The real file istests/MOBILE_UNPORTABLE.txt, and it is deliberately shared with Android: the two targets compile through one C ABI implementation, so they have one set of holes and one reviewed manifest. The corrected comment now says that, rather than implying a per-platform file that would have to be kept in sync by hand.Separately, the open device items in plans 0029 and 0030 said only that the physical-iPhone smoke was blocked. Read alone they suggest iOS has never run on a phone. It has — the signed application installed, launched and passed its full smoke on an iPhone 16, recorded a few lines above in the same plan; what is outstanding is re-running that smoke now that Markdown rendering has landed. The items now say so, state that no hosted runner can ever close them, and name what stands in for them on every PR.
No behaviour changes — comments and plan prose only.
How Do The Automated Tests Prove It Works?
Nothing here is testable by assertion, so the claim is checked directly:
grep -rn IOS_UNPORTABLEover the tree now returns nothing, andls tests/*UNPORTABLE*returns exactlyMOBILE_UNPORTABLE.txtandWASM_UNPORTABLE.txt— the two manifests the harness actually reads, selected by theMANIFESTcase statement incrates/run_test_corpus.sh.The surrounding recipe is unchanged and still parses:
make -n _test_ios_goldensemitsOSPREY_TARGET=ios-sim zsh crates/run_test_corpus.sh, andbash -n scripts/test-ios.shis clean. The gate those comments describe is itself exercised on every PR by theCoverage thresholdsjob onmacos-15, which reportsTEST_CORPUS_GOLDEN_PASS=130 TEST_CORPUS_GOLDEN_FAIL=0 TEST_CORPUS_GOLDEN_MISSING=0andTEST_CORPUS_SKIPPED=79 TARGET=ios-simagainst that manifest.🤖 Generated with Claude Code