-
Notifications
You must be signed in to change notification settings - Fork 0
v5 WS1+WS2: ledger-free hosted mode, upstream-restore rollback, vendor ejects hosted projects #280
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Mikola Lysenko (mikolalysenko)
merged 66 commits into
release/v5-prerelease
from
v5/ledger-free-hosted
Sep 28, 2026
Merged
Changes from all commits
Commits
Show all changes
66 commits
Select commit
Hold shift + click to select a range
7115db4
Stop writing the hosted redirect ledger from scan
mikolalysenko f0e3921
Restore hosted pins to their upstream registry entries instead of rep…
claude 03643e0
Update rollback prompt unit test for the upstream-restore wording
claude 61d7191
Derive list, scan updates and takeover state from lockfile hosted pins
claude a01ae92
Drop the hosted ledger from get, repair, the in-memory engine and the…
claude bd0f6d2
vendor ejects a hosted project; vendoring over any hosted pin restore…
claude 65d25c7
Rewrite scan/mod.rs takeover unit tests for lockfile-derived hosted s…
claude e1bb9a6
Restore hosted gem and composer pins to their upstream entries
claude 37e96e2
Fix clippy findings in the eject and takeover paths
claude 1257869
Restore hosted PyPI pins to their upstream registry entries
claude 1a2ff9f
Restore vlt, Maven and NuGet hosted pins to their upstream entries
claude c0d0797
Drop dead fixture fields clippy flags in covgap_commands_rollback
claude 5eadb00
Retire a pre-v5 hosted ledger when rollback finds nothing else; updat…
claude 2b331c1
Feed the hosted scan's in-run VEX this run's records
claude e62ce75
Refresh doc comments that still described the hosted ledger
claude faa15c7
vendor --revert restores hosted pins a pre-v5 vendor ledger re-creates
claude cebe197
Refuse around contested hosted wiring; refuse offline eject before an…
claude 002d8ac
Make eject one transaction: plan, restore upstream, vendor, or roll back
claude 33852ba
Rewrite hosted rollback/remove coverage-gap tests to the v5 upstream …
claude abbf31c
Rewrite hosted rollback/remove/vex-step tests to the ledger-free v5 c…
claude 4a0de07
Rewrite hosted scan/get integration tests for the ledger-free v5 cont…
claude a2175d8
Tidy hosted remove/rollback messages and legacy-ledger residue
claude 5fff6b5
Rewrite list and vex ledger tests for lockfile-derived hosted state
claude 9dce1a9
Rewrite manifest-less VEX suites for the ledger-free hosted mode
claude ba5f91a
Teach the real-uv VEX matrix the ledger-free hosted mode
claude 3d07d59
Run the real-uv hosted revert against the v5 rollback contract
claude 9b0f61b
Delete the hosted ledger replay engine; keep a read-only legacy loader
claude 7d5918c
Document the ledger-free hosted contract and hosted eject
claude 9e2474b
Rewrite vendor takeover covgap tests to lockfile hosted pins; add WS2…
claude 8480078
Rewrite in_process_vendor hosted takeovers to the v5 upstream restore
claude 6b996ad
mode_migration_npm: hosted takeovers restore the upstream registry entry
claude e13c284
mode_migration_cargo: hosted takeovers restore the crates.io entry
claude b798ca7
mode_migration_bun: no hosted ledger; unwinds restore the upstream 4-…
claude 818ff6b
in_process_vendor_bun_takeover: hosted pins without a ledger
claude 430d466
e2e_bun_lockb: binary hosted pins are refused by rollback and vendor …
claude 9c0d31f
e2e_redirect_bun_build: no hosted ledger; rollback restores the upstr…
claude a53b2e9
e2e_redirect_yarn_classic_build: hosted run writes only yarn.lock
claude d690792
e2e_redirect_gem_stale_install: no ledger fallback in hosted mode
claude 26e7924
e2e_redirect_pnpm_build: no hosted ledger; rollback restores the reso…
claude 41fc92d
e2e_redirect_cargo_shapes: remove restores crates.io entries without …
claude 823ce8a
e2e_redirect_cargo_build: the three-file rewrite is the whole hosted …
claude 8a02879
golang hosted e2e: go.mod/go.sum is the whole hosted state
claude 4271ba6
Format the rewritten vendor/hosted test files
claude 6872162
Pin that a transactional eject emits no per-purl takeover warning
claude d93b400
Document the transactional eject, offline refusal and contested wiring
claude c7e7189
Drop a stale comment on the hosted unwind error
claude 4f2ef29
Prove eject from a fresh hosted checkout; verify hash-pinned requirem…
claude 9bd9569
Give the stale-Pipfile rollback test a derivable hash mode
claude 78e4c1e
node addon smoke: a wet hosted session writes no ledger
claude f1cc47b
covgap scan_hosted: unreadable-workspace case asserts no ledger
claude 44240a2
Rewrite the CI-only e2e suites and backtests to the ledger-free hoste…
claude f2aade0
Hold the vlt configured-registry slot [3] rule pending real-vlt evidence
claude b6954d4
Backtests: send a User-Agent on public patch-view fetches
claude 7f73cfe
Re-land the vlt configured-registry slot [3] rule on real-vlt evidence
claude dc634b3
hosted-e2e uv leg: serve the record of the uuid the lock pins
claude ef79e51
PDM static_urls restore writes files in URL order; bun backtest User-…
claude 89578ce
covgap rollback: macOS-only blob-pin check derives hashes from the fi…
claude 59a0834
Round-trip hosted rollback of unpopulated Poetry 1.0/1.1 locks
claude 6da01c0
yarn berry e2e: manifest-less VEX matrix expects no hosted ledger
claude e36ba5b
e2e vex poetry: accept the one-file-per-line metadata.files pin
claude 08c30b7
Keep Pipenv's index on hosted entries so rollback restores it exactly
claude 65aa074
Restore hosted bun.lockb pins natively for the vendor takeover
claude 698bef6
bun backtest: inject the custom-registry slot with byte I/O
claude 8ce40d9
Demote hosted format-1 bun.lockb locks exactly on the vendor takeover
claude ba7034f
ci: give the Windows test leg a 50-minute budget
claude fc9a52a
Check out the Poetry and Pipenv lock fixtures byte-exact on Windows
claude File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Vendored refusals miss contested pins
Medium Severity
lock_text_refusals_forandhosted_state_from_lockfilesstill build hosted claims fromHostedPin::all, which only sees VEX-eligible refs. Contested hosted wiring is omitted, so those packages are lock-text-gated or classified as not hosted instead of taking the restore/takeover path.Additional Locations (1)
crates/socket-patch-cli/src/commands/mod.rs#L87-L90Triggered by learned rule: Inventory/discovery must propagate unsupported-layout diagnoses as typed errors, never swallow into None
Reviewed by Cursor Bugbot for commit fc9a52a. Configure here.