Repository navigation
Fix nightly vlt canary: support vlt 1.3.0-1.3.7 - #1087
Conversation
The vlt nightly canary has been red on main every night since 2026-10-04: its release watchdog fails because npm publishes vlt 1.3.0 ... 1.3.7, which the Releases table neither supports nor excludes. The capstones themselves passed on vlt@latest (1.3.x) on Linux, macOS and Windows every one of those nights. All five capstones (e2e_redirect_vlt_build, e2e_vendor_vlt_build, mode_migration_vlt, e2e_safety_vlt, e2e_vlt) pass on each of 1.3.0 ... 1.3.7 on Linux with check-vlt-legs clean, and every release still writes lockfileVersion 1 with era F grammar. List them as supported, extend era F to 1.3.7, regenerate the leg manifest with check-vlt-legs.py --derive, and pin their registry integrity in vlt-historical-integrity.json (each tarball re-hashed and checked against dist.integrity). The harness test that used 1.3.0 as its unlisted example now uses 9.9.9. Claude-Session: https://claude.ai/code/session_01CvCSdYG1Nk8Ys2T2mZr9Z7 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
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 886dddb. Configure here.
|
Generated by Claude Code |
Problem
The nightly
vlt patch compatibilitycanary has been red onmainfour nights in a row:Every night the failing step is the same: Release and lockfileVersion watchdogs, Linux-only:
The vlt@latest through every capstone step passed on ubuntu, macOS and Windows all four nights, and so did the macOS and Windows canary jobs. vlt is releasing fast: 1.3.0 came out 2026-09-28 and 1.3.7 on 2026-10-06. Nobody has added those versions to the Releases table, so the watchdog fails and the red nightly hides any real failure.
Root cause
The Releases table, and the leg manifest generated from it, stopped at 1.2.0. vlt published eight 1.3.x releases after that.
Fix
docs/testing/vlt-compatibility.md: list1.3.0…1.3.7as supported, extend era F to1.2.0 … 1.3.7, and say where the 1.3.x evidence comes from.crates/socket-patch-cli/tests/vlt-leg-manifest.json: regenerated withscripts/check-vlt-legs.py --derive. The only change is the 8 versions added tosupported.scripts/vlt-historical-integrity.json: pins for 1.3.0 … 1.3.7. I downloaded each tarball, hashed it and checked the hash against the registry'sdist.integrity. The existing testtest_pinned_integrity_covers_every_supported_releaserequires a pin for every supported release.scripts/tests/test_backtest_harnesses.py: the "unlisted" example changes from1.3.0(now supported) to9.9.9. The era test now also asserts that1.3.7maps to F. No assertion is weaker.Proof
I ran all five capstones locally on Linux for every new release, exactly as the canary step runs them (
<suite> vlt_pinned_matrix --ignored, thencheck-vlt-legs.pyagainst the new manifest):On all 40 runs
check-vlt-legsprintedok … manifest diff clean. That includes the era assertion that each release writeslockfileVersion1 with the tilde DepID grammar.1.3.0…1.3.7) to[].python3 -B -m unittest discover -s scripts/tests: 254 tests OK. Before the test update,test_exclusionsandtest_pinned_integrity_covers_every_supported_releasefailed, as expected.check-vlt-legs.py --deriveoutput matches the committed manifest byte for byte.Where tests run
No test is removed or moved. This only makes the nightly canary pass again. The next vlt release will still trip the watchdog until it is qualified the same way, which is what the watchdog is for.
🤖 Generated with Claude Code
https://claude.ai/code/session_01CvCSdYG1Nk8Ys2T2mZr9Z7
Generated by Claude Code