Skip to content

feat(antigravity): support supervised worker model and effort choices - #21672

Merged
nwparker merged 2 commits into
nwparker/agy-windows-hook-verificationfrom
nwparker/agy-worker-models
Sep 21, 2026
Merged

nwparker merged 2 commits into
nwparker/agy-windows-hook-verificationfrom
nwparker/agy-worker-models

Conversation

@nwparker

@nwparker nwparker commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 6 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​229 0 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​229
Prod 20 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​220 $\color{#cf222e}{\Huge{\mathbf{−}}}$​42 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​178

ELI5

You can now choose an Antigravity worker's model and effort instead of accepting its configured defaults. Orca rejects combinations that agy rejects, such as a Low model with High effort.

What Changed

worker-start --agent antigravity (or agy) previously rejected every --model selection. A shared launch catalog now emits agy's --model/--effort flags and supplies model-specific options to worker validation, command construction and discovered native-chat model metadata. Model-only selections preserve the exact selector and do not invent an effort. No model is seeded as the account default.

Explicit worker preferences replace conflicting model/effort flags in general agent arguments. Conflicting flags embedded in a custom launcher are refused. Mid-session model switching is not enabled.

Why

The existing catalog and launcher already handle quoting, argument precedence and host routing. Extending them keeps validation and emitted arguments together. A generic effort menu would be wrong: agy 1.2.7 rejects conflicting effort-specific IDs, medium effort for Gemini 3.1 Pro, and effort with legacy display-name selectors. Unknown families remain model-only until their effort support is known.

Linked Issue

Refs #14952; custom/vendor registration remains open. Stacked on #21666. Details and verified selection matrix: docs/reference/antigravity-worker-model-selection.md.

Visual Proof

Before: sanitized report of the actual old-runtime refusal (Low model/Low effort example).

Before: model options refused

After: cropped actual agy footer inside the hidden Orca app after a worker requested gemini-3.7-flash with High effort. Only the model footer is shown; the orchestration preamble is private.

After: actual agy High selection

Native-chat menu (UI metadata fixture, real model discovery; all choices disabled for a running session):

Launch-only model menu

Testing

  • I manually tested these changes locally
  • Automated tests added/updated

Installed agy 1.2.7, macOS, isolated folder workspace, rebuilt hidden app. Worker returned ready / input_accepted with requested/effective model gemini-3.7-flash and effort high; agy's rendered footer showed High. Its terminal contained the task marker. A conflicting Low/High worker request returned invalid_argument. The worker was stopped and released; no reclaimable test worker remains.

77 focused tests passed across catalog, launch precedence, worker validation, structured options and host-scoped discovery; 18 relevant tests reran after the final compatibility correction. Full typecheck, Electron/Vite build and changed-code quality pass. Direct agy checks also verified the family/effort rules documented in the reference.

Generation still failed with 401 ACCESS_TOKEN_TYPE_UNSUPPORTED. Receipts describe launch selections, not successful model requests; no successful generation, live hooks or accepted worker_done claim. Native Windows/Linux, WSL, SSH and paired-host execution were not live-tested. Rendered native-chat verification used a temporary metadata fixture and an existing test transcript with real agy model discovery: the menu showed all 11 models, all disabled with “Set when the session starts,” and no invented current selection. This verifies the live-session menu, not hook delivery or an interactive launch picker. The fixture tab was closed and experimental setting restored.

Review

No new RPC fields. Older hosts without this catalog refuse Antigravity worker model options. Model availability is still account/host dependent; this validates option combinations, not whether an opaque ID is available. Existing catalogs retain their previous fallback behavior.

Agent skill upstream boundary

  • Not applicable; no upstream skill content copied.

Checklist

  • Change is scoped to Antigravity launch selections and shared option resolution
  • Explained behavior, mechanism and approach
  • Before/after evidence attached
  • Self-reviewed for correctness, security and performance
  • Cross-platform and remote impact considered
  • Focused tests, full typecheck, build and changed-code quality checked; CI covers remaining gates

@nwparker

Copy link
Copy Markdown
Contributor Author

Authenticated follow-up, 2026-09-20: the real agy worker now completes successfully.

Using a CLI freshly compiled from a182628cd40 against the isolated Orca app (main build through #21678), I started --agent agy --model gemini-3.7-flash --effort high in the disposable folder workspace. The runtime reported canonical antigravity, the requested model and High effort, and ready / input_accepted. The worker returned ORCA_AUTHENTICATED_WORKER_OK and sent its supplied worker_done; the host accepted settlement, marked the task completed and the worker succeeded, with failure count zero.

ELI5: Orca did not merely open an agy terminal—it delivered the task, the authenticated model answered, and Orca accepted the worker's completion.

Actual completed agy worker reply

The system-installed Orca CLI predates the alias change and refused agy; the successful test used this branch's freshly compiled CLI without replacing the installed CLI. This is macOS folder-workspace evidence. Windows branch verification remains in progress; API-key generation on Windows already succeeds after loading the current system environment value into the test process. Neither result proves Google OAuth quota or multi-account switching.

@nwparker

Copy link
Copy Markdown
Contributor Author

Independent verification update:

  • Installed agy 1.2.7 returned the exact sentinel AGY_MODEL_SELECTION_LIVE_OK.
  • Worker model/effort/catalog/native-chat suites: 72 passed.
  • pnpm tc:node and pnpm tc:web passed.
  • Changed-code quality passed with 0 new findings.
  • CI run 35443666733 passed typecheck, static analysis, all 8 test shards, verify, native smoke checks, and both packages.

Scoped verdict: Approve after stack order, for Antigravity launch-time model/effort validation. This does not claim successful model generation or live Windows/Linux/WSL/SSH selection.

@nwparker

Copy link
Copy Markdown
Contributor Author

Independent verification (2026-09-20):

  • Worker model/effort, native Chat option, alias, and launch suites: 96/96 passed.
  • pnpm tc:node, pnpm tc:web, and pnpm tc:cli passed.
  • pnpm run check:code-quality:changed origin/main passed with 0 new findings across 152 changed files.
  • Full CI 35443666733 is green, including Windows/Linux packages and all test shards; native smoke 35443666561 and verify 35443666518 passed.

Verdict: approve after stack order for launch-time model/effort selection and capability plumbing. This does not independently prove a successful generated worker turn for every model/effort or remote-platform selection. No merge performed.

* fix(antigravity): use configured executable for quota refresh

* fix(antigravity): keep custom CLI quota controls visible
@nwparker
nwparker marked this pull request as ready for review September 21, 2026 03:58
@pullfrog

pullfrog Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor
  • Checkout PR and read full diff
  • Read summary snapshot and targeted learnings
  • Triage and investigate related code
  • Dispatch specialists for unresolved questions
  • Aggregate findings and draft review
  • Submit review and update summary

Pullfrog  | View workflow run | via Pullfrog | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

@nwparker
nwparker merged commit 768907e into nwparker/agy-windows-hook-verification Sep 21, 2026
65 of 66 checks passed
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