model,app,tui: replace gemini adapter with full-peer antigravity (agy) - #6
Merged
Conversation
Google cut off the gemini-cli free-tier OAuth client; agy 1.0.9 resolved the S8b auth blocker (persistent OAuth tokens), so Antigravity takes the third model slot as a full peer (reviewer + synthesizer + input-budget setter). - antigravitycli: un-stub into a full peer. Invoke `agy --print=- --print-timeout <dur>` via stdin, raw output -> ParseFindings. The print-timeout derives from the call's ctx deadline so --model-timeout governs antigravity like codex/claude (which pass no internal cap); --model-timeout 0 yields a 24h ceiling. Parse-error path hints at the one-time `agy` login. Gated live canary (build tag integration) guards agy's undocumented flag contract. - remove the geminicli adapter and all wiring; models are now codex, claude, antigravity. - tui picker: pre-check every known available model (derived from pickerPriority); antigravity is no longer the excluded experimental stub. SelectedNames derives order + known-set from pickerPriority. - update README + comments across the model/app/provider layers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Google cut off the
gemini-clifree-tier OAuth client ("This client is no longer supported for Gemini Code Assist for individuals … migrate to the Antigravity suite"), so the gemini adapter — a default working model — now fails at runtime for free-tier users. Meanwhileagy1.0.9 resolved the spike S8b blocker (changelog: "Fixed OAuth token persistence and authentication hangs"), verified live. So Antigravity takes the third model slot as a full peer.What
antigravitycliinto a full peer — implementsReviewer+Synthesizer+InputBudgetSetter, mirroringcodexcli/claudecli.agy --print=- --print-timeout <dur>with the prompt piped via stdin (empirically locked:--printis a string flag requiring a value;-is the stdin marker). Raw output →model.ParseFindings(no envelope, unlike gemini's-o json).--print-timeoutderives from the call's ctx deadline so--model-timeoutgoverns antigravity exactly like codex/claude (which pass no internal cap);--model-timeout 0→ 24h ceiling. agy's intrinsic 5m default would otherwise silently halve antigravity's budget on large PRs.agylogin (the unauthenticated-agy failure shape).geminicliadapter and all wiring. Models are nowcodex, claude, antigravity.pickerPriority); antigravity is no longer the excluded experimental stub.SelectedNamesderives order + known-set frompickerPriority(no hand-maintained name lists).Auth note
agyrequires a one-time interactive login (runagyonce); after that its OAuth token persists and diffsmith drives it non-interactively. Preflight checks PATH only (matching codex/claude); auth errors surface at Review time.Testing
go test ./...), build + vet clean.--model-timeout 0), budget enforcement, error wrapping, full-peer capability guard, negative guard that argv never auto-approves tools.integration_test.go, build tagintegration) runs realagyagainst fixtures (incl. prompt-injection) — the durable guard against agy's undocumented flag contract. Verified live end-to-end./simplifyand xhigh/code-review; all surfaced findings fixed (most notably the print-timeout-vs---model-timeoutbug).Notes
docs/updates (design spec, S8b spike closure, architecture note) are local-only per the repo's.git/info/excludeand are not in this diff;README.mdis updated.bdwas not touched this session due to a DATABASE MISMATCH warning (mis-delete risk on sync); recommendbd migrate --update-repo-idseparately.