Skip to content

chore(cli-version): verify agy against 1.1.24 - #964

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

chore(cli-version): verify agy against 1.1.24#964
kaizhou-lab merged 1 commit into
mainfrom
chore/bump-agy-0124

Conversation

@kaizhou-lab

Copy link
Copy Markdown
Contributor

Moves VERIFIED_AGY_VERSION from 1.1.23 to 1.1.24.

Gate Result
A — contract DEGRADED — agy publishes no protocol schema; gate B carries the weight
B — live e2e PASS 7/7, 148.71s
C — release notes CLEAR — every entry is a fix, none changes a contract

Gate B ran against a manifest download whose sha512 was checked before it executed. The log reports only version=1.1.24, and the binary was byte-identical before and after (mtime=08:58:30 size=180362000) — that check exists because an earlier agy A/B had to be retracted when a copy self-updated mid-probe. The machine's own agy stayed on 1.1.18.

One entry lands on our run shape

"Fixed headless CLI invocations with piped standard output or standard error hanging on exit by setting FD_CLOEXEC on the preserved streams so child processes do not keep the caller's pipes open."

That is exactly how we invoke agy: print mode, --output-format stream-json, stdout piped and read to EOF. A tool that spawned a child holding the inherited pipe could keep the stream from ever closing.

It is the third fd-inheritance hang agy has fixed in two releases — 1.1.23 fixed agy models hanging on an inherited unclosed stdin, which models.rs:88-92 already works around by dropping the handle. The pattern is worth more than any single instance: agy has repeatedly shipped fd bugs around headless invocation, which is the only way we invoke it.

Nothing to opt into and no frame changes, so not a REVIEW item — it simply removes a class of stall we could not have told apart from a slow model.

Not our surface

MCP config parsing of comments and trailing commas (agy reads its own mcp_config.json; the file write_mcp_config produces is one agy never reads), /mcp panel arrow keys, duplicate /agents entries, orphaned annotation files, and /btw under an active /goal — all interactive TUI or agy-side storage.

What is NOT claimed

A version-to-version --help diff was not possible: no 1.1.23 capture survived, and re-running that binary to produce one would have self-updated it to 1.1.24 and destroyed the only 1.1.23 copy. Verified instead: all nine flags build_argv emits are present in 1.1.24's --help, and the changelog names no flag removal or rename. "Nothing else changed" is not asserted.

Both help outputs are now stored in the record (help.txt, help-models.txt) so the next run can diff against files rather than against a binary it would have to destroy.

Tests

Pinned assertions moved with the constant, including the literal verified-release case. cargo test -p aionui-session --lib cli_version: 14/14. Clippy clean, fmt clean.

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

Constants and record only — no source change.

Gate B: 7/7, 148.71s, against a manifest download whose sha512 was checked
before it ran. The suite log reports only version=1.1.24, and the binary was
byte-identical before and after (mtime 08:58:30, size 180362000).

Gate C: CLEAR, read from the candidate binary's own `agy changelog`. Both
sources were checked; the web page is one release behind again at 1.1.23.

Every 1.1.24 entry is a fix and none changes a contract. One lands on our run
shape and is worth naming:

  "Fixed headless CLI invocations with piped standard output or standard error
   hanging on exit by setting FD_CLOEXEC on the preserved streams so child
   processes do not keep the caller's pipes open."

We run print mode with --output-format stream-json and read stdout to EOF, so a
tool spawning a child that held the inherited pipe could keep the stream from
closing. This is the third fd-inheritance hang agy has fixed in two releases --
1.1.23 fixed `agy models` hanging on inherited stdin, which models.rs:88-92
already works around. Nothing to opt into; it removes a class of stall we could
not have told apart from a slow model.

A version-to-version --help diff was NOT possible and is not claimed: no 1.1.23
capture survived, and re-running that binary to make one would have self-updated
it away. What is verified is that all nine flags build_argv emits are present in
1.1.24. Both help outputs are now stored in the record so the next run can diff
against files instead of binaries.

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