Skip to content

feat: add native Google Antigravity adapter - #3721

Closed
cam-em wants to merge 2 commits into
kunchenguid:mainfrom
cam-em:fm/antigravity-adapter
Closed

cam-em wants to merge 2 commits into
kunchenguid:mainfrom
cam-em:fm/antigravity-adapter

Conversation

@cam-em

@cam-em cam-em commented Sep 4, 2026

Copy link
Copy Markdown

Intent

Implement and commit a native Firstmate adapter for Google Antigravity CLI (agy) so Gemini can run in the exact isolated task workspace with repository instructions and skills, unattended tool permissions, explicit Gemini model and low/medium/high effort selection, worker lifecycle controls, semantic busy/turn-end events, safe primary supervision, and Firstmate's primary pre-tool/delegation protections. Empirically verify agy 1.1.26 behavior through named disposable Herdr labs, require 1.1.26 or newer because it includes the repeated subagent-approval fix, treat ANTIGRAVITY_AGENT plus exact agy ancestry as identity rather than inherited AI_AGENT, keep the adapter Gemini-only, and keep worker hooks in a Firstmate-owned added-root overlay rather than modifying project hook configuration. Add portable executable-interface regressions, a non-vacuous opt-in live Antigravity/Gemini guard, and accurate setup/verification/maintainer documentation. Use Pi with gpt-5.6-sol for implementation, Gemini only for live Antigravity verification, and Codex/OpenAI only for this no-mistakes validation. Do not merge or push the default branch, do not use Claude-family models, and do not use --yes.

What Changed

  • Add native Google Antigravity CLI support for primary, worker, and secondmate harnesses, including isolated workspace launches, Gemini-only model selection, native effort levels, and a minimum agy version of 1.1.26.
  • Integrate Antigravity identity detection, lifecycle controls, semantic busy/turn-end hooks, foreground supervision, and Firstmate pre-tool/delegation protections through Firstmate-owned hook overlays.
  • Add portable adapter regressions, an opt-in live Gemini end-to-end guard, and setup, supervision, and verification documentation.

Risk Assessment

✅ Low: The prior dispatch defect is fixed at both local positional and remote preflight boundaries, with executable-interface regression coverage, and the full Antigravity adapter review found no remaining material source-verifiable issues.

Testing

Completed 1 recorded test check.

  • Outcome: ⚠️ 1 error across 1 run (38m14s)

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

🔧 **Review** - 1 issue found → auto-fixed ✅
  • 🚨 bin/fm-spawn.sh:505 - Antigravity is declared as supporting second mates, but the remote preflight allowlist still ends at cursor, so a configured or explicit remote Antigravity second mate is rejected before reaching the receiver that already accepts it. The local positional adapter parser at line 1205 similarly omits antigravity and misinterprets it as a home path. Add the adapter to both spawn boundaries and cover both public invocation paths.

🔧 Fix: Enable Antigravity secondmate dispatch paths
✅ Re-checked - no issues remain.

⚠️ **Test** - 1 error
  • 🚨 tests failed with exit code 1
  • bin/fm-test-run.sh --changed --exclude-family real-herdr-gated
✅ **Document** - passed

✅ No issues found.

⚠️ **Lint** - 1 warning
  • ⚠️ linter found issues (exit code 1)
✅ **Push** - passed

✅ No issues found.

@greptile-apps

greptile-apps Bot commented Sep 4, 2026

Copy link
Copy Markdown

Confidence Score: 5/5

The PR appears safe to merge based on the reviewed changes, with no concrete changed-code defect remaining.

The adapter’s launch, identity, hook, guard, composer, lifecycle, and cleanup paths consistently fail closed or preserve existing supervision boundaries, and the investigated edge cases did not establish a reachable failure.

Reviews (1): Last reviewed commit: "no-mistakes(review): Enable Antigravity ..." | Re-trigger Greptile

@devin-ai-integration

Copy link
Copy Markdown

Closed as superseded — this work already landed on main via #4200.

— Kun's Firstmate

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