chore(cli-version): verify agy against 1.1.24 - #964
Merged
Conversation
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/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves
VERIFIED_AGY_VERSIONfrom 1.1.23 to 1.1.24.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
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 modelshanging on an inherited unclosed stdin, whichmodels.rs:88-92already 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 filewrite_mcp_configproduces is one agy never reads),/mcppanel arrow keys, duplicate/agentsentries, orphaned annotation files, and/btwunder an active/goal— all interactive TUI or agy-side storage.What is NOT claimed
A version-to-version
--helpdiff 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 flagsbuild_argvemits 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.