045. The agy summaries database shows a running turn
- Date
- 2026-10-30
- Agents
- Antigravity CLI
- Measured on
- real machine
Measured
2026-10-30, Antigravity CLI (agy) 1.4.7, on Linux (Debian 13, x64), in a
private tmux server with a throwaway HOME and a copied login. The
scenario scenarios/agy/deny-and-tools.sh ran two times, with four turns
in each run. A poller listed every 0.5 s the size and the modification
time of each file below ~/.gemini/antigravity-cli/. In the second run,
each time conversation_summaries.db changed, the poller copied it (with
its -wal and -shm files) and read status, not_fully_idle and
step_count from the copy. It read no conversation text.
Measured on: real machine.
What was measured
-
~/.gemini/antigravity-cli/conversation_summaries.dbis a SQLite file with one table,conversation_summaries, and one row for each conversation. Its columns includeconversation_id,status,not_fully_idle,step_count,killed,last_modified_timeandlast_user_input_time. -
The
statusof the row in the second run:Time (s) Event status,not_fully_idle0.3 turn 1 sent 2.2 CASCADE_RUN_STATUS_RUNNING, 15.8 the file dialog opens 8.2 the dialog waits CASCADE_RUN_STATUS_RUNNING, 1about 10.0 2(deny) sent10.8 CASCADE_RUN_STATUS_IDLE, 028.3 Stopof turn 228.8 CASCADE_RUN_STATUS_IDLE, 064.7 Stopof turn 365.0 CASCADE_RUN_STATUS_IDLE, 0about 81.0 Esc on the dialog of turn 4 83.1 CASCADE_RUN_STATUS_IDLE, 0Each turn changed the status to
CASCADE_RUN_STATUS_RUNNINGwithin 2.2 s of the prompt. The status stayedRUNNINGwhile a dialog waited. It changed toCASCADE_RUN_STATUS_IDLEwithin 0.5 s ofStop, within 0.8 s of a deny, and within 2.1 s of an Esc. No hook fires for the deny and the Esc (fact 41). -
~/.gemini/antigravity-cli/jetbox_summaries_proto.pbchanged at the same times asconversation_summaries.db-wal. -
The conversation files changed only at the steps of a turn:
conversations/<conversation id>.db-waland the four transcript files belowbrain/<conversation id>/.system_generated/logs/(transcript.jsonl,transcript_full.jsonl, and one file in each ofchunks/transcript/andchunks/transcript_full/). In turn 3 of the second run, no conversation file changed for 21.6 s while the turn ran. A size or a modification time of these files does not show that a turn runs. -
history.jsonlchanged at each prompt that was sent.cli.logand the file inlog/changed during the turns and also at other times.
Mechanism
agy keeps the run state of each conversation in the summaries database,
apart from the transcript. A reader with no hooks can read the status of
the row with its conversation_id. RUNNING means busy or a dialog. The
screen tells these two apart (fact 18). IDLE also shows the end of a deny
and of an Esc, where no hook fires.
A reader must not hold a lock on the live database. The scenario read a copy. A read-only connection to the live file was not tested.
Incident
None recorded.
Screens
Not measured
- Other values of
status, for example for an error or a crash.killedwas 0 in each read. - The content of
jetbox_summaries_proto.pb. - The status in the first run (the poller did not read it then).
- The delay with a poll faster than 0.5 s.
- A read-only connection to the live database.
- macOS and Windows. Other agy versions.