Skip to content

fix(antigravity): restore Gemini's background-job waiting under a tool allowlist - #216

Draft
bai-uipath wants to merge 5 commits into
mainfrom
bai/antigravity-schedule-tool
Draft

bai-uipath wants to merge 5 commits into
mainfrom
bai/antigravity-schedule-tool

Conversation

@bai-uipath

@bai-uipath bai-uipath commented Oct 3, 2026 •

Copy link
Copy Markdown
Collaborator

Motivation

Changes

  • Keep schedule (Gemini's wait timer) on under any allowlist, like finish.
  • Keep an allowlist inside the harness default toolset, so Glob / Grep / LS do not turn on tools 0.12.9 never had.
  • Bound the background poll by the turn deadline alone when a timeout is set, as 0.12.9 did.
  • Keep start_subagent on so the system prompt matches 0.12.9, and deny invoke_subagent by policy when Task is not allowed.

How fixed

Issue Fixed (0-10)
schedule dropped, Gemini re-checks every few seconds 9
Harness-off search tools turned on by Glob / Grep 10
10-minute poll cap cutting long solves 10
System prompt differs from 0.12.9 10
Web reachable through subagents 10
Extra status polling on long-compute jobs (WIP, now as rare as on 0.12.9) 7
Pass rate parity with 0.12.9 8
Harness waits on an already-finished command until the poll deadline (also on 0.12.9, WIP) 0

Validation

Run (87 SkillsBench tasks x 4 arms, gemini-3.5-flash) Passes Cost
0.12.9 (evalboard) 166/348 (47.7%) $226.80
This PR (evalboard) 162/348 (46.6%) $218.31
  • No task is broken across arms. Rows lost to turn or time limits: 4 each way vs 0.12.9. Lost/gained rows: 27/23 (p=0.67).
  • pytest tests/test_antigravity_agent.py: 116 passed. ruff, pyright, custom lint and docs budget pass.

🤖 Generated with Claude Code

The allowlist from #215 maps Claude tool names onto Antigravity builtins, so
`schedule` (no Claude equivalent) was always dropped. Gemini uses it to sleep
while a backgrounded run_command finishes; without it, it re-checks the task
every few seconds and each check counts against max_turns.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bai-uipath
bai-uipath marked this pull request as ready for review October 3, 2026 16:23
@UiPath UiPath deleted a comment from github-actions Bot Oct 3, 2026
@bai-uipath
bai-uipath marked this pull request as draft October 3, 2026 16:33
bai-uipath and others added 4 commits October 3, 2026 09:38
…olset

The allowlist mapped Glob/Grep/LS onto find_file/search_directory/
list_directory, which the harness ships off (BuiltinTools.deprecated()).
Turning them on changed how Gemini works: on SkillsBench it made 1,429
Glob/Grep calls in 333 of 348 rows where 0.12.9 made none, often one
search per turn in place of a script.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n a timeout is set

The 120-cycle (10 minute) cap applied alongside the 80%-of-turn_timeout
deadline, so a slow solver or simulation was force-closed at 10 minutes
even with turn budget left. On the SkillsBench Gemini 4-arm campaign it
ended 22 of 348 rows; 4 had passed on 0.12.9 with the deadline alone,
e.g. an exam-scheduling MIP solve that finished at 1211s. The cap is
again the bound only when a task sets no timeout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…by policy

The harness builds its system prompt from the toolset. With start_subagent
off it drops the whole subagents section, which carries the prompt's only
"you do NOT need to poll, you will be notified" guidance. Under an allowlist
without Task, Gemini then polls backgrounded commands with status checks and
short liveness timers: 1% of rows on 0.12.9 vs 8-10% after #215, and
max-turn rows 2 vs 12 of 148 on the SkillsBench Gemini rerun.

start_subagent now stays on, so the prompt matches the harness default, and
when the tool lists do not allow Task the call that runs a subagent
(invoke_subagent) is denied by policy. That covers the built-in research
subagent and model-defined ones, which both get search_web regardless of the
parent's toolset.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… not fix

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bai-uipath bai-uipath changed the title fix(antigravity): keep schedule enabled under a tool allowlist fix(antigravity): restore Gemini's background-job waiting under a tool allowlist Oct 4, 2026

This branch has not been deployed

No deployments
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.

2 participants