Skip to content

Make the mobile gate documentation say what is actually verified - #235

Merged
MelbourneDeveloper merged 2 commits into
mainfrom
fix-unportable-manifest-name
Sep 9, 2026
Merged

MelbourneDeveloper merged 2 commits into
mainfrom
fix-unportable-manifest-name

Conversation

@MelbourneDeveloper

@MelbourneDeveloper MelbourneDeveloper commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

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.mk and scripts/test-ios.sh both describe how the ios-sim corpus run pins its rejections, and both cite a manifest filename that is not in the tree. The real file is tests/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_UNPORTABLE over the tree now returns nothing, and ls tests/*UNPORTABLE* returns exactly MOBILE_UNPORTABLE.txt and WASM_UNPORTABLE.txt — the two manifests the harness actually reads, selected by the MANIFEST case statement in crates/run_test_corpus.sh.

The surrounding recipe is unchanged and still parses: make -n _test_ios_goldens emits OSPREY_TARGET=ios-sim zsh crates/run_test_corpus.sh, and bash -n scripts/test-ios.sh is clean. The gate those comments describe is itself exercised on every PR by the Coverage thresholds job on macos-15, which reports TEST_CORPUS_GOLDEN_PASS=130 TEST_CORPUS_GOLDEN_FAIL=0 TEST_CORPUS_GOLDEN_MISSING=0 and TEST_CORPUS_SKIPPED=79 TARGET=ios-sim against that manifest.

🤖 Generated with Claude Code

MelbourneDeveloper and others added 2 commits September 9, 2026 11:45
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>
@MelbourneDeveloper MelbourneDeveloper changed the title Name the real mobile rejection manifest in the iOS gate comments Make the mobile gate documentation say what is actually verified Sep 9, 2026
@MelbourneDeveloper
MelbourneDeveloper merged commit d74bbd2 into main Sep 9, 2026
14 checks passed
@MelbourneDeveloper
MelbourneDeveloper deleted the fix-unportable-manifest-name branch September 9, 2026 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant