name: leveva-link-version-021-staleness description: Recurring pre-existing breakage — leveva test/snapshot assertions go stale against server::LINK_VERSION (the 021- protocol-prefixed link version) and the version bump; fix as a separate prep commit before the slice metadata: node_type: memory type: project originSessionId: dffd0a98-08f0-4e3b-af02-71f5ec03a7bf#
leveva/src/server.rs defines TWO version consts:
VERSION = "leveva-<CARGO_PKG_VERSION>"(e.g.leveva-0.0.2) — RPL_VERSION/004/etc.LINK_VERSION = "021-leveva-<CARGO_PKG_VERSION>"— the S2S PASS greeting version field (021-is the IRCnet protocol-version prefix). Built bys2s/handshake.rs::build_accept_reply/build_link_greeting.
Recurring trap: tests and golden snapshots that assert the outbound PASS line drift
stale because they hard-code VERSION (missing the 021- prefix) or a literal old version.
cargo test -p leveva is then red on HEAD before you change anything — verify with
git stash. This is the same class of breakage slice 114 cleaned up (it masked VERSION
bump-proof in canonicalize()).
When found (e.g. slice 130 hit it): fix it as a separate prep commit BEFORE the
slice work, message test(leveva): fix pre-existing LINK_VERSION (021-) staleness ….
Known stale spots that needed the 021- form:
s2s/handshake.rsunitgood_pass_then_server_establishes_and_replies(assertLINK_VERSION, notVERSION).tests/snapshots/golden_connect__…,golden_s2s__…,golden_autoconnect__…(thePASS ourpw …line — changeleveva-<VER>→021-leveva-<VER>;canonicalize()masks the semver tail to<VER>but NOT the021-prefix).
If you bump the crate version or touch the PASS greeting, re-grep
grep -rn 'PASS' leveva/tests/snapshots/ | grep 'leveva-<VER>' | grep -v '021-' for new
stale snapshots. Related: [[leveva-slice-recording]].