Skip to content

fix(antigravity): improve runtime surfaces, usage discovery, and settings - #655

Merged
SDSLeon merged 6 commits into
masterfrom
fix/antigravity-runtime-surfaces
Aug 30, 2026
Merged

fix(antigravity): improve runtime surfaces, usage discovery, and settings#655
SDSLeon merged 6 commits into
masterfrom
fix/antigravity-runtime-surfaces

Conversation

@SDSLeon

@SDSLeon SDSLeon commented Aug 30, 2026

Copy link
Copy Markdown
Collaborator

Tickets: None

  • Read Antigravity usage directly from local databases and credentials without running CLI background processes.
  • Allow failed first-class chat runtime auto-installs to retry with backoff cooldown.
  • Fold Antigravity runtimes into its environment row in agent settings.
  • Enable subagents in Chat when the Antigravity ACP runtime is installed.
  • Respect server-advertised permission modes in Chat instead of forcing local permission defaults.
  • Disable offline machines and clear machine pill when switching to offline machines in settings.

SDSLeon and others added 6 commits August 30, 2026 10:23
The machine selector labelled an offline remote machine with an "Offline"
caption but still let it be picked, scoping the Agents pages to a machine
that cannot answer. List it disabled instead — its server status dot
already says why — and drop the caption.

The pill floats over the scroll area at `bottom-4`, so the area needs more
than `pb-8` to keep its last rows clear of it. Reserve the space only while
the bar actually renders (a second machine exists).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ises

Antigravity's two runtimes name the same postures differently: `agy` says
`yolo`, and ACP's `yolo` mode normalizes to `never`. The Chat capabilities
declared neither `defaultApprovalPolicy` nor `bypassPermissions`, and
`capabilitiesForPresentation` only overwrites the keys an override brings —
so the CLI's `yolo` leaked onto a surface that never advertised it.

Three symptoms, one cause:
- a fresh Chat draft opened with no permission selected,
- picking Auto Edit reverted to bypass on the started thread,
- the chip rendered the raw `yolo` id instead of a label.

Chat now derives its own default and bypass posture from the advertised
modes (YOLO, matching the provider's declared stance), `resolveApprovalPolicyValue`
falls back to that default rather than "" when a saved id is not on offer,
and the composer dropdown resolves its value against the current options so
no surface can render an unadvertised id.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…alled

`subagentExecutionPreference` returned `one-shot` for every machine with
`agy` detected, so Crossagents advertised Antigravity as a one-shot child
even after its first-class ACP runtime landed. `agy -p` streams stdout and
exits: no incremental tool calls, no permission forwarding, no steering.

Track the ACP runtime's detected state alongside the CLI's and prefer the
structured lane whenever Chat is available, keeping the CLI one-shot as the
fallback for a machine that only has `agy`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Antigravity was the only provider rendering a "Runtime" card above its
environment rows, and that card carried no install action — a machine with
`agy` but no ACP artifact showed "Antigravity ACP: Not installed" with no
way to fix it from the page. The background auto-install is best-effort and
silent, so a failed sweep left chat unavailable indefinitely.

Report both runtimes through the same row every other provider uses:
the version chip becomes `CLI v1.1.22 · ACP not installed`, a missing
runtime gets an inline install action (registry artifact or shell
installer, per the provider's declared slots), and the combined update
takes the row's existing Update affordance. Providers whose settings panel
already owns the install rows (Cursor) keep their own grouping.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The first-class ACP sweep marked each agent+environment as attempted before
running, so once its two attempts were spent the artifact was never fetched
again for the rest of the session. A machine that was offline at launch, or
whose probe failed once, stayed without a chat runtime until the app was
restarted — with nothing said about it beyond a console warning.

Record sweeps as unresolved on failure and allow a later status query to try
again after a 15-minute cooldown, settling the entry only on success or on
an explicit opt-out. The exhausted-attempts warning now names the retry
window and points at the manual install on the agent's settings page.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@SDSLeon
SDSLeon merged commit e311473 into master Aug 30, 2026
7 checks passed
@SDSLeon
SDSLeon deleted the fix/antigravity-runtime-surfaces branch August 30, 2026 20:44
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