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 Maven reactor VEX over a base-version module (#584) by mikolalysenko · Pull Request #1802 · SocketDev/socket-patch Conversation
|
| Issue | Test | Without fix | With fix |
|---|---|---|---|
| #584 (added module / added dependency / earlier suffix) | maven_reactor::tests::a_base_declaration_added_after_vendoring_is_not_attestable |
left: (true, true) right: (true, false) |
pass |
#584 (CLI: vendor --check fails, vex skips vendor_unwired and writes no file, re-vendor attests again) |
vendor_jvm_cli::maven_reactor_module_added_at_base_after_vendoring_withholds_vex |
vex emitted verified/not_affected (the issue's exact symptom) |
pass |
Commands run locally (Linux, as root):
cargo fmt --all -- --check: cleancargo clippy --workspace --all-features -- -D warnings: cleancargo test -p socket-patch-core --lib maven_reactor: 87 passedcargo test -p socket-patch-cli --test vendor_jvm_cli: passedcargo test -p socket-patch-cli --test e2e_vendor_jvm_build -- --ignored maven_reactor (Maven at /opt/maven): 2 passedcargo test --workspace --all-features --no-fail-fast: 15248 passed, 11 failed. None of the failures touch the JVM code, and none can pass in this sandbox. 9 simulate write or remove failures with file permissions, which root bypasses: repair ×2, in_process_redirect ×3, and core copy_tree, vlt_heal, pypi_poetry, pypi_requirements. The other 2 are e2e_bun_lockb: the patch API is unreachable through the sandbox proxy, and the local bun is 1.4.4. CI runs these as non-root with network access.No wrapper changes are needed (npm/, pypi/, gem/ only dispatch to the binary).
vendor --check resolves that through the local Maven repo (local_external_poms). A no-repo re-plan inside vex would wrongly withhold for roots vendor left unpinned on purpose (conflicting_managed_version / management_unresolved). This is a different shape from Vendored Maven reactor vex attests not_affected after a module added later declares the base version, although vendor --check flags the drift and that module builds Central's unpatched jar #584 and should be a follow-up that passes the local repo to vex's liveness check.vendor, so it isn't drift. Left for a separate issue.Reactor::discover.https://claude.ai/code/session_011f9aeRZEvH2uAFQPt5iJJJ
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
After a reactor was vendored, adding a module (or a dependency) that
declares the patched artifact at its plain base version made that
module build Central's unpatched jar. `vendor --check` reported the
drift, but `vex` still attested not_affected, because its liveness
check only looked for ${property} versions it could not resolve.
The check now also withholds attestation when the planner would still
rewrite a declaration, so `vex` skips the package as vendor_unwired
until `vendor` is re-run. Fixes #584.
Assisted-by: Claude Code:claude-opus-5-5
A module still declaring an earlier patch's suffixed version builds that patch's jar, so the reactor must not attest the current one. Pin that behavior with a test. 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.
|
Burn-down agent: labeled Ready for review at
Generated by Claude Code |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Final review briefWhat it does: After a Maven reactor is vendored, a module (or dependency) added later at the plain base version builds the unpatched jar. Risk: low. It's a one-line change to the liveness predicate ( Look here:
Verified: I read the full diff and Changes I made: none. Open questions: none blocking. The follow-ups in the description (a new root module with no pin; range or classifier declarations) predate this PR. I'm arming auto-merge, so approving sends it straight to the merge queue. Generated by Claude Code |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Resolve the attestable_checked conflict: keep the #584 doc and predicate, take main's new `list` parameter. 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 eecdbb2. Configure here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
[agent] Re-enqueued once (final reviewer) after the 13:40 merge-queue eviction: main has since been merged into the branch, head eecdbb2 is approved, Generated by Claude Code |
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.
Vendored Maven reactor vex attests not_affected after a module added later declares the base version, although vendor --check flags the drift and that module builds Central's unpatched jar
There was an error while loading. Please reload this page.