Repository navigation
antigravity-plugin 1.3.0
antigravity-plugin 1.3.0
Highlights
- Structured headless denial reporting from agy 1.1.27
denied_actions, with a computed remedy on--json,status, andresult. --effort <low|medium|high>ontaskandrescue, forwarded to agy as--effort <value>with no plugin default.- Every print-mode
agyrun forwards--print-timeoutfrom the job budget plus 60 seconds, and forwards--disable-slash-commands. - The CI matrix now includes
macos-latestwith Node 22.3.x and Node 24. - Job state is keyed by the workspace realpath. An older logical-path leaf stays readable until the realpath leaf exists.
Changes
Added
- Structured denial reporting. Since agy 1.1.27, a headless run's
denied_actionsJSON list is parsed. The plugin validates each member, drops exact repeats, and caps the list at 32 members and 200 characters per string. It merges that list with the existing stderr sentinel. The JSON list wins when it is present. Older agy without the field still gets one denial from the stderr sentinel. Each member gets a computed remedy:--add-dir <dir>for read-type actions,--mode accept-editsfor edit-type actions, orHeadless runs cannot grant "<action>"; the host must run this step itself.for every other action.--jsonsetsdetails.deniedActionson a completed foreground envelope and onresult <id> --json.--jsonsetsdetails.job.deniedActionsonstatus <id> --json. Job lists carrydeniedActionsCount. Markdownstatus <id>andresultadd a## Denied Actionssection. Thestatustables add aDeniedcolumn. A live 1.1.27 denial ofread_url(displayNameReadUrlContent) printedHeadless runs cannot grant "read_url"; the host must run this step itself.A failed foreground--jsonrun still writes no stdout envelope. The fail-vs-warn decision and every exit code stay unchanged. --effort <low|medium|high>ontaskandrescue. Both verbs accept--effort. They forward it to agy as--effort <value>. This applies in the foreground and in the background. The flag sits right after--model, or in its place when there is no model. The plugin has no default. When the flag is absent, nothing is forwarded. Live 1.1.27 runs with--effort lowand--effort highcompleted. The plugin does not probe what agy does with the value beyond forwarding it.
Changed
- CI matrix.
macos-latestjoinsubuntu-latestandwindows-latest. The test matrix uses Node 22.3.x and Node 24. The lint gate still runs on the Node 24 jobs only. It now runs on all three operating systems. Release-tree CI run 34289858536 on commit4f9b317was green on all six cells.
Fixed
- Long runs no longer end at agy's 5-minute default. Every print-mode
agyinvocation (review,rescue,task,vision; foreground, background, plain,--continue, and--conversation) now forwards--print-timeoutas the plugin execution budget plus 60 seconds of headroom (1860sfor the 30-minute default). The plugin deadline fires first. agy's default--print-timeout 5m0sno longer ends the run early withstatus: ERROR/"timeout waiting for response". A0budget forwards a fixed24hceiling. agy treats a literal0as an immediate timeout. - Vision allowlist on macOS. The vision MCP server refused every image on macOS.
os.tmpdir()sits under/var, a symlink to/private/var, so the resolved path never matched the request's own logical spelling.visionnow records the allowlist in its resolved (realpath) form. The server accepts a request whose own realpath is itself an authorized entry. The requested file's own final component being a symlink is still refused. The identity checks made while reading an image are unchanged. - Workspace-root canonicalization. The job state directory is keyed off the realpath of the workspace root. A caller that holds a logical, symlinked spelling of the same directory (macOS
os.tmpdir()) and a background worker whoseprocess.cwd()is already the physical path therefore use the same leaf. An existing install's jobs, stored under the pre-085 logical-path leaf, stay reachable until that leaf is moved. A realpath leaf is preferred once it exists. The logical leaf is still read until then. A background job's worker receives the parent's exact workspace spelling. A job started through a logical spelling stays under the leaf it was created in.
Security
- Slash expansion disabled. Every print-mode
agyinvocation now forwards--disable-slash-commands. Prompt text that starts with/, including untrusted diff, review, rescue, or task content, reaches the model as plain text. It is not parsed as an agy slash command or skill. A live 1.1.27taskwhose prompt began with/modelcompleted with answerOK.
Compatibility
- Live coverage was measured on agy 1.1.27 on 2026-09-09 from commit
4f9b317. Transcripts:t5-live-*.txt.setupwas not run live.review --jsonreturnedno_changes. - Node.js
>=22.3.0. CI cells use Node 22.3.x and Node 24. - CI run 34289858536 covered Linux (
ubuntu-latest/ubuntu-24.04), Windows (windows-latest/windows-2025-vs2026), and macOS (macos-latest/macos-26-arm64). - Job state leaf: sanitized workspace basename plus a 12-character hash of the resolved (realpath) path. An older logical-path leaf stays in use until the realpath leaf exists. A background worker receives the caller's exact workspace spelling. A caller that switches spelling while only the older leaf exists starts a new leaf.
- Older live coverage remains: agy 1.1.15 and 1.1.17 (all eight verbs, 2026-08-21); agy 1.1.24 (
rescue,task,vision,result, 2026-09-02).
Upgrade notes
Commands below match docs/INSTALL.md.
Claude Code
claude plugin marketplace add SouthCarpet/antigravity-plugin
claude plugin install antigravity@antigravityThen /antigravity:setup if this host is new.
Codex CLI
If the antigravity marketplace is a local clone, pull that clone first. plugin add installs the version the clone holds.
codex plugin marketplace add <path-to-clone>
codex plugin add antigravity@antigravityagy
A plain reinstall merges into ~/.gemini/config/plugins/antigravity/ instead of replacing it.
agy plugin uninstall antigravity
agy plugin install <path-to-clean-clone>Standalone
npx @southcarpet/antigravity-plugin setup
npx @southcarpet/antigravity-plugin reviewAn unversioned npx @southcarpet/antigravity-plugin <command> resolves the latest published version.
Verification
Commit 4f9b317. CI run 34289858536 (created 2026-09-08 23:16:08), success. CodeQL run 34289858532, success.
| Cell | Runner image | Conclusion | Tests | Pass | Fail | Skipped |
|---|---|---|---|---|---|---|
| Node 22.3.x / macos-latest | macos-26-arm64 | success | 886 | 873 | 0 | 13 |
| Node 22.3.x / windows-latest | windows-2025-vs2026 | success | 886 | 881 | 0 | 5 |
| Node 24 / windows-latest | windows-2025-vs2026 | success | 886 | 881 | 0 | 5 |
| Node 24 / macos-latest | macos-26-arm64 | success | 886 | 873 | 0 | 13 |
| Node 22.3.x / ubuntu-latest | ubuntu-24.04 | success | 886 | 873 | 0 | 13 |
| Node 24 / ubuntu-latest | ubuntu-24.04 | success | 886 | 873 | 0 | 13 |