feat: add simulator-set and Android allowlist isolation

Merged
TH
8mo ago
+442-99

Summary

Add first-class scoped device isolation for iOS simulators and Android devices.

  • Add --ios-simulator-device-set (and env equivalents) and propagate to iOS discovery + simctl-backed command execution.
  • Add --android-device-allowlist (and env equivalents) and enforce allowlist filtering in Android discovery/selection.
  • Enforce no host-global fallback when scope is configured; scoped iOS discovery now excludes physical iOS devices.
  • Add focused tests for isolation parsing/simctl scoping/session selector checks.
  • Update CLI/docs for flags, precedence, and troubleshooting semantics.

Touched files: 19.
Scope expansion: yes, expanded from iOS-only into Android discovery path by explicit follow-up request.

Validation

  • pnpm typecheck
  • pnpm test:unit
  • pnpm test:smoke
  • pnpm test:integration (fails in this environment at test/integration/android.test.ts:29 due Settings UI-content assertion mismatch; unchanged by this PR)