cddb908aab
Follow-up on the cherry-picked #82644: the (st_dev, st_ino) snapshot of site-packages does not survive contact with ext4 — a recreated directory routinely REUSES the freed inode, so the exact reported repro (rm -rf venv && uv venv) passed the intact check undetected. Proven live during salvage: the E2E's replaced venv came back with the identical inode and runtimeIntact stayed true. Primary identity is now a marker file written into site-packages when the SSH owner nonce activates: it deterministically dies with the old tree on ANY replacement (same or different Python version) and survives in-place pip/uv installs (no false stales). The stat snapshot remains as the fallback for read-only site-packages, where it still catches cross-device moves and version-bump path changes. Client classifier semantics unchanged: only an explicit runtimeIntact:false rejects, so older remotes stay compatible. Three new tests: recreated-venv-with-reused-inode (the live-proven case), in-place-install stays intact, read-only fallback arms the stat tier.