You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Antigravity workers fail at agent_readiness: tui-idle reads only the output stream for Antigravity panes #24486
orca orchestration worker-start --agent antigravity often fails at agent_readiness ("Agent did not become ready (running)") although the terminal shows agy idle at its > prompt. A longer --timeout-ms does not help, and handing the Task to that terminal with --terminal times out as well.
Environment
Orca 1.4.217 (Linux, stably-orca-bin AUR package), desktop app with the local runtime
Antigravity CLI (agy) 1.2.14, signed in
Arch Linux, x86_64
Cause, as far as we can tell from the 1.4.217 bundle
The tui-idle wait used by worker-start finds an Antigravity pane ready only from the accumulated output stream: the Antigravity parser needs a line that is exactly > after the last "antigravity cli" in the escape-stripped tail. The rendered screen lines are only consulted for Codex panes (or panes with no detected agent). agy 1.2.14 sometimes draws its prompt line with cursor movement, so the stream never contains a standalone > line, while orca terminal read --screen shows the prompt. (Minified names in this build: $3, Q3, Lfa, Ffa.)
Reproduction
Start agy several times: orca terminal create --worktree current --command "agy --dangerously-skip-permissions --model gemini-3.8-flash-high".
After about 20 s, compare orca terminal read --terminal <handle> (stream) with orca terminal read --terminal <handle> --screen.
In 2 of 9 starts the stream had the "Antigravity CLI 1.2.14" header but no > line, while the screen showed the idle prompt. The header always appeared within 1.5 s, and another agy running in the same HOME made no difference.
Through worker-start --agent antigravity, 3 of 8 fresh starts on one day failed at agent_readiness this way.
What did not help
--timeout-ms 240000: still failed, with agy idle at its prompt the whole time
Sending Ctrl-L to the pane (agy does not repaint the full frame)
worker-start --task <t> --retry-of <d> --terminal <the ready agy terminal>: timed out at agent_readiness too
Suggested fix
For Antigravity panes, also read the rendered screen lines (as for Codex) when the stream shows the header but no prompt line, or prefer the screen whenever it is available.
Workaround
Release the failed start and retry with a fresh worker-start; each start is an independent try.
The specific gate described here — rendered screen lines consulted only for Codex (or unknown) panes — is gone on current main (7c50009ca4946cf7384495f542d0b5856308b70c):
src/main/runtime/terminal-wait-detection.ts:83 and :105 now call evaluateAgentStateRules(agent, …) for every agent, so Antigravity's composer_ready / composer_not_shown screen rules from src/main/runtime/agent-state-rules/antigravity.json are consulted in the tui-idle poll, not just in the one-shot probe.
This issue was filed against 1.4.217, which predates both. If it still reproduces on ≥ v1.4.220, the residual cause is likely a different lane (e.g. readRuledScreen returning null without a size-matched trusted screen, or requiresQuiet never settling) — please re-test there; otherwise this can be closed as fixed in the new version.
Closing as completed: #24222 and #24348 are merged, and the current tui-idle wait evaluates Antigravity’s screen rules rather than relying only on the folded output stream. The idle composer is recognized from the rendered grid; busy turns, model pickers, trust dialogs and unsent drafts remain guarded.
Verified the relevant rule engine, Antigravity rules and wait detector against latest main (dd9cf36581c79bf915a0ef43aed9616d8906d4f0). The four focused readiness/transcript/worker-lifecycle suites pass: 126 tests, including captured Antigravity 1.2.14 screens the old text parser misses. This verifies the reported stream-only gate; a failure on a current build involving an unavailable trusted screen or a different readiness state should be tracked with that specific evidence.
Activity
bashrusakh commentedon Oct 8, 2026
The specific gate described here — rendered screen lines consulted only for Codex (or unknown) panes — is gone on current
main(7c50009ca4946cf7384495f542d0b5856308b70c):src/main/runtime/terminal-wait-detection.ts:83and:105now callevaluateAgentStateRules(agent, …)for every agent, so Antigravity'scomposer_ready/composer_not_shownscreen rules fromsrc/main/runtime/agent-state-rules/antigravity.jsonare consulted in thetui-idlepoll, not just in the one-shot probe.v1.4.220tag shows both merges are contained — v1.4.220 (2026-10-04) is the first release with the fix.This issue was filed against 1.4.217, which predates both. If it still reproduces on ≥ v1.4.220, the residual cause is likely a different lane (e.g.
readRuledScreenreturning null without a size-matched trusted screen, orrequiresQuietnever settling) — please re-test there; otherwise this can be closed as fixed in the new version.nwparker commentedon Oct 10, 2026
Closing as completed: #24222 and #24348 are merged, and the current
tui-idlewait evaluates Antigravity’s screen rules rather than relying only on the folded output stream. The idle composer is recognized from the rendered grid; busy turns, model pickers, trust dialogs and unsent drafts remain guarded.Verified the relevant rule engine, Antigravity rules and wait detector against latest main (
dd9cf36581c79bf915a0ef43aed9616d8906d4f0). The four focused readiness/transcript/worker-lifecycle suites pass: 126 tests, including captured Antigravity 1.2.14 screens the old text parser misses. This verifies the reported stream-only gate; a failure on a current build involving an unavailable trusted screen or a different readiness state should be tracked with that specific evidence.