Repeating the old Pantry workspace install could follow a Windows directory link and delete Craft’s tracked core sources before compilation. Pin all managed-tool workflows to the verified public Pantry 0.11.106 CLI and matching action source, and retain an actual workspace-relink checksum regression before the cold Windows build. Remove the completed source/cache diagnostics. Correct the native compiler pin to the exact public commit for the intended compiler revision, preserving the upstream compiler improvements.
Android incremental reconciliation also left nested popups in their declaration parent, and overlay ordering could put a parent scrim above its popup. Restore promotion after targeted updates, order modal ancestors before descendants, and retain each modal’s authored viewport style across reparenting. Native instrumentation now sends real touches through the viewport and checks the popup’s authored frame, dismissal, and retained parent modal.
Cold Android provisioning now requires a complete event-history read and an input-focused HOME window before handing the owned device to callers. This covers the observed partially readable log stream and early launcher handoff within the existing startup budget. UIKit tests mount and lay out their switch controller before hit testing, and await the actual asynchronous script acknowledgement while preserving full native text and keyboard checks.
Keep Glenn’s controlled-video, load-lifecycle and keyed-list protocol improvements. The maintained compiler pin includes STX PR2099, which restores authored popup boolean protocol names after HTML lowercasing; the real native fixture previously lost its non-modal presentation and outside-tap dismissal flags. Android’s test driver also performs native carousel scrolling on the UI thread, compares popup geometry in physical pixels, and waits for a retained popup’s visible authored frame before dispatching outside touches. All existing dismissal, parent retention, geometry and accessibility assertions remain in place. Checked-state precedence fixtures now select the documented primitive event API and toggle twice through actual native change handlers; both hosts await script acknowledgement and assert native state after reconciliation.
The iOS UI driver now traverses public XCTest snapshots once per gesture instead of making a remote frame query for every control. It retains the same safe origins, bounded drags, hittability checks, selected cases, and 45-minute backstop. The existing keyboard-edit case compares the snapshot against live control, keyboard and scroll-view queries. The previous complete core run passed 21 cases before timing out; it is not accepted as a passing run. Integrate the current Main flex-order and controlled-switch updates, and update the source assertion for the enumerated flow filter.
Integrate Glenn’s latest Android Health Services implementation and its disabled-build compiler fix. Keep its capability/error documentation accurate. The added UIKit controlled-switch regression now captures self explicitly, fixing its Swift compilation error. On a Zig-slice timeout, retain a screenshot plus bounded location/TCC logs without changing permissions, assertions or the 900-second deadline. The completed controls journey passes its full 942-second native test; a fresh full run remains required for this candidate.
Expose the Android emulator’s supported memoryMb option, validate its documented range before provisioning, and retain the requested memory in the process evidence. The stock Play software verifier now requests 4096 MB and records /proc/meminfo after startup. Both retained 2 GB-profile failures reached a SystemUI ANR with substantial process-death churn. The same stock image, two virtual CPUs, software mode, full readiness checks and twenty-minute bound remain mandatory; the real 4 GB run passed on the same stock Play fingerprint, retained 4,014,884 kB of guest memory, and disposed its owned emulator. A new final-source run must repeat that acceptance.
Validation:
- Public Pantry release: all seven archives verified; original npm archive verified; exact merged source passed source CI and native Windows compiler/link acceptance.
- Craft Windows: public installer, repeated workspace relinking, cold core compilation, compiler-project selection, multi-window bridge, and real MSI install/launch all passed.
- Local SDK: 750 tests passed with 1,964 assertions; types and Pickier passed.
- Native JVM regressions execute the shipped identity/promotion/update functions, including nested and sibling ordering, retained viewport styles, targeted updates, and legacy renders.
- Updated local iOS and renderer/release checks: 630 tests passed with 5,833 assertions; Swift simulator type checking passed. All eight npm archives and 16 installed import/type entry points pass after the latest Main integration.
- Prior UIKit acceptance passed 201 unit tests and five UI tests; the updated suite must pass after the switch-fixture compile fix.
- Current complete Android 14 and 15 native suites each pass all 64 cases without skips, as does the SDK-owned Android runtime leg. All three media-cache legs pass. The prior candidate passed the cold software-emulator source gate with the same boot code; two subsequent 2 GB-profile runs reached a stock SystemUI ANR dialog and correctly refused handoff. Both failures are retained. The explicit 4 GB profile passes with the same readiness assertions and deadline (run 39464504999, job 118772999438).
- The compiler property fix is published in the verified six-package STX 0.2.606 cohort; its exact-tag gate passes 16,555 source tests.
The final generator follow-up deduplicates fine-location permission when Bluetooth/heart-rate overlaps geolocation, background location, or Health Services. The real generated Health Services shell previously failed manifest merging. A regression fails before the fix and passes all six combinations afterward; all 92 Android generator tests and 750 SDK tests pass, along with types, Pickier, eight npm archives and 16 installed entry points.
Full source CI and complete native acceptance for final candidate de6c0e9 remain required before merge and release. Focused results do not replace those gates.
The prior Zig slice returned CoreLocation permission-denied despite its simulator pre-grant, preventing the coordinate→speech→Settings chain from completing. Its runtime, fixture and Zig dependencies are unchanged from the prior passing candidate. A fresh full run must pass the original coordinate assertions; the added bounded screenshot/location diagnostics preserve evidence if this repeats.