From 9baa35f45dadbb250646745f4732a2d80074bd60 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 10 Nov 2026 07:40:44 +0000 Subject: [PATCH] Expect the unchecked advisory in vlt migration 8 Nightly CI on main has failed every mode_migration_vlt leg (ubuntu x3, macOS, Windows x2) since #2021. That PR made the vlt warm-tree heal judge a store entry by vlt's hidden lock alone: without one, the copy is kept and reported as unchecked ("could not check N installed copies ... run `vlt ci`"). It updated the rule (c) e2e in e2e_redirect_vlt_build.rs but missed its twin here, migration test 8, which removes the hidden lock and still expected the "nothing stale" advisory. These legs run only at night, so PR and merge-queue CI never saw it. Expect advisory_undeterminable(ids.len()), as the rule (c) test does. The store copies are still kept and the tree stays patched. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_011f9aeQSeGNDaC689NLWPom --- crates/socket-patch-cli/tests/mode_migration_vlt.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/crates/socket-patch-cli/tests/mode_migration_vlt.rs b/crates/socket-patch-cli/tests/mode_migration_vlt.rs index f954bce0f..4f74c6086 100644 --- a/crates/socket-patch-cli/tests/mode_migration_vlt.rs +++ b/crates/socket-patch-cli/tests/mode_migration_vlt.rs @@ -570,8 +570,10 @@ async fn vlt_pinned_matrix_migration_agent_apply_after_hosted() { fx.leg.ran(); } -/// 8: a hosted scan over an agent-patched warm tree keeps the tree (heal -/// rule (c) sees the afterHash pass): nothing is invalidated. +/// 8: a hosted scan over an agent-patched warm tree with no hidden lock +/// keeps the tree. Hosted scans fetch no patch record, so nothing proves +/// which bytes the store copy holds: heal rule (c) reports it as +/// unchecked and asks for `vlt ci`, and nothing is invalidated. #[tokio::test(flavor = "multi_thread")] #[ignore = "real vlt: SOCKET_PATCH_VLT_E2E_JS"] async fn vlt_pinned_matrix_migration_hosted_scan_keeps_agent_patched_tree() { @@ -586,7 +588,7 @@ async fn vlt_pinned_matrix_migration_hosted_scan_keeps_agent_patched_tree() { let _ = std::fs::remove_file(fx.proj.join(HIDDEN_LOCK)); let ids = fx.store_ids(fx.t()); let doc = fx.scan(&[]); - fx.assert_advisory(&doc, &advisory_nothing_stale()); + fx.assert_advisory(&doc, &advisory_undeterminable(ids.len())); for id in &ids { assert!(store_entry(&fx.proj, id).exists(), "{id} kept"); }