Skip to content

feat(mobile): delegate eligible Android presses to device readiness - #1253

Draft
thymikee wants to merge 5 commits into
tester-army:oskar/android-enginefrom
thymikee:agent-device/native-readiness
Draft

thymikee wants to merge 5 commits into
tester-army:oskar/android-enginefrom
thymikee:agent-device/native-readiness

Conversation

@thymikee

@thymikee thymikee commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Add Android-only targetReadiness: 'device', gated by the daemon's bounded-geometry capability. The default path keeps its transition policy.
  • Delegate identified control presses only after an actual completed prior press. Startup, back, other commands, no-op toggles, failed mutations, anonymous targets, and nested controls keep adapter checks.
  • Seven files, including public types, reference docs, patch changeset, and an opt-in benchmark switch. Benchmark app/tests are unchanged.
mobile({ platform: 'android', targetReadiness: 'device' })
flowchart LR
  A[Prior successful press] --> B{Capability and identified target?}
  B -->|Yes| C[Device geometry guard]
  B -->|No| D[Adapter transition policy]
Loading

Verified

Ran it locally: yes

Built CLI on the original Android benchmark APK, Pixel_7_CI/API36, one worker, zero runner retries. Both columns link built SDKs: baseline ddba75f5b4, candidate fc612424d1; adapter runtime 59307b1570, final test-only head 5e1d8952f4.

Original 42-case suite Target baseline This branch plus runtime
Passed 42 42
Fixture recovery taps 0 0
Elapsed 321.25s 273.12s

E2E_MOBILE_DEVICE_READINESS=1 BENCH_ENGINE=agent-device e2e run --config e2e.android.config.ts --workers 1 --retries 0

Runtime PR. All identities, timings, APK hash, method, safety, and test-app evidence.

Root pnpm check and 352 mobile unit tests passed against the actual pinned SDK. Fresh independent reviews have no unresolved findings.

Draft blocker: published agent-device@0.21.28 drops the capability. Release the linked runtime, then update this dependency and lockfile before enabling or merging. The linked-SDK benchmark does not prove a clean-install opt-in works yet. Experimental direct-engine parity remains open.

View guided diff

This branch has not been deployed

No deployments
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