Repository navigation
Fix nightly vlt migration e2e after #2021's heal change - #2050
Conversation
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) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011f9aeQSeGNDaC689NLWPom
|
bugbot run Generated by Claude Code |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 9baa35f. Configure here.
|
Labeled Ready for review by the burn-down agent.
Generated by Claude Code |
Final review briefWhat it does: Test-only fix. #2021 made the vlt heal treat a store copy with no hidden lock ( Risk: Low. One assertion and a doc comment in an Look here:
Verified: I read the full diff (1 file, +5/−3) and checked that the helper is in scope through Changes I made: none. Open questions: none. This pairs with #2049; both are needed to turn nightly Auto-merge (squash) is armed, so approving sends this straight to the merge queue. Generated by Claude Code |
Problem
Scheduled
CIon main (42763778797, main @ c751724) fails everymode_migration_vltleg:e2e-extendedon ubuntu: vlt 0.0.0-32, 1.0.0-rc.14 and 1.2.0e2e-macos: vlt 1.2.0e2e-windows: vlt 1.0.0-rc.14 and 1.2.0That's 6 of the 8 failing jobs in the run. The other two are
test (windows-latest, *), which #2049 fixes. The same legs also failed in #2049's Windows dispatch 42772455462. These legs run only at night, so PR and merge-queue CI never catch the failure. Nightlyci-okstays red until it's fixed.Every leg fails the same assertion in
vlt_pinned_matrix_migration_hosted_scan_keeps_agent_patched_tree(migration test 8):Root cause
#2021 changed how the vlt warm-tree heal judges a store entry: now only vlt's hidden lock decides. Without a hidden lock, the copy is kept and reported as unchecked. This is intended, and the commit message says so.
#2021 updated the rule (c) real-vlt e2e in
e2e_redirect_vlt_build.rs(vlt_pinned_matrix_hosted_heal_rule_c_no_hidden_lock) to expectadvisory_undeterminable. It missed the matching case inmode_migration_vlt.rs. Test 8 deletesnode_modules/.vlt-lock.jsonand still expected the old afterHash outcome,advisory_nothing_stale().Fix
Test 8 now expects
advisory_undeterminable(ids.len()), the same as the rule (c) test, and its doc comment is updated to match. Its other assertions are unchanged and still pass:The only production behaviour involved is the one #2021 intended. No production code changes.
Proof
Local runs with real vlt (
SOCKET_PATCH_VLT_E2E_REQUIRED=1,--include-ignored vlt_pinned_matrix):mode_migration_vltpasses, 14 passed, 0 failed.Checks:
rustfmt --checkon the touched file is clean.clippy::duplicate_mod. That comes from how the shared test modules are wired up, and this diff doesn't touch them. Fix Windows nightly test failures and absolute --patch-dir bound #2049 saw the same pre-existing findings with local clippy 1.93.Where tests run
No tests were removed or moved. Test 8 still runs in the nightly
mode_migration_vltlegs on all three OSes.Generated by Claude Code
Note
Low Risk
Test-only change aligning e2e expectations with intended heal behavior; no production code touched.
Overview
Aligns migration test 8 (
vlt_pinned_matrix_migration_hosted_scan_keeps_agent_patched_tree) with the post-#2021 vlt heal behavior whennode_modules/.vlt-lock.jsonis missing: the hosted scan advisory assertion now expectsadvisory_undeterminable(ids.len())instead ofadvisory_nothing_stale(), matching the existing rule (c) real-vlt e2e.The test doc comment is updated to state that without a hidden lock, heal rule (c) treats store copies as unchecked and recommends
vlt ci, while still asserting the agent-patched store entries are kept and the tree stays patched.Reviewed by Cursor Bugbot for commit 9baa35f. Configure here.
Generated by Claude Code