feat(limrun): serve iOS alert get/wait/accept/dismiss from tree capture
Merged
TH
5d ago+3539+3539+0123456789012345678901234567890123456789-244-244-012345678901234567890123456789
Summary
Closes #3349. Limrun iOS alert get/wait/accept/dismiss use the shared tree-alert driver. Android permission grants declare role and rank together, with “Allow all” before limited access. Undeclared allow/deny-shaped ids stay represented and block selection before single-button and neutral fallbacks: accept refuses with alert_button_undecided / dispatched: no; dismiss answers with Back without tapping a grant.
Head: ab7c9fc7da46cce0b8525cfd6795e13c5d914a13; base: 3d9190107e; MERGEABLE.
Validation
- Direct
pnpm check:affected --run --head ab7c9fc7da: passed, exit 0,exactCommit: true, unchanged clean fingerprints; 36 passed, 25 reasoned skips, two deduplications, zero failed/not-run. Receipt:run-GnzcI6. - CI verified on this head: 20 success, two skipped, one neutral; no pending or failed checks.
- Fresh full-access review found no P0/P1/P2 and three accepted non-blocking P3s. Its own setup/build and disposable experiments provide separate evidence: nine fail-before regressions, 39/39 pass-after, mocked-transport action probes, and mutation characterization. The owner's earlier bound-checkout experiments retain their method limits.
- Review disposition. No final-head Android or Limrun live certificate: the supported device launcher pins installed 0.21.25 without a source override, and no unknown-vendor sheet is available. Historical failure causes and reset/force-stop effects remain unknown; control correction.
- Zero unresolved threads. CoS-owned
ready-for-humanis present; maintainer disposition reports no blocking problems and acknowledges the live-evidence limits.