GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||
GeezerVison is showing github.com — Fix agent vex checking only one installed copy (#516) by mikolalysenko · Pull Request #517 · SocketDev/socket-patch Conversation
|
| Issue | Regression test | Red before fix → green after |
|---|---|---|
| #516 | e2e_vex::verify_mode_requires_every_installed_copy_patched: two nested copies of [email protected], one patched; both crawl orders must omit the PURL (not_applied, non-zero exit), and all copies patched must attest |
Red: with commands/vex.rs reverted to collapse_to_first, the test panics at e2e_vex.rs:965 (patched-first order attested). Green with the fix. |
| #516 (core) | vex::verify::tests::every_installed_copy_must_verify, empty_copy_list_is_package_not_found, vendored_drift_probe_checks_every_installed_copy |
Green |
Commands run locally:
cargo clippy --workspace --all-features -- -D warnings: clean.cargo test -p socket-patch-core --lib vex::verify: 36 passed.cargo test -p socket-patch-cli --all-features --test e2e_vex --test e2e_vex_vendor --test e2e_vex_redirect --test covgap_commands_vex: all passed.cargo test --workspace --all-features --no-fail-fast: 9472 passed, 12 failed. All 12 failures are write-failure and permission fixtures (chmod 0o555 / unremovable-file tests in covgap_commands_vendor, in_process_redirect, repair, and four core lib tests). They can't fail as uid 0, which is what this sandbox runs as, and none of them touch vex. CI runs them as a non-root user.cargo fmt --check on the touched files is clean. main itself isn't rustfmt-clean (about 460 diffs) and CI doesn't run fmt, so this PR formats only its own hunks.CI note: Poetry 1.0.10 (macOS) crlf/hosted failed rescanIdempotent once. That's a hosted rescan against the live patch API, a path this diff doesn't touch. It passed on the one re-run.
🤖 Generated with Claude Code
https://claude.ai/code/session_017ZjqW5PYJWkPpisnhaS4zi
Generated by Claude Code
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Assisted-by: Claude Code:claude-opus-5-5
When a project holds several installed copies of the same package@version (npm nests duplicates, and a later install can add a fresh unpatched one), `vex` only hashed the first copy it found. It could then attest a patch as not_affected while another copy that a dependent loads was still unpatched. Agent-mode records are now attested only when every installed copy matches the patched bytes, the same rule `apply` follows when it patches and that hosted records already use. The vendored drift warning also checks every copy. Fixes #516 Assisted-by: Claude Code:claude-opus-5-5
Assisted-by: Claude Code:claude-opus-5-5
|
BugBot review Generated by Claude Code |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
✅ 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 0f45d24. Configure here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Ready for review — head
Generated by Claude Code |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Reviewed No actionable correctness or security regressions found. The CLI passes all discovered copies through verification; empty copy lists fail closed, hosted/vendor precedence stays intact, and the vendor drift warning covers later copies. Validation: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Second review pass of The head is unchanged from the prior review, discussions introduce no unresolved finding, and it merges cleanly with current main |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
Agent-mode npmvex hashes only the first installed copy of a package, so it attests not_affected while another nested copy of the same name@version is unpatched
There was an error while loading. Please reload this page.