From 6434eee45cc0bcd90b8c96552a7ebff1b42ef0e9 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Fri, 23 Oct 2026 20:16:32 -0700 Subject: [PATCH] Separate Gemini model names and effort choices --- api/openapi.yaml | 4 +- docs/antigravity-protocol.md | 5 +- internal/agents/kb/workflow-definitions.md | 2 +- internal/agents/leadtools.go | 2 +- internal/antigravity/session.go | 14 +- internal/api/api.gen.go | 720 +++++++++--------- .../migrations/114-split-gemini-effort.sql | 12 + mac/Sources/Byre/Composer.swift | 16 +- mac/Sources/Byre/Settings.swift | 2 +- mac/Sources/Byre/Store.swift | 2 +- mac/Sources/Byre/WorkflowEditor.swift | 11 +- 11 files changed, 408 insertions(+), 382 deletions(-) create mode 100644 internal/store/migrations/114-split-gemini-effort.sql diff --git a/api/openapi.yaml b/api/openapi.yaml index 12cc24d..106dd29 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -1751,7 +1751,7 @@ components: properties: stage: { type: string, x-go-type-skip-optional-pointer: true, description: "The stage's name, one line of 1 to 100 characters, unique within the workflow." } model: { type: string, x-go-type-skip-optional-pointer: true, description: "The stage agent's model, which also picks its vendor: gpt-* models run on Codex, gemini-* models on Antigravity, every other model on Claude Code. Required without agents, refused with them." } - effort: { type: string, x-go-type-skip-optional-pointer: true, description: "The stage agent's effort (low, medium, high, xhigh, max; Codex models take low to xhigh); empty means the vendor's default. Refused with agents." } + effort: { type: string, x-go-type-skip-optional-pointer: true, description: "The stage agent's effort (low, medium, high, xhigh, max; Codex models take low to xhigh; Gemini takes low, medium or high); empty means the vendor's default (medium for Gemini). Refused with agents." } prompt: { type: string, x-go-type-skip-optional-pointer: true, description: "The stage agent's instructions; with agents, the instructions every agent of the team gets before its own." } order: type: array @@ -2018,7 +2018,7 @@ components: owner: { type: string, description: "The login whose lead agent this is; empty for a task's session." } vendor: { type: string, enum: [claude, codex, antigravity], description: "Follows from the model the session was created with: gpt-* models run on Codex, gemini-* models on Antigravity, every other model on Claude Code." } model: { type: string, description: "Requested model; empty means the vendor's default. A session only switches between its own vendor's models." } - effort: { type: string, description: "Requested effort (low, medium, high, xhigh, max; Codex models take low to xhigh); empty means the vendor's default." } + effort: { type: string, description: "Requested effort (low, medium, high, xhigh, max; Codex models take low to xhigh; Gemini takes low, medium or high); empty means the vendor's default (medium for Gemini)." } vendor_session_id: { type: string, description: "Claude Code's session id, chosen by byre; or the Codex thread id or Antigravity conversation id, empty until the session first starts." } state: type: string diff --git a/docs/antigravity-protocol.md b/docs/antigravity-protocol.md index 3835b5a..d5d78dc 100644 --- a/docs/antigravity-protocol.md +++ b/docs/antigravity-protocol.md @@ -7,11 +7,12 @@ How `internal/antigravity` drives the Antigravity CLI, `agy` (`brew install --ca ``` agy --input-format stream-json --output-format stream-json \ --dangerously-skip-permissions --add-dir \ - [--model M] [--effort E] [--conversation ID] --print "" + [--model M] [--conversation ID] --print "" ``` - `--print ""` puts the CLI in print mode; with `--input-format stream-json` it reads one message per line from stdin and runs a turn for each, in one conversation, until stdin closes. A bare `-p` takes the next flag as its prompt, so the empty prompt is passed explicitly. - `--dangerously-skip-permissions` sets the permission mode to `always-proceed`; without it the mode is `request-review` and tool calls wait for approvals print mode can't give. +- Gemini model IDs include their reasoning level, such as `gemini-4-argon-high`. Pass the selected level in that ID, without a separate `--effort`; an unspecified level uses medium. - `--conversation ID` resumes a conversation with its history; the model comes from `--model`, not from the conversation. - Commands the agent runs (`run_command`) inherit the CLI's environment. @@ -48,7 +49,7 @@ Stdout, one JSON object per line, each `{"event": E, E: {...}}`: SIGINT ends the running turn: the CLI prints `error: interrupted` on stderr, sends a `result` with `status` `ERROR` and `error` `interrupted`, and exits. A tool step cut off this way gets no `DONE` update. Resume with `--conversation` after the old process exits to keep using the conversation. -There is no way to switch the model or effort of a running process. Close the idle process's stdin, wait for it to exit, and restart with the new `--model` and `--effort` and the same `--conversation`. +There is no way to switch the model or effort of a running process. Close the idle process's stdin, wait for it to exit, and restart with the new full `--model` ID and the same `--conversation`. ## Hooks diff --git a/internal/agents/kb/workflow-definitions.md b/internal/agents/kb/workflow-definitions.md index bd8270e..64a0d66 100644 --- a/internal/agents/kb/workflow-definitions.md +++ b/internal/agents/kb/workflow-definitions.md @@ -33,7 +33,7 @@ Where a stage's task branches from follows from the shape. A stage after exactly {"stage": "Build", "model": "claude-opus-5-5", "effort": "high", "prompt": "Implement the brief."}, {"parallel": [ {"stage": "Review", "model": "gpt-6.1-sol", "prompt": "Review the Build stage's work and list the problems."}, - {"stage": "Test", "model": "gemini-4-argon-high", "prompt": "Exercise the change and report what fails."}, + {"stage": "Test", "model": "gemini-4-argon", "effort": "high", "prompt": "Exercise the change and report what fails."}, {"random": [ {"weight": 0.8, "stage": "Security check", "model": "claude-sonnet-5-5", "prompt": "Check the change for security problems."}, {"weight": 0.2, "stage": "Security audit", "model": "claude-fable-5-1", "prompt": "Audit the change thoroughly for security problems, tracing every input it touches."} diff --git a/internal/agents/leadtools.go b/internal/agents/leadtools.go index 45945d3..14f109e 100644 --- a/internal/agents/leadtools.go +++ b/internal/agents/leadtools.go @@ -736,7 +736,7 @@ func (m *Manager) setStartedTodo(login string, started bool) { }) } -const effortProperty = `"effort": {"type": "string", "description": "The agent's effort, set together with model: low, medium, high, xhigh or max (Codex models take low to xhigh); empty means the vendor's default. Ignored without model."}` +const effortProperty = `"effort": {"type": "string", "description": "The agent's effort, set together with model: low, medium, high, xhigh or max (Codex models take low to xhigh; Gemini takes low, medium or high); empty means the vendor's default (medium for Gemini). Ignored without model."}` func (m *Manager) modelOr(model, effort string, l *live) (string, string) { if model != "" { diff --git a/internal/antigravity/session.go b/internal/antigravity/session.go index e35cf2a..9f3054e 100644 --- a/internal/antigravity/session.go +++ b/internal/antigravity/session.go @@ -296,10 +296,16 @@ func (s *Session) spawnLocked() error { "--add-dir", s.opts.Dir, } if s.model != "" { - args = append(args, "--model", s.model) - } - if s.effort != "" { - args = append(args, "--effort", s.effort) + effort := s.effort + if effort == "" { + effort = "medium" + } + switch effort { + case "low", "medium", "high": + default: + return fmt.Errorf("unsupported Gemini effort %q: choose low, medium or high", effort) + } + args = append(args, "--model", s.model+"-"+effort) } if id := s.ID(); id != "" { args = append(args, "--conversation", id) diff --git a/internal/api/api.gen.go b/internal/api/api.gen.go index 01c1c1e..afc3f72 100644 --- a/internal/api/api.gen.go +++ b/internal/api/api.gen.go @@ -669,7 +669,7 @@ type AgentSession struct { CreatedAt time.Time `json:"created_at"` CreatedBy string `json:"created_by"` - // Effort Requested effort (low, medium, high, xhigh, max; Codex models take low to xhigh); empty means the vendor's default. + // Effort Requested effort (low, medium, high, xhigh, max; Codex models take low to xhigh; Gemini takes low, medium or high); empty means the vendor's default (medium for Gemini). Effort string `json:"effort"` // ForkedAt With forked_from: the vendor's id of the last thing the fork keeps, a message for Claude Code, a turn for Codex. @@ -1824,7 +1824,7 @@ type WorkflowStep struct { // Agents Runs the stage as a team: several agents in the stage's one task and worktree, each on its own model, sharing a board. The first agent finishes the stage. Agents *[]TeamMember `json:"agents,omitempty"` - // Effort The stage agent's effort (low, medium, high, xhigh, max; Codex models take low to xhigh); empty means the vendor's default. Refused with agents. + // Effort The stage agent's effort (low, medium, high, xhigh, max; Codex models take low to xhigh; Gemini takes low, medium or high); empty means the vendor's default (medium for Gemini). Refused with agents. Effort string `json:"effort,omitempty"` // Model The stage agent's model, which also picks its vendor: gpt-* models run on Codex, gemini-* models on Antigravity, every other model on Claude Code. Required without agents, refused with them. @@ -4937,364 +4937,364 @@ var swaggerSpec = []string{ "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", - "2Y8f//8BAA==", + "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", } // decodeSpec returns the embedded OpenAPI spec as raw JSON bytes, diff --git a/internal/store/migrations/114-split-gemini-effort.sql b/internal/store/migrations/114-split-gemini-effort.sql new file mode 100644 index 0000000..71eff4c --- /dev/null +++ b/internal/store/migrations/114-split-gemini-effort.sql @@ -0,0 +1,12 @@ +UPDATE users SET default_effort = 'low', default_model = substr(default_model, 1, length(default_model) - 4) WHERE default_model GLOB 'gemini-*-low'; +UPDATE users SET default_effort = 'medium', default_model = substr(default_model, 1, length(default_model) - 7) WHERE default_model GLOB 'gemini-*-medium'; +UPDATE users SET default_effort = 'high', default_model = substr(default_model, 1, length(default_model) - 5) WHERE default_model GLOB 'gemini-*-high'; +UPDATE agent_sessions SET effort = 'low', model = substr(model, 1, length(model) - 4) WHERE model GLOB 'gemini-*-low'; +UPDATE agent_sessions SET effort = 'medium', model = substr(model, 1, length(model) - 7) WHERE model GLOB 'gemini-*-medium'; +UPDATE agent_sessions SET effort = 'high', model = substr(model, 1, length(model) - 5) WHERE model GLOB 'gemini-*-high'; +UPDATE workflow_steps SET effort = 'low', model = substr(model, 1, length(model) - 4) WHERE model GLOB 'gemini-*-low'; +UPDATE workflow_steps SET effort = 'medium', model = substr(model, 1, length(model) - 7) WHERE model GLOB 'gemini-*-medium'; +UPDATE workflow_steps SET effort = 'high', model = substr(model, 1, length(model) - 5) WHERE model GLOB 'gemini-*-high'; +UPDATE workflow_agents SET effort = 'low', model = substr(model, 1, length(model) - 4) WHERE model GLOB 'gemini-*-low'; +UPDATE workflow_agents SET effort = 'medium', model = substr(model, 1, length(model) - 7) WHERE model GLOB 'gemini-*-medium'; +UPDATE workflow_agents SET effort = 'high', model = substr(model, 1, length(model) - 5) WHERE model GLOB 'gemini-*-high'; diff --git a/mac/Sources/Byre/Composer.swift b/mac/Sources/Byre/Composer.swift index 3a5ff28..ec6a890 100644 --- a/mac/Sources/Byre/Composer.swift +++ b/mac/Sources/Byre/Composer.swift @@ -20,12 +20,8 @@ let models = [ "gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna", - "gemini-4-argon-high", - "gemini-4-argon-medium", - "gemini-4-argon-low", - "gemini-3.8-flash-high", - "gemini-3.8-flash-medium", - "gemini-3.8-flash-low", + "gemini-4-argon", + "gemini-3.8-flash", ] struct PendingImage: Identifiable { @@ -96,7 +92,11 @@ func vendorOf(_ model: String) -> Vendor { } func efforts(_ model: String) -> [String] { - vendorOf(model) == .codex ? ["", "low", "medium", "high", "xhigh"] : ["", "low", "medium", "high", "xhigh", "max"] + switch vendorOf(model) { + case .codex: ["", "low", "medium", "high", "xhigh"] + case .claude: ["", "low", "medium", "high", "xhigh", "max"] + case .antigravity: ["low", "medium", "high"] + } } func effortLabel(_ effort: String) -> String { @@ -104,7 +104,7 @@ func effortLabel(_ effort: String) -> String { } func effortFor(_ model: String, _ effort: String) -> String { - efforts(model).contains(effort) ? effort : "" + efforts(model).contains(effort) ? effort : (vendorOf(model) == .antigravity ? "medium" : "") } @MainActor diff --git a/mac/Sources/Byre/Settings.swift b/mac/Sources/Byre/Settings.swift index 284c366..f6505c0 100644 --- a/mac/Sources/Byre/Settings.swift +++ b/mac/Sources/Byre/Settings.swift @@ -48,7 +48,7 @@ struct SettingsView: View { DeviceNotifications() PrefsBox() heading("Default model") - Text("New tasks you start from byre run on this model, at this effort.") + Text("New tasks you start from byre use these settings.") .foregroundStyle(Palette.muted) .fixedSize(horizontal: false, vertical: true) HStack(spacing: 8) { diff --git a/mac/Sources/Byre/Store.swift b/mac/Sources/Byre/Store.swift index 762bd45..8b5d603 100644 --- a/mac/Sources/Byre/Store.swift +++ b/mac/Sources/Byre/Store.swift @@ -335,7 +335,7 @@ final class Store { } var defaultEffort: String { - me!.defaultEffort + effortFor(defaultModel, me!.defaultEffort) } func loadMe() async throws { diff --git a/mac/Sources/Byre/WorkflowEditor.swift b/mac/Sources/Byre/WorkflowEditor.swift index 21f336c..27ccdf0 100644 --- a/mac/Sources/Byre/WorkflowEditor.swift +++ b/mac/Sources/Byre/WorkflowEditor.swift @@ -52,9 +52,16 @@ final class StepNode: Identifiable { var step: WorkflowStep { let w = parent?.kind == .random ? weight : nil + let selectedEffort = effortFor(model, effort) + let selectedAgents = agents?.map { member in + var member = member + let effort = effortFor(member.model, member.effort ?? "") + member.effort = effort.isEmpty ? nil : effort + return member + } return switch kind { case .stage: - WorkflowStep(stage: name, model: agents == nil ? model : nil, effort: agents == nil && !effort.isEmpty ? effort : nil, prompt: prompt, weight: w, agents: agents) + WorkflowStep(stage: name, model: selectedAgents == nil ? model : nil, effort: selectedAgents == nil && !selectedEffort.isEmpty ? selectedEffort : nil, prompt: prompt, weight: w, agents: selectedAgents) case .order: WorkflowStep(order: children.map(\.step), weight: w) case .parallel: @@ -586,7 +593,7 @@ struct ModelPicker: View { let list = model.isEmpty || models.contains(model) ? models : [model] + models HStack(spacing: 6) { ChoiceMenu(value: $model, options: list.map { ($0, $0) }, placeholder: "model") - ChoiceMenu(value: $effort, options: efforts(model).map { ($0, effortLabel($0)) }) + ChoiceMenu(value: Binding(get: { effortFor(model, effort) }, set: { effort = $0 }), options: efforts(model).map { ($0, effortLabel($0)) }) } .onChange(of: model) { effort = effortFor(model, effort)