Skip to content

Add Antigravity harness with Gemini 3.8 Flash support - #58

Closed
miketela wants to merge 1 commit into
hardbeat920:mainfrom
miketela:miketela/add-antigravity
Closed

Add Antigravity harness with Gemini 3.8 Flash support#58
miketela wants to merge 1 commit into
hardbeat920:mainfrom
miketela:miketela/add-antigravity

Conversation

@miketela

@miketela miketela commented Sep 3, 2026

Copy link
Copy Markdown

Summary

Adds support for Google DeepMind's Antigravity harness (agy CLI) with Gemini 3.8 Flash as the default model.

Key Changes

  • Core session & model integration:
    • Registered antigravity in HarnessId, HARNESSES, HARNESS_LABEL, and HARNESS_TITLE.
    • Configured clean model entries (Gemini 3.8 Flash, Gemini 3.7 Flash, Gemini 3.1 Pro, Claude Sonnet 4.6) with dedicated Reasoning effort selector (High, Medium, Low) in ModelSettings, matching the UX conventions of Claude and Grok.
    • Set antigravity:gemini-3.8-flash as DEFAULT_MODEL_ID.antigravity.
    • Configured dynamic attachment support tooltip (${HARNESS_TITLE[harness]} does not support attachments).
  • Protocol & Process Lifecycle:
    • Implemented stream-json line protocol communication over stdin/stdout.
    • Implemented turn management with conversation resumption (--conversation <id>), working directory isolation (cwd), cancellation handling, and process termination.
    • Scoped tool callId using tool-${sessionId}-${turnIndex}-${stepIndex} to prevent block collision across turns.
    • Dynamic model catalog discovery via agy models, parsing and consolidating model families with reasoning effort settings.
  • Frontend Assets & UI:
    • Added custom Antigravity 4-point sparkle diamond vector icon in src/assets/providers/antigravity.svg and registered in HarnessIcon.tsx (MONOCHROME_HARNESSES).
  • Tauri Backend (Rust):
    • Added harness_resolve_antigravity command and registered in IPC handler.
    • Implemented binary discovery in resolve_antigravity across macOS, Linux, and Windows candidate paths (~/.local/bin/agy, ~/.gemini/antigravity-cli/bin/, brew, /usr/local/bin, /snap/bin, etc.).
    • Added file marker inspection and --help probe for binary identity verification in is_antigravity_agent.
    • Added skill directories scanning (.antigravity/skills, .gemini/skills, ~/.gemini/antigravity-cli/skills).

Validation

  • Vitest suite: 104 test files, 1116 / 1116 tests passing (100%).
  • TypeScript type-check: tsc --noEmit passed with 0 errors.
  • Live CLI probe verified with /Users/mike/.local/bin/agy running gemini-3.8-flash.

- Register 'antigravity' in HarnessId, HARNESSES, and session types
- Configure Gemini 3.8 Flash as default model with reasoning effort settings (High, Medium, Low)
- Implement stream-json protocol parser, session lifecycle, cancellation, and catalog discovery
- Register Antigravity vector icon in HarnessIcon and dynamic attachment tooltips in Composer
- Add Tauri backend binary resolution, skills scanning, and IPC registration
- Add comprehensive unit and live test coverage
@hardbeat920 hardbeat920 added the duplicate This issue or pull request already exists label Sep 3, 2026
@hardbeat920

Copy link
Copy Markdown
Owner

Thanks for putting this together @miketela.

This overlaps with #53, which also adds Antigravity CLI support.

New provider integrations are currently paused while the shared harness behavior is being standardized, as described in CONTRIBUTING.md.

To avoid maintaining two parallel implementations I’m closing this PR for now.

I’ll refer back to both when Antigravity support is ready to be reconsidered.

Thanks again!

@hardbeat920 hardbeat920 closed this Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

duplicate This issue or pull request already exists

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants