Skip to content

chore(cli-version): verify agy against 1.2.0 - #986

Merged
kaizhou-lab merged 1 commit into
mainfrom
chore/bump-agy-120
Sep 10, 2026
Merged

chore(cli-version): verify agy against 1.2.0#986
kaizhou-lab merged 1 commit into
mainfrom
chore/bump-agy-120

Conversation

@kaizhou-lab

Copy link
Copy Markdown
Contributor

Moves VERIFIED_AGY_VERSION from 1.1.28 to 1.2.0 — the first non-patch agy bump in this series.

Gate Result
A — contract DEGRADED — agy publishes no protocol schema; gate B carries the weight
B — live e2e PASS 7/7, 141.76s
C — release notes CLEAR

The minor version moves nothing we drive

Checked first, because that is what a minor bump warrants. --help and models --help are byte-identical 1.1.28 → 1.2.0, diffed against the captures stored with the previous record rather than by re-running the old binary (which would have self-updated it away). All nine flags build_argv emits are present.

Gate B ran against a manifest download whose sha512 was checked before it executed; the log reports only version=1.2.0, and the binary was byte-identical before and after (mtime=06:30:29 size=178935744). The machine's own agy stayed on 1.1.18.

Everything on our surface is a fix

  • Content-safety-filtered prompts no longer fail with a spurious "no candidate found", end silently with an empty turn, or retry the rejected input — the CLI now surfaces a content-filter stop reason. "Ending silently with an empty turn" is the exact failure shape these gates keep turning up, so this removes a real class of it.
  • Older conversations no longer fail to resume with unknown step type. We resume through --conversation, so this is directly our path.
  • Third-party MCP tools whose input schemas omit additionalProperties no longer fail validation. Gate B drives an MCP tool call and it passed.
  • The per-message filesystem customization discovery walk is gone — latency on our path.

The new stop reason is the only addition to the wire, and it cannot break us: wire.rs is tolerant by construction (its own header says so), the state enum carries #[serde(other)] Unknown, and we do not consume a stop-reason field at all — grepped, no stop_reason / finish_reason anywhere under backend/antigravity/.

Not our surface

remote-control start/status/stop as an OS-registered service, half-page scrolling and navigation.half_page_* keybindings, scratch/ files churning the artifact panel, plugin-bundled MCP initialisation, and the ERROR: logging before google.Init prefix in cli.log.

A grep trap worth knowing for this page

The web changelog interleaves Antigravity Hub releases (2.x, and 1.2x.y such as 1.21.6, 1.22.2) with CLI releases, so a bare 1\.[0-9]+\.[0-9]+ matches Hub entries and produced a nonsense "latest CLI" list on the first attempt. Anchor on the CLI-section link instead:

grep -oE 'View release [0-9]+\.[0-9]+\.[0-9]+' <page> | sed 's/View release //' | sort -u -V

Both sources carry 1.2.0 and agree.

Tests

The pinned older/newer pair moves to 1.1.29 / 1.2.1 rather than 1.1.27 / 1.1.29. That is deliberate: 1.1.29 vs 1.2.0 is exactly where a lexical compare gets the answer backwards, so the assertion now guards the component-wise comparison at the boundary that just became reachable. cargo test -p aionui-session --lib cli_version: 14/14. Clippy clean, fmt clean.

Record: ~/aion/protocols/samples/antigravity-cli/1.2.0/

Constants and record only — no source change.

First non-patch agy bump in this series, so the flag surface was checked before
anything else: --help and models --help are byte-identical 1.1.28 -> 1.2.0,
diffed against the captures stored with the previous record, and all nine flags
build_argv emits are present. A minor version number that moves nothing we drive
is the best shape this hop could have.

Gate B: 7/7, 141.76s, against a manifest download whose sha512 was checked
before it ran. The log reports only version=1.2.0, and the binary was
byte-identical before and after (mtime 06:30:29, size 178935744).

Gate C: CLEAR. Both sources cover 1.2.0 and agree. Everything on our surface is
a fix:

  - content-safety-filtered prompts no longer fail with a spurious "no candidate
    found", end silently with an empty turn, or retry the rejected input; the
    CLI now surfaces a content-filter stop reason
  - older conversations no longer fail to resume with `unknown step type`
  - third-party MCP tools whose schemas omit additionalProperties no longer fail
    validation
  - the per-message filesystem customization walk is gone

The new stop reason is the only thing added to the wire and it cannot break us:
wire.rs is tolerant by construction, the state enum carries #[serde(other)]
Unknown, and we do not consume a stop-reason field at all (grepped: no
stop_reason / finish_reason anywhere under backend/antigravity/).

The pinned older/newer pair moves to 1.1.29 / 1.2.1 rather than 1.1.27 / 1.1.29.
That is deliberate: 1.1.29 vs 1.2.0 is exactly where a lexical compare gets the
answer backwards, so the assertion now guards the component-wise comparison at
the boundary that just became reachable.

Record: ~/aion/protocols/samples/antigravity-cli/1.2.0/
@kaizhou-lab
kaizhou-lab enabled auto-merge (squash) September 10, 2026 18:10
@kaizhou-lab
kaizhou-lab merged commit f11be91 into main Sep 10, 2026
6 checks passed
@kaizhou-lab
kaizhou-lab deleted the chore/bump-agy-120 branch September 10, 2026 18:30
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