diff --git a/README.md b/README.md index 5746911..564500c 100644 --- a/README.md +++ b/README.md @@ -155,10 +155,10 @@ prism gemini -p 'Reply with exactly GEMINI_OK.' Before each run Prism removes common API-billing environment variables and persistently sets `useG1Credits=false` in Antigravity's shared configuration. If that safety setting cannot be written, Prism fails before launching agy. This disables AI Credit fallback without copying or changing agy's signed-in Google identity. `prism usage` and `prism gemini usage` read the live Antigravity quota through the same official CLI. -The default model is `gemini-3.7-flash-low`. For harder software-engineering or multi-step tool-use tasks, select `gemini-3.1-pro-high` explicitly: +The default model is the latest subscription model, `gemini-3.8-flash-high`: ```sh -prism gemini --model gemini-3.1-pro-high -p 'Review this repository.' +prism gemini --model gemini-3.8-flash-high -p 'Review this repository.' ``` Antigravity CLI must be installed on `PATH`; Prism invokes it internally and keeps `prism gemini` as the user-facing command. When no local session exists, the first `prism gemini` run starts Antigravity's official Google sign-in flow. diff --git a/internal/cli/gemini.go b/internal/cli/gemini.go index c8f9ad1..c4c8962 100644 --- a/internal/cli/gemini.go +++ b/internal/cli/gemini.go @@ -12,7 +12,7 @@ import ( "strings" ) -const defaultGeminiModel = "gemini-3.7-flash-low" +const defaultGeminiModel = "gemini-3.8-flash-high" type geminiCLIExecutable struct { path string @@ -182,7 +182,6 @@ or proxies its OAuth tokens. Common API-billing environment variables are removed before every run, and useG1Credits=false is persisted before launch to disable AI Credit fallback. If no session exists, agy starts its official Google sign-in flow automatically. -The default model is gemini-3.7-flash-low; use --model gemini-3.1-pro-high for -hard software-engineering and multi-step tool-use work. Other Antigravity CLI +The default model is gemini-3.8-flash-high. Other Antigravity CLI arguments are passed through the Prism surface.`) } diff --git a/internal/cli/gemini_test.go b/internal/cli/gemini_test.go index 5bde727..09e1334 100644 --- a/internal/cli/gemini_test.go +++ b/internal/cli/gemini_test.go @@ -12,8 +12,8 @@ import ( "testing" ) -func TestGeminiDefaultsTo37FlashLowAndPreservesExplicitModel(t *testing.T) { - if got := withDefaultGeminiModel([]string{"-p", "hello"}); !reflect.DeepEqual(got, []string{"--model", "gemini-3.7-flash-low", "-p", "hello"}) { +func TestGeminiDefaultsTo38FlashHighAndPreservesExplicitModel(t *testing.T) { + if got := withDefaultGeminiModel([]string{"-p", "hello"}); !reflect.DeepEqual(got, []string{"--model", "gemini-3.8-flash-high", "-p", "hello"}) { t.Fatalf("default args = %#v", got) } for _, args := range [][]string{{"--model", "gemini-3.1-pro-high", "-p", "hard"}, {"-m", "gemini-3.1-pro-high"}, {"--model=gemini-3.1-pro-high"}} { @@ -28,7 +28,7 @@ func TestGeminiHelpDocumentsAntigravityContract(t *testing.T) { if err := runGeminiCommand(context.Background(), []string{"--help"}, &output, io.Discard); err != nil { t.Fatal(err) } - for _, value := range []string{"official Antigravity CLI", "never copies", "API-billing environment", "useG1Credits=false", "sign-in flow automatically", "gemini-3.7-flash-low", "gemini-3.1-pro-high"} { + for _, value := range []string{"official Antigravity CLI", "never copies", "API-billing environment", "useG1Credits=false", "sign-in flow automatically", "gemini-3.8-flash-high"} { if !strings.Contains(output.String(), value) { t.Fatalf("help omitted %q: %s", value, output.String()) } @@ -81,7 +81,7 @@ func TestRunAntigravityPassesStreamingAndTimeoutArgumentsAndScrubsAPIKeys(t *tes if err := runAntigravity(context.Background(), geminiCLIExecutable{path: executable}, args, strings.NewReader(""), &output, io.Discard); err != nil { t.Fatal(err) } - want := "--model\ngemini-3.7-flash-low\n-p\nhello\n--output-format\nstream-json\n--print-timeout\n30m\n" + want := "--model\ngemini-3.8-flash-high\n-p\nhello\n--output-format\nstream-json\n--print-timeout\n30m\n" if output.String() != want { t.Fatalf("output = %q, want %q", output.String(), want) }