diff --git a/crates/aionui-session/src/backend/cli_version.rs b/crates/aionui-session/src/backend/cli_version.rs index d2ef2dad2..728b0a388 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.28"; +pub const VERIFIED_AGY_VERSION: &str = "1.2.0"; /// 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,15 @@ 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.28", VERIFIED_AGY_VERSION), VersionVerdict::Verified); - assert!(drift_notice("agy", "1.1.28", VERIFIED_AGY_VERSION).is_none()); + assert_eq!(classify("1.2.0", VERIFIED_AGY_VERSION), VersionVerdict::Verified); + assert!(drift_notice("agy", "1.2.0", 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.27", VERIFIED_AGY_VERSION), VersionVerdict::Older); - assert_eq!(classify("1.1.29", VERIFIED_AGY_VERSION), VersionVerdict::Newer); + // 1.1.29 is OLDER than 1.2.0: the minor component decides, and a + // lexical compare would get this backwards ("1.1.29" > "1.2.0"). + assert_eq!(classify("1.1.29", VERIFIED_AGY_VERSION), VersionVerdict::Older); + assert_eq!(classify("1.2.1", VERIFIED_AGY_VERSION), VersionVerdict::Newer); } /// Both drift directions are `Info` — the tier the frontend draws as a quiet