Skip to content

mobium assistant: ask Gemini, Google Assistant or Siri in typed text, and report what came back and what is in front - #252

Merged
lana-20 merged 2 commits into
mainfrom
assistant-tool
Oct 21, 2026
Merged

lana-20 merged 2 commits into
mainfrom
assistant-tool

Conversation

@lana-20

@lana-20 lana-20 commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Step 6 of docs/ACCESSIBILITY.md: a new tool, app_assistant (mobium assistant), on every front door (CLI, MCP, Go, Python, JavaScript, Java, .NET). It's for testing an app through the assistant: whether the task was done is for the app to show, never for the assistant to say.

How it works:

  • Android: the assist key opens Gemini or Google Assistant. Its field is typed into (Google Assistant via its Keyboard button) and sent: Gemini's Send, or the keyboard's enter (Enter closes Gemini's overlay unsent, measured in CHALLENGES 350). It waits up to 15 s for an app to come forward or the answer to settle, and closes a panel still up with back.
  • iPhone: Siri's typed request through WebDriverAgent; a panel still up is closed with Home (CHALLENGES 351).
  • Result: the text the assistant showed (not its own controls), the app in front, typed: true, closed, and with app, reached.

reached is true only when the assistant handed the request to the app named. The first version took the app uncovered by closing the panel for the assistant's doing: "Open MobiumApp", a web search signed out, read as MobiumApp coming forward. A unit test and the check's control hold this.

Refused:

  • a request that acts for the owner (call, text, send, pay, buy…) unless app names the app it's for;
  • Siri on a simulator, which answers nothing (CHALLENGES 351);
  • a TV's assistant.

Measured on the Android 15 emulator, Google Assistant signed out:

  • "Open Calculator" and "Open Clock" reach their apps in about 2 s;
  • "Open MobiumApp" is a web search, so reached is false;
  • a sum's answer card has no text to read, and the result says so.

Checks:

  • New: docs/checks/assistant.sh. PASS on emulator-5554 in 15 s: the text request is refused, Calculator is reached, and the same request naming the app it left is not reached. The simulator refusal also passes.
  • Not run on the Pixel's Gemini or the iPhone's Siri: each request goes to the owner's account, so a phone needs ALLOW_PHONE=1.
  • Unit tests cover the request filter, reached, and the answer extraction. make ci green.

… and report what came back and what is in front

A new tool, app_assistant, on every front door. On Android the assist key
opens the assistant, its field is typed into and sent, and it waits for an
app to come forward or the answer to settle, closing a panel still up with
back; on an iPhone Siri is asked through WebDriverAgent and closed with
Home. --app names the app expected to come forward, and reached is true only
when the assistant handed the request to it — the first version took
MobiumApp, uncovered by closing the panel after a web search, for the
assistant's doing. A request that acts for the owner is refused without
--app; a simulator's Siri, which answers nothing (CHALLENGES 351), and a
TV's assistant are refused. assistant.sh passes on the emulator and refuses
the simulator; not run on a phone.
@lana-20
lana-20 merged commit 316ad2c into main Oct 21, 2026
3 checks passed
@lana-20
lana-20 deleted the assistant-tool branch October 21, 2026 07:21
lana-20 added a commit to mobiumdev/mobiumdev.github.io that referenced this pull request Oct 21, 2026
The generator requires an example for every tool, and app_assistant
(mobiumdev/mobium#252) had none: the 2026-10-21 scheduled build failed with
KeyError 'app_assistant', and the live site stayed at the 2026-10-20 build.

Two scenarios, from the command's own help, in all five clients: "Open Clock"
naming the app expected to come forward, and reading reached; and a question,
reading the answer it showed. The first is captured on the Android 15
emulator, with Clock in front after. The second is not recorded: a signed-out
emulator's Google Assistant answers a question with a web search sheet, read
in one run of five, so its output would be third-party search results that
change between runs.

check_examples: 113 scenarios, 0 problems in every client, .NET included.
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