073. agy in the Debian VM of the Android Terminal app
- Date
- 2026-11-01
- Agents
- Claude Code, Antigravity CLI
- Measured on
- real machine (an Android telephone)
Measured
2026-11-01, Antigravity CLI (agy) 1.4.12 (one process), in the Debian
13 (trixie) VM of the Android Terminal app, on aarch64. The VM kernel was
6.12.93-android16-6-g3a7d1771d492-ab16496487-4k. Claude Code 2.1.316 was
installed, but no Claude process ran. The probe kit (probes/run.sh) ran
one time in full and three times as the guided step permission for agy.
It listed names, sizes, times and record types. It read no content.
Measured on: real machine (an Android telephone).
What was measured
- The parent chain of the agy process was
agy->bash->ttyd-> pid 1.ttydhad no tty. The terminal variables held onlyTERM=xterm-256color. No variable named the Android Terminal app. - The command line of the process was only
agy. The command~/.local/bin/agywas the program, not a link. - agy kept its state in
~/.gemini/antigravity-cli/, with the same names as on Linux (x64), macOS and Windows (fact 072). The process held openconversations/<uuid>.db, its-shmand-walfiles, andpresence/<uuid>.lock, as in fact 028. - The process started at 08:36:54.
log/got the filecli-20261101_083657.log, 3 s later.log/held one file for each of four starts. cli.login the top folder had the same size (24070 bytes) as the newest file inlog/.- In the first two guided steps, agy started during the step, after the kit.
The kit counted one agy process before the step, but that process was
the kit itself: the one-line start ran it as
sh -s -- --guided permission agy, and the agent name matched. The kit fix skips the processes that start the kit. - A new agy process opened
crashes/crash_<pid>_<uuid>.logwith size 0, the newlog/file and a new presence lock, and held them open. No agy crash was seen. - In the second step, the start of agy and the first prompt also changed
history.jsonl(one new line),conversation_summaries.db,jetbox_summaries_proto.pb,annotations/<uuid>.pbtxt,cache/onboarding.json,cache/last_conversations.json,updater/update_status.jsonandlast_check.timestamp. - In the third step, with the fixed kit, the kit found the agy process
that ran from the second step. During the step, the operator stopped
agy and started it again.
history.jsonlgot aslash_commandrecord and one more record. The new process opened a new crash file, a newlog/file and a new presence lock. The old process had closed its three files. - In each step, the operator asked agy for a file write. In the 30 s
after that, each new transcript got two records:
USER_INPUTandPLANNER_RESPONSE. No record type showed a wait for a permission dialog. The changed files also heldconversations/<uuid>.db, and four transcript files inbrain/<uuid>/.system_generated/logs/:transcript.jsonl,transcript_full.jsonl, and one chunk file of each inchunks/.
Mechanism
The Android Terminal app shows the shell of the VM through ttyd, a
web terminal. So a reader in the VM finds the terminal from the parent
chain (ttyd), not from the environment.
agy on aarch64 Linux keeps the same files as on x64 Linux. A reader of agy state needs no special case for this VM.
Incident
None.
Screens
None.
Not measured
- Whether the permission dialog showed in the guided steps. The files do not say. So item 10 does not prove that agy writes no record for a dialog wait.
- The
statusvalue inconversation_summaries.dbduring the dialog (fact 045). The kit saw only that the file changed. - A permission dialog in a process that ran before the step, with no restart.
- Whether
cli.logis a link to the newest file inlog/or a copy. - The
flocklock on the presence file in this VM (fact 044). - A Claude Code process in this VM.