From 18defbdbb186405a31471d5a8b895ab68d82d0e5 Mon Sep 17 00:00:00 2001 From: zk <> Date: Wed, 2 Sep 2026 02:31:09 +0800 Subject: [PATCH] chore(cli-version): verify agy against 1.1.23 Gate B: 7/7, 139.53s, against a manifest download whose sha512 was checked before it ran. The suite log reports only version=1.1.23. Gate C: CLEAR, read from the candidate binary's own `agy changelog`. Both sources were checked and they have swapped again -- the binary covers 1.1.23 while the web page still stops at 1.1.22. Six days ago it was the other way round, which is why both are now checked every run. One item lands on a frame we parse: "Reduced subagent streaming overhead by sending subagent trajectory metadata once per subtrajectory instead of with every step." translate.rs:264 reads `subagent_info` on the ACTIVE frame to name the tool card; `unwrap_or_default()` means a regression here would be quiet rather than loud. Gate B cannot resolve it -- no agy test dispatches a subagent -- so it was probed: the dispatch step still carries the list on both frames. idx=2 state=ACTIVE subagent_info=YES agents=1 idx=2 state=DONE subagent_info=YES agents=1 The change is to trajectory metadata inside the subagent's own stream, not to the field we consume. The probe binary was byte-identical before and after (mtime 07:55:50, size 180065392, ver 1.1.23), so the attribution holds. Separately worth recording: 1.1.23 fixes `agy models` hanging on an inherited, unclosed stdin -- the exact defect probe_models works around by dropping the stdin handle (models.rs:88-92, measured against 1.1.9). Our workaround is now belt-and-braces; it is harmless on older installs so nothing is changed here. Record: ~/aion/protocols/samples/antigravity-cli/1.1.23/ --- crates/aionui-session/src/backend/cli_version.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/aionui-session/src/backend/cli_version.rs b/crates/aionui-session/src/backend/cli_version.rs index af057e7af..9305a1de7 100644 --- a/crates/aionui-session/src/backend/cli_version.rs +++ b/crates/aionui-session/src/backend/cli_version.rs @@ -38,7 +38,7 @@ use crate::event::{LocalizedText, NoticeLevel}; /// 0.147.0 and leaves it unverified rather than a floor anyone can install into. pub const VERIFIED_CLAUDE_VERSION: &str = "2.1.236"; pub const VERIFIED_CODEX_VERSION: &str = "0.151.0"; -pub const VERIFIED_AGY_VERSION: &str = "1.1.22"; +pub const VERIFIED_AGY_VERSION: &str = "1.1.23"; /// The verified release for a direct-CLI backend, keyed by the program name the /// backend spawns. `None` for anything not version-gated here. @@ -475,13 +475,13 @@ mod tests { // The literal the other two CLIs already pin, which agy was missing: a // user on exactly the verified release is told nothing, and a bump that // lands without re-verifying against that exact binary breaks here. - assert_eq!(classify("1.1.22", VERIFIED_AGY_VERSION), VersionVerdict::Verified); - assert!(drift_notice("agy", "1.1.22", VERIFIED_AGY_VERSION).is_none()); + assert_eq!(classify("1.1.23", VERIFIED_AGY_VERSION), VersionVerdict::Verified); + assert!(drift_notice("agy", "1.1.23", VERIFIED_AGY_VERSION).is_none()); // agy prints a bare version, so the older/newer paths are worth pinning // on that exact shape rather than only on a decorated one. - assert_eq!(classify("1.1.21", VERIFIED_AGY_VERSION), VersionVerdict::Older); - assert_eq!(classify("1.1.23", VERIFIED_AGY_VERSION), VersionVerdict::Newer); + assert_eq!(classify("1.1.22", VERIFIED_AGY_VERSION), VersionVerdict::Older); + assert_eq!(classify("1.1.24", VERIFIED_AGY_VERSION), VersionVerdict::Newer); } /// Both drift directions are `Info` — the tier the frontend draws as a quiet