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 uv pylock rollback shape (#407, #408) by mikolalysenko · Pull Request #512 · SocketDev/socket-patch Conversation
|
| Issue | Test | Before fix | After fix |
|---|---|---|---|
| #407 | upstream_restore_golden::pylock_without_index_round_trips (LF and CRLF, plus a non-PyPI-host sibling that must still refuse) |
FAILED: Refused("…no sibling registry package shows the registry…") |
ok |
| #408 | upstream_restore_golden::pylock_whole_second_upload_times_round_trip |
FAILED: restored upload-time = 2023-10-17T17:46:21.184Z, expected …:21Z |
ok |
| #408 | uv::tests::pylock_upload_times_truncate_to_whole_seconds (unit) |
n/a (new signature) | ok |
| both | real-uv e2e e2e_redirect_uv_build hosted_uv_{export,pip_compile}_pylock_manifestless_vex: the lanes now lock a pure-Python PyPI sibling (idna==3.7, hosted mode only) and require a byte-exact rollback. Before, they accepted the documented refusal, which hid #407. |
FAILED locally: "no sibling registry package" refusal | CI: green on every uv leg (REQUIRED=1, so a refusal or skip would fail) |
Commands run locally (Linux, uv 0.8.17):
cargo test -p socket-patch-core --all-features --test upstream_restore_golden: 42 passedcargo test -p socket-patch-core --all-features --lib upstream: 56 passed; --test uv_hosted: 4 passedcargo clippy --workspace --all-features -- -D warnings (CI's invocation): cleane2e_vendor_pypi_build -- --include-ignored (shares the modified lane builder): 20 passede2e_redirect_uv_build -- --ignored: 5 passed. The 2 pylock lanes now get past the shape check. Locally they then fail only at GET https://pypi.org/pypi/six/1.16.0/json, because socket-patch's rustls client can't trust this sandbox's egress-proxy CA. CI has direct network for that step.cargo test --workspace --all-features: the remaining local failures are permission-based write-failure tests (the sandbox runs as root, so read-only dirs don't block writes) plus disk-pressure fallout. None touch uv, pylock or upstream restore code.cargo fmt --all -- --check: main is not fmt-clean with the pinned 1.93.1 toolchain (126 files differ), and CI doesn't run it. I formatted only the hunks this PR adds.No wrapper (npm/, pypi/, gem/) changes are needed: this is core restore logic.
🤖 Generated with Claude Code
https://claude.ai/code/session_01C2RLuAmoRAnZpABj1eX1rE
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
Hosted rollback, remove and the vendored takeover refused every pylock.toml written by `uv pip compile`, because that command records no `index` key and the restore only read the registry from one (#407). Packages without an `index` whose files are all on PyPI now show the registry, and the entry is restored without an `index` too. A rolled-back pylock also never matched what uv writes: restored `upload-time` values kept milliseconds, while uv writes whole seconds in pylock files (#408). The restore now follows the lock's own precision. The real-uv hosted e2e lanes for `uv export` and `uv pip compile` pylocks now lock a PyPI sibling and require a byte-exact rollback. 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 116d022. Configure here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Ready for review — burn-down agent.
Generated by Claude Code |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Reviewed Validation: all 42 |
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.
Hosted rollback rewrites uv pylock.tomlupload-time with milliseconds, so the restored file never matches what uv writes
Hosted rollback, remove and vendored takeover always refuse on a uv pip compile pylock.toml because its packages carry no index key
There was an error while loading. Please reload this page.