Repository navigation
Issue & discussion janitor log #576
Mikola Lysenko (mikolalysenko)
started this conversation in
General
Replies: 1 comment
|
[agent] Janitor: bridge test. The janitor/ledger workflow posted this comment on the routine's behalf. Hourly runs log here from now on. Generated by Claude Code |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
[agent] Janitor: the hourly issue and discussion janitor rewrites this log each run. It shows the last run, the actions it took with a reason for each, a rolling list of recent actions, deferred candidates, and anything that needs a human. The routine writes it to the
janitor/ledgerbranch, and a workflow on that branch applies it here.Last run
2026-10-30 07:26Z on origin/main
5ca56238(#1819, unchanged since the last run). Reviewed 112 open issues, the issues closed since 2026-10-30 00:30Z, and the PRs updated since 2026-10-29 12:00Z. No PR merged intomainsince the last run, and no issue was closed since then except the janitor's own #1845.This run
mainhasn't moved, so no fix can be verified, and the new issues are substantive agent reports pinned to5ca56238.agent:claimed, and every bughunt issue has itspm:*label.six[foo]==X) in requirements.txt beside apip lockpylock.toml still un-hosts requirements.txt and leaves it unpatched, exit 0 (#1758 residual) #1794 (Fix extras pin un-hosted beside a pylock (#1794) #1796), Hosted Maven and VEX treat a Maven 4 implicit-subproject root as one pom #1809 (Fix Maven 4 implicit subprojects missed outside vendored (#1809) #1886, draft), Agent-mode npm apply, apply --check and vex skip a declared workspace member in a hidden directory (.github/actions/x, .config/tool), so its nested copy stays unpatched while VEX attests not_affected #1827 (Fix hidden npm workspace members left unpatched (#1827) #1829), Hosted gem redirect writes the Socketsource … doblock with LF endings into a CRLF Gemfile, leaving it with mixed line endings #1831 (Fix hosted gem block mixing CRLF Gemfile endings (#1831) #1841), Cargo build-cache invalidation reads .cargo/config.toml where cargo reads .cargo/config, so it cleans the wrong target dir #1832 (Read the cargo config chain once (#1832) #1849), Cargo workspace member globs ignore [...] character classes, so members = ["crates/[ab]*"] expands to no members #1833 (Fix Cargo member globs with [..] classes (#1833) #1866), Resolve GOPATH and GOMODCACHE through one go_env helper instead of two drifting copies #1834 (Fix Go module cache default read two ways (#1834) #1876), Go apply, apply --check and vex still treat a replace-target module as built when the replaced fork is required only by a dependency (go 1.16 module), so the patch is attested while the build stays unpatched #1840 (Fix Go replace target missed in go 1.16 graphs (#1840) #1843), pnpm workspace membership refuses brace and class globs the shared matcher already reads, and hosted keeps a second reader for them #1846 (Fix pnpm brace and class workspace globs (#1846) #1863), Read "poetry.lock written before Poetry 1.4" through one helper; utils::poetry_lock::lock_writer_version is dead #1847 (Fix Poetry lock writer read three ways (#1847) #1865), Vendoredscan/get --dry-runon an already-vendored npm project says it "Would download and vendor N patches", while its own JSON and the wet run say there is nothing to do #1850 (Fix vendored dry-run counting in-sync patches (#1850) #1856), Vendored pip: a pin in a-rinclude outside the project root is ignored when a pylock.toml exists, sovendor --checkpasses andvexattests not_affected whilepip install -r requirements.txtinstalls the unpatched release #1851 (Fix pylock wiring ignoring an out-of-root -r pin (#1851) #1853), Use crate::test_rng::Rng in every randomized test: three more xorshift64* copies sit beside the module that claims to be the only one #1868 (Build: share one test RNG across randomized tests (#1868) #1882), api/client.rs downloads a served artifact through two near-copy GETs and hand-writes four retry loops under two retry policies #1869 (One serve GET and one vendor retry loop in api/client.rs (#1869) #1870), Hosted npm scan doesn't warn about omit-lockfile-registry-resolved=true: the next plainnpm installstrips the hostedresolvedURL but keeps the patched integrity, so every freshnpm cithen fails EINTEGRITY #1871 (Fix hosted npm ignoring omit-lockfile-registry-resolved (#1871) #1872), Vendored pip: asix==${SIXV}pin in requirements.txt (pip expands${VAR}on every line) doesn't contest a pylock.toml wiring, sovendor --checkpasses andvexattests not_affected whilepip install -rinstalls the unpatched release #1873 (Fix templated pip pins ignored beside pylock (#1873) #1874), Build the Pipenv stale-install remedy in one core helper: hosted scan and vendored pypi each write it, and the copies drifted #1878 (Fix Pipenv stale-install remedy built twice (#1878) #1883), Share one scoped env-var test guard: EnvGuard is copy-pasted 11 times across core unit and integration tests #1889 (Build: share one test env guard in core (#1889) #1891, draft). Vendored yarn classic wiring breaks every install run from a workspace member directory: yarn resolves thefile:./.socket/vendor/…tarball against the member dir #691 and Hosted gem stale-install guard still flags an unused system gem-home copy under Bundlerdeploymentor the.bundledefault path, soscan --mode hosted --vexfails withno_applicable_patcheson fresh checkouts #1109 carryagent:needs-human.six==${SIXV}pin in requirements.txt (pip expands${VAR}on every line) doesn't contest a pylock.toml wiring, sovendor --checkpasses andvexattests not_affected whilepip install -rinstalls the unpatched release #1873 (pip${VAR}pin beside pylock), Embed --vex through one helper: the step is hand-written 8 times, and only scan reports vex_skipped_dry_run under --json #1877–Decide: one hostedredirectJSON block for disk scan and the in-memory engine (today {mode, rewrittenFiles} vs a seven-key block) #1881 and Interpolate Maven ${...} properties through one formats::maven helper: five copies drifted on recursion, undefined names and the length cap #1887–Share one scoped env-var test guard: EnvGuard is copy-pasted 11 times across core unit and integration tests #1889 (arch-audit). None duplicates an open issue: Vendored pip: asix==${SIXV}pin in requirements.txt (pip expands${VAR}on every line) doesn't contest a pylock.toml wiring, sovendor --checkpasses andvexattests not_affected whilepip install -rinstalls the unpatched release #1873 and Vendored pip: a pin in a-rinclude outside the project root is ignored when a pylock.toml exists, sovendor --checkpasses andvexattests not_affected whilepip install -r requirements.txtinstalls the unpatched release #1851 are different triggers into the same pylock contest check, and Render a patch's vulnerability labels through one ui helper: scan, get and list each write the CVE-else-advisory rule, and their order, dedup and severity case drifted #1880 (human vuln labels) is the declared sibling of Serialize patch vulnerabilities through one helper; get's selectionRequired options[] are unsorted and drop description #1836 (vuln JSON), not a copy.Recent actions (rolling, newest first)
5ca56238, no merges since 22:47Z, no closes, no label fixes, no new ledger drift)agent:claimedfrom closed Vendored Gradle build fails on a stray file such as .DS_Store in the vendored tree, and the fix the error prescribes ("re-run socket-patch vendor") does nothing: vendor says already_vendored and repair is a no-op #656agent:claimedfrom 11 closed issues (CI perf: workflow_dispatch of CI — Windows-only janitor fixes re-run the full Linux + macOS nightly matrix (~100 min/day, ~30 macOS) #1818, Vendored gem mode failsapply_failed("Gemfile.lock has no GEM section") on any CRLF Gemfile.lock, and the hosted→vendoredvendor --dry-runeject still previewseject_planned#1808, Since #1792, agent apply and rollback rewrite a CRLF shebang that npm left alone (bin-links=false, or a directories.bin-only non-registry package), so rollback is no longer byte-exact #1804, Go apply, apply --check and vex ignore GOFLAGS=-modfile, so they report a patch as applied while go builds from another go.mod and links the unpatched module #1799, An interruptedvendoreject (Ctrl-C, SIGTERM or SIGKILL) can leave the npm lock back on the registry, unpatched, with no journal, and a re-run then says "No manifest found, nothing to vendor" (exit 0) #1782, Vendored dry run gives no symlink warning for uv script locks or pylock files: a symlinkeds.py,s.py.lock,pylock.tomlorpylock.<name>.tomlpreviews clean, and the real run then refuses (exit 1) #891, Vendored Maven 4 reactor with implicit subprojects (model 4.1.0, no <subprojects>) is wired as a single POM, so a warm ~/.m2 builds the unpatched jar while vex attests not_affected #622, 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, Vendored Maven reactor reports applied and VEX attests not_affected when a ${property} version is left unresolved, so the build keeps Central's unpatched jar (also triggered by Maven 4 <parent/> inference) #513, Global mode never finds yarn 1.0.x global packages:yarn global dirdoesn't exist before yarn 1.1.0, and there's no fallback #437, Maven global/agent discovery looks in $M2_HOME/repository and ignores settings.xml <localRepository>, so scan -g finds nothing and rollback -g drops the patch record while ~/.m2 stays patched #423)yarn global dirdoesn't exist before yarn 1.1.0, and there's no fallback #437)agent:claimedfrom 6 closed issues (Go apply, apply --check and vex treat a module that is only another module's replace target as built, so the patch is reported applied and attested while go builds the unpatched code #1823, Vendored gem mode writes the rewiredgemline of a CRLF Gemfile with an LF ending, leaving the Gemfile with mixed line endings #1821, Nightly Windows: 3 Go workspace unit tests fail (Unix-only GOWORK paths) #1815, Go apply writes the shared replace into ./go.work when GOWORK names another file in the same directory, reports success, and the workspace builds unpatched #1810, Hosted Maven adds a dependencyManagement pin that the direct literal overrides when the dependency's groupId/artifactId is a ${property} or <exclusions> come first, so the build stays unpatched while scan reports redirected and VEX attests not_affected #683, The public-proxy per-package fallback runs 10 requests in flight, ignoring SOCKET_API_CONCURRENCY and the proxy cap of 4 #614)gemline of a CRLF Gemfile with an LF ending, leaving the Gemfile with mixed line endings #1821), Bug hunt ledger: Go modules #317 (Go apply writes the shared replace into ./go.work when GOWORK names another file in the same directory, reports success, and the workspace builds unpatched #1810, Go apply, apply --check and vex treat a module that is only another module's replace target as built, so the patch is reported applied and attested while go builds the unpatched code #1823), Bug hunt ledger: Maven #318 (Hosted Maven adds a dependencyManagement pin that the direct literal overrides when the dependency's groupId/artifactId is a ${property} or <exclusions> come first, so the build stays unpatched while scan reports redirected and VEX attests not_affected #683)ecd4924e, no merges since 22:56Z, no closes, no label fixes, no new ledger drift)agent:claimedfrom 6 closed issues (After the #1756 fix, a CRLF-shebang npm bin that v5.0.1 already broke stays broken: apply reports "already patched", and repair and rollback keep the unrunnable CRLF shebang #1791, Deno -g misses a one-segment path registry behind a same-named cached package #1784, Agent-mode cargo with HOME unset finds no registry cache, reports the crate as lockfile-only and exits 0, while cargo builds the unpatched copy from the passwd home's ~/.cargo #1135, vex and vendor --check refuse a correctly vendored Maven reactor whose <parent><relativePath> names a directory (../corp-parent or ..), with "is not a regular file" / "unsafe path" #534, Since #446,scan -g --mode agentthenrollback -gfrom a vendored NuGet project reverts the project's patched package in the shared global packages folder; the locked restore stays "up-to-date" and VEX keeps attesting #489, Vendored Maven reactor ignores profile <properties>, so a version an active profile raises is silently downgraded to the patched base (1.11.0 → 1.10.0-socket.*) with exit 0 and no warning #459)scan -g --mode agentthenrollback -gfrom a vendored NuGet project reverts the project's patched package in the shared global packages folder; the locked restore stays "up-to-date" and VEX keeps attesting #489)agent:claimedfrom 19 closed issues (Vendored Go undo (vendor --revert, rollback, remove) stays silent about a stale vendor/modules.txt, so every build fails with "inconsistent vendoring" #1777, Nightly mode_migration_vlt red: vendor tests predate #1648 eject #1774, Nightly e2e_bun_lockb red: offline takeover test predates #1648 #1770, Go rollback and remove in a go.work member stay silent about a stalego work vendormodules.txt, so every workspace build fails with "inconsistent vendoring" #1766, Gemvendor --dry-runeject previewseject_planned(exit 0) for a hosted gem declared in agroupblock, but the realvendorrefusesgemfile_declaration_not_editable(exit 1) #1761, Hosted → vendored over requirements.txt + apip lockpylock.toml un-hosts both files but wires only pylock.toml, sopip install -r requirements.txtgoes from patched to unpatched whilevendorexits 0 #1758, npm rewrites a CRLF shebang in an installed bin file, so agent apply fails on it (or, with consent and on v5.0.1, breaks the bin) and hosted vex refuses a correctly patched install #1756, Hosted Go scan in a go.work member pins a version another member outranks #1753, In a go.work workspace where another member requires a newer version, Go apply writes an inert replace for the member's older version, and apply --check and VEX report it patched while the workspace build links the unpatched module #1751, Hosted gem on Bundler < 2.2 locks: once two gems are redirected,vexfinds no patch refs and every re-scan skips both gems asredirect_unattributable(exit 0), so superseding patches never land #1749, Hosted pnpm rollback/remove in asharedWorkspaceLockfile: falseworkspace leavestrustLockfile: truewithout the documentedpnpm_trust_lockfile_leftwarning #1268, A directory at .socket/manifest.json exits 2 with no --json output when --manifest-path spells the path, but exits 1 with manifest_unreadable under the default path #1123, scan reads a corrupt manifest as empty, so --prune skips GC and reports success #1063, apply, apply --check and vendor report noManifest (exit 0) when .socket/manifest.json exists but can't be stat'd #998, Vendored Maven reactor skips a dependency whose groupId or artifactId is a ${property}, so that module builds Central's unpatched jar while vendor, vendor --check and vex all report it patched #655, Vendored Maven reactor reads -D properties from commented-out .mvn/maven.config lines, so a 1.11.0 build is silently downgraded to 1.10.0-socket.* (or a valid patch is refused) #550, Vendored Maven reactor ignores user properties set in .mvn/maven.config as --define=k=v or -D k=v, so a 1.11.0 build is silently downgraded to 1.10.0-socket.* with no warning #535, Agent-mode NuGet apply ignores nuget.config repositoryPath for packages.config projects and patches ~/.nuget/packages instead, reporting success #398, Agent-mode NuGet apply patches ~/.nuget/packages instead of the project's configured globalPackagesFolder / RestorePackagesPath, reports success, and VEX attests not_affected #397)sharedWorkspaceLockfile: falseworkspace leavestrustLockfile: truewithout the documentedpnpm_trust_lockfile_leftwarning #1268), Bug hunt ledger: pip / requirements.txt #309 (Hosted → vendored over requirements.txt + apip lockpylock.toml un-hosts both files but wires only pylock.toml, sopip install -r requirements.txtgoes from patched to unpatched whilevendorexits 0 #1758), Bug hunt ledger: Bundler (RubyGems) #316 (Hosted gem on Bundler < 2.2 locks: once two gems are redirected,vexfinds no patch refs and every re-scan skips both gems asredirect_unattributable(exit 0), so superseding patches never land #1749, Gemvendor --dry-runeject previewseject_planned(exit 0) for a hosted gem declared in agroupblock, but the realvendorrefusesgemfile_declaration_not_editable(exit 1) #1761), Bug hunt ledger: Maven #318 (Vendored Maven reactor ignores user properties set in .mvn/maven.config as --define=k=v or -D k=v, so a 1.11.0 build is silently downgraded to 1.10.0-socket.* with no warning #535, Vendored Maven reactor reads -D properties from commented-out .mvn/maven.config lines, so a 1.11.0 build is silently downgraded to 1.10.0-socket.* (or a valid patch is refused) #550, Vendored Maven reactor skips a dependency whose groupId or artifactId is a ${property}, so that module builds Central's unpatched jar while vendor, vendor --check and vex all report it patched #655), Bug hunt ledger: NuGet / dotnet #320 (Agent-mode NuGet apply patches ~/.nuget/packages instead of the project's configured globalPackagesFolder / RestorePackagesPath, reports success, and VEX attests not_affected #397, Agent-mode NuGet apply ignores nuget.config repositoryPath for packages.config projects and patches ~/.nuget/packages instead, reporting success #398, NuGetscan --mode vendoredover a hosted pin skips the takeover (purl case mismatch), keeps the hosted feed wired, writes no vendor ledger and still reports success #553)b787454e, no closes, no label fixes, no new ledger drift)failin the matrix) and Bug hunt ledger: pip / requirements.txt #309 (vendor --dry-runover a hosted requirements.txt pin previews apypi_requirement_not_pinnedfailure (exit 1), but the realvendortakes it over and succeeds #668 closed 02:08Z, stillfailin two rows)agent:claimedfrom 2 closed issues (Global mode can't see any Deno global install: the npm packages under $DENO_DIR/npm/registry.npmjs.org are never crawled, so scan -g misses them and Deno 2.9's per-tool node_modules gets patched and VEX-attested while the tool runs the unpatched copy #444, Warn during pnpm scans when non-registry copies cannot be patched #935)8709d3d7) and Bug hunt ledger: Deno #308 (Global mode can't see any Deno global install: the npm packages under $DENO_DIR/npm/registry.npmjs.org are never crawled, so scan -g misses them and Deno 2.9's per-tool node_modules gets patched and VEX-attested while the tool runs the unpatched copy #444, closed by Fix Deno global npm tools missed by -g (#444) #17198b327654+ Fix Deno --global-prefix cache and tool roots (#444) #1741ffa6ef86)a5172c42;output_retrying_dnsretries yarn classic installs onEAI_AGAIN, used by all four yarn-classic suites)agent:claimedfrom 22 closed issues (Vendored yarn classic: after a git merge resolves .socket/vendor/state.json to one side,vendor --checkandrollbackexit 0 while the other side's package stays wired, and rollback deletes the ledger, stranding it #991, Yarn berry hosted rollback/remove report success after a useryarn patchof the pinned package, but leave a lock that everyyarn install --immutablerejects (YN0028); the next install re-pins the Socket tarball #962, Vendored Pipenv lock breakspipenv requirements --hash|pip install -ron Pipenv 2023+: the vendored wheel is exported without a hash, so pip's hash-checking mode refuses the whole install #981, On Composer 1, composer/installers packages (e.g. WordPress plugins) are invisible to the crawler: agent scan skips them as "not installed" and hosted vex attests them without checking the unpatched installed bytes #463, Vendored scan in a Hatch workspace member writes {root:uri} that the workspace root env never expands, so every hatch run at the root fails to install #505, Agent-mode cargo patches the unused registry copy of a crate the user overrides with[patch.crates-io], and VEX attests not_affected while the build links the user's unpatched fork #506, Agent-mode apply of a same-size PyPI patch in the same second aspip installleaves pip's__pycache__bytecode valid, so Python keeps running the unpatched code while apply reports it patched #819, Yarn classic VEX attests not_affected while a bundled copy of the patched package@version stays unpatched (yarn.lock has no inBundle, so the #325 fix can't see it) #758, Vendored yarn classic rollback can't undo a block yarn has merged with another range (left-pad@^1.1.0, left-pad@^1.3.0:): it reports the block as gone, exits 1 forever and leaves the lock wired #692, Hosted Hatch scan exits 0 "redirected" when [tool.uv.sources] pins the patched package, but Hatch's uv installer obeys the source: url/path sources install the unpatched wheel and git sources break every install #673, Gem hosted and vendored lock pins ignore a gemspec development dependency on the same gem, so on Bundler 2.7+ the rewritten Gemfile.lock fails every frozen install ((= v)!vs Bundler's merged(>= 0, = v)!) #985, Vendored re-runs outside the npm family exit 1 while a superseding patch is still building, instead of keeping the older vendored patch #1235, Hosted uv scan wires adynamic = ["dependencies"]project, but rollback, remove and the vendored takeover then always refuse ("pyproject.toml no longer declares six") #639, Agent mode misses transitive packages in Yarn's pnpm-linker store whenpnpmStoreFoldermoves it out ofnode_modules: skipped aspackage_not_installed, or refused as "first-party source" #859, Hosted npm pin in package-lock.json is attested by VEX in a Deno project, but deno.lock keeps installing the unpatched registry copy #406, uv hosted → vendored takeover onto a newer patch uuid fails "no installed package found on disk" (exit 1) when the venv holds the hosted patch's bytes, while --dry-run previews success #1105, Agent-mode rollback in the other scope (rollback -g after a project apply, or rollback after a -g apply) deletes the manifest entry and blobs while the patched copy stays patched, and exits 0 #450, Agent mode honours the Pipfile's[pipenv] venv_in_project = truefor every Pipenv, but only 2026.2+ read it, so on Pipenv 2018–2026.1 the WORKON_HOME venv stays unpatched, the system Python is patched instead, and VEX attests not_affected #842, Hosted and vendored rewrites of a requirements.txt that another file uses as-cconstraints break everypip installon pip 20.3–21.0 ("Links are not allowed as constraints"), with no warning #740, Composer vendored → hosted takeover rewrites the vendored lock entry in place, keeping the patch-uuid dist.reference and transport-options: Composer 1 install crashes and rollback refuses #536, Vendored PDM < 2.11 gives no stale-install warning, so after pdm sync the unpatched release stays installed while vex attests not_affected #641, Global Go patching (-g) reports success and VEX attests not_affected, but tools already built withgo installkeep running the unpatched code, and nothing tells the user to reinstall them #422)vendor --checkandrollbackexit 0 while the other side's package stays wired, and rollback deletes the ledger, stranding it #991, Yarn classic VEX attests not_affected while a bundled copy of the patched package@version stays unpatched (yarn.lock has no inBundle, so the #325 fix can't see it) #758, Vendored yarn classic rollback can't undo a block yarn has merged with another range (left-pad@^1.1.0, left-pad@^1.3.0:): it reports the block as gone, exits 1 forever and leaves the lock wired #692), Bug hunt ledger: Yarn Berry (2+) #305 (Yarn berry hosted rollback/remove report success after a useryarn patchof the pinned package, but leave a lock that everyyarn install --immutablerejects (YN0028); the next install re-pins the Socket tarball #962, Agent mode misses transitive packages in Yarn's pnpm-linker store whenpnpmStoreFoldermoves it out ofnode_modules: skipped aspackage_not_installed, or refused as "first-party source" #859), Bug hunt ledger: Deno #308 (Hosted npm pin in package-lock.json is attested by VEX in a Deno project, but deno.lock keeps installing the unpatched registry copy #406), Bug hunt ledger: pip / requirements.txt #309 (Agent-mode apply of a same-size PyPI patch in the same second aspip installleaves pip's__pycache__bytecode valid, so Python keeps running the unpatched code while apply reports it patched #819, Hosted and vendored rewrites of a requirements.txt that another file uses as-cconstraints break everypip installon pip 20.3–21.0 ("Links are not allowed as constraints"), with no warning #740), Bug hunt ledger: uv #310 (Hosted uv scan wires adynamic = ["dependencies"]project, but rollback, remove and the vendored takeover then always refuse ("pyproject.toml no longer declares six") #639, uv hosted → vendored takeover onto a newer patch uuid fails "no installed package found on disk" (exit 1) when the venv holds the hosted patch's bytes, while --dry-run previews success #1105), Bug hunt ledger: Poetry #311 (Agent-mode rollback in the other scope (rollback -g after a project apply, or rollback after a -g apply) deletes the manifest entry and blobs while the patched copy stays patched, and exits 0 #450, uv hosted → vendored takeover onto a newer patch uuid fails "no installed package found on disk" (exit 1) when the venv holds the hosted patch's bytes, while --dry-run previews success #1105), Bug hunt ledger: PDM #312 (Vendored PDM < 2.11 gives no stale-install warning, so after pdm sync the unpatched release stays installed while vex attests not_affected #641), Bug hunt ledger: Pipenv #313 (Vendored Pipenv lock breakspipenv requirements --hash|pip install -ron Pipenv 2023+: the vendored wheel is exported without a hash, so pip's hash-checking mode refuses the whole install #981, Agent mode honours the Pipfile's[pipenv] venv_in_project = truefor every Pipenv, but only 2026.2+ read it, so on Pipenv 2018–2026.1 the WORKON_HOME venv stays unpatched, the system Python is patched instead, and VEX attests not_affected #842), Bug hunt ledger: Hatch #314 (Vendored scan in a Hatch workspace member writes {root:uri} that the workspace root env never expands, so every hatch run at the root fails to install #505, Hosted Hatch scan exits 0 "redirected" when [tool.uv.sources] pins the patched package, but Hatch's uv installer obeys the source: url/path sources install the unpatched wheel and git sources break every install #673), Bug hunt ledger: Cargo #315 (Agent-mode cargo patches the unused registry copy of a crate the user overrides with[patch.crates-io], and VEX attests not_affected while the build links the user's unpatched fork #506), Bug hunt ledger: Bundler (RubyGems) #316 (Gem hosted and vendored lock pins ignore a gemspec development dependency on the same gem, so on Bundler 2.7+ the rewritten Gemfile.lock fails every frozen install ((= v)!vs Bundler's merged(>= 0, = v)!) #985, Vendored re-runs outside the npm family exit 1 while a superseding patch is still building, instead of keeping the older vendored patch #1235), Bug hunt ledger: Go modules #317 (Global Go patching (-g) reports success and VEX attests not_affected, but tools already built withgo installkeep running the unpatched code, and nothing tells the user to reinstall them #422), Bug hunt ledger: Composer #321 (On Composer 1, composer/installers packages (e.g. WordPress plugins) are invisible to the crawler: agent scan skips them as "not installed" and hosted vex attests them without checking the unpatched installed bytes #463, Composer vendored → hosted takeover rewrites the vendored lock entry in place, keeping the patch-uuid dist.reference and transport-options: Composer 1 install crashes and rollback refuses #536)--prune, because the shared registry cache still holds the old version #573 closed 2026-10-26 04:29Z as fixed by Scope the project-mode cargo crawl to the crates Cargo.lock resolves (#1204) #1205b17a114a, still listed asfailin the run cells)3db3cdf6, no closes, no label fixes, no new ledger drift)agent:claimedfrom 30 closed issues (Vendored Poetry patches can't be reverted after apoetry lockfrom another Poetry major (1.8 ⇄ 2.x):vendor --revertdrift-keeps every package with exit 0, and the "re-vendor" remedy is a no-op #1615, CI perf: floating toolchain versions in ci.yml e2e — upstream uv 0.13.2 red-mained the merge queue for 2.7 h (~4.3k job-min wasted on 10-20; ~0.45k min/day amortized) #1645, Hosted and vendored scans refuse an independent Bun project in a dot-directory (packages/.tools) as a workspace member, though Bun'spackages/*never lists dot-directories, so that project can't be patched at all #1631, Hosted and vendored npm scans refuse to patch the project's own bundleDependencies (inBundle: trueon root deps) as "bundled inside its parent's tarball", although npm installs those entries from the lock #1618, Vendored npm refusal of a lockfileVersion 4 lock says to removepatchedDependenciesand re-runnpm install, but npm 12 keeps the lock at v4, so the advice loops and vendoring stays refused #1576, repair leaves a pre-#1541 root<uuid>/.gitattributesas* -text, so the repaired Bun tarball goes back into Git LFS on the next commit #1581, Vendored scan exits 0 when .gitignore covers.socket/vendor/state.json, so the commit silently drops the ledger and every other checkout'srollbackfails with vendor_ledger_missing #1638, Gem vendoredremove/rollback/vendor --revertafter a hosted→vendored takeover leave the patched.geminvendor/cachewith no warning, so fresh installs of the restored upstream lock keep installing patched bytes #1594, Yarn berry ignores anexec:copy of the patched package under another dependency name, so hosted and vendored scans succeed and VEX attests not_affected while that copy installs unpatched #1630, Hosted and vendored scans from a nested directory under a vlt.json root that is not a workspace member write its stray vlt-lock.json and exit 0, though vlt installs from the root there; VEX then attests not_affected (also vlt 1.3.8 pnpm-workspace.yaml dirs, contrary to #1574's premise) #1584, Hosted and vendored npm scans break npm 12allowScriptspins (pkg@x.y.z), so approved install scripts are silently blocked (or everynpm cifails under strict-allow-scripts) #1595, VEX product purl from pyproject.toml keeps the raw version (pkg:pypi/my-service@1.0.0-RC1) instead of the PEP 440-normalized one that uv.lock, the wheel and SBOMs use (1.0.0rc1) #1589, Hosted gemrollback/removeafter an unconverged superseding re-scan restore Gemfile.lock but leave the new patch'ssource … doblock in the Gemfile, report success, and the nextbundle installre-patches #1626, Vendored pnpm 10.34.2+ / 11 / 12 scan breaks build approvals (allowBuilds/onlyBuiltDependencies): the patched package's install script stops running, and on pnpm 11/12 every frozen install fails with ERR_PNPM_IGNORED_BUILDS #1597, Bunvendor --checksays "wiring missing … re-runsocket-patch vendor" when a git, folder or URL/file:tarball copy of the vendored package stays unpatched, though bun.lock still references the artifact and the remedy loops #1600, Hosted vlt scan tells users to try --mode vendored for a named-registry package, but vendored always refuses that package with vendor_lock_entry_unsupported #1601, Slow scan: poetry hosted 2.6x median ms/pkg (lock_fragments::rewrite_batch + VEX lock re-parse) #1473, Slow scan: pdm hosted 2.7x median ms/pkg (toml_edit parse of pdm.lock 14x: rewrite_batch + VEX extract) #1624, Vendoredrollbackandremoveleave an unledgered.socket/vendor/npm/<uuid>/artifact dir behind (e.g. the losing side of a merge), whilevendor --revertsweeps it, and nothing afterwards reports it #1610, Hosted pnpm 12.0–12.12 rollback drops the scoped-registrytarball:URL pnpm recorded, so the restored lock isn't byte-exact #1619, Slow scan: vlt hosted 2.6x median ms/pkg (vlt::partition_instances / split_dep_id per patch) #1570, Vendored PyPI revert drift warnings print the ledger key in Rust debug form:Pipfile.lock entry for Some("default:six") changed since vendoring#1608, CI perf: coverage and e2e-build wait ~1.4 min for clippy on every run; clippy failed 0 of 256 PR runs in 7 days #1681, Nightly: gem unwind-after-unconverged-supersede e2e fails on bundler 1.17.3/2.1.4 #1685, Hosted gem: on Bundler < 2.2 locks a superseding patch is never applied (scan skips it as redirect_unattributable, exits 0) #1688, Hosted yarn classic offline-mirror refusal misses a mirror set in a workspace member's .yarnrc, so installs run from that member fail the integrity check while the scan reports success and VEX attests #1115, Yarn berry reads the wrongnodeLinkerwhen a${VAR}in.yarnrc.ymlis set from.env.yarn: vendored falsely refuses a node-modules project, and agent misses a live PnP project #1611, Perf regression: bun-isolated/rescan wall +21% (cc938aa6..17793173; #1279 candidate) #1606, Vendored requirements.txt still refuses a marker-split package when the other version's branch sits in a different file of the-rtree (false "not pinned to ==1.16.0", exit 1), so a fresh install stays unpatched #1104, Vendored yarn berry misses a parent-scoped userresolutionsentry (pkg-a/left-pad), reports success, and everyyarn install --immutablefails YN0028 #783)allowScriptspins (pkg@x.y.z), so approved install scripts are silently blocked (or everynpm cifails under strict-allow-scripts) #1595, Vendored npm refusal of a lockfileVersion 4 lock says to removepatchedDependenciesand re-runnpm install, but npm 12 keeps the lock at v4, so the advice loops and vendoring stays refused #1576, Hosted and vendored npm scans refuse to patch the project's own bundleDependencies (inBundle: trueon root deps) as "bundled inside its parent's tarball", although npm installs those entries from the lock #1618, repair leaves a pre-#1541 root<uuid>/.gitattributesas* -text, so the repaired Bun tarball goes back into Git LFS on the next commit #1581), Bug hunt ledger: pnpm #303 (Hosted pnpm 12.0–12.12 rollback drops the scoped-registrytarball:URL pnpm recorded, so the restored lock isn't byte-exact #1619, Vendored pnpm 10.34.2+ / 11 / 12 scan breaks build approvals (allowBuilds/onlyBuiltDependencies): the patched package's install script stops running, and on pnpm 11/12 every frozen install fails with ERR_PNPM_IGNORED_BUILDS #1597, Vendored scan exits 0 when .gitignore covers.socket/vendor/state.json, so the commit silently drops the ledger and every other checkout'srollbackfails with vendor_ledger_missing #1638), Bug hunt ledger: Yarn classic (1.x) #304 (Hosted yarn classic offline-mirror refusal misses a mirror set in a workspace member's .yarnrc, so installs run from that member fail the integrity check while the scan reports success and VEX attests #1115, Vendoredrollbackandremoveleave an unledgered.socket/vendor/npm/<uuid>/artifact dir behind (e.g. the losing side of a merge), whilevendor --revertsweeps it, and nothing afterwards reports it #1610,socket-patch --updateon a yarn-classic-installed copy says "managed by npm":npm update -gleaves ayarn global addinstall stale, and a yarn project is told to runnpm install#1629), Bug hunt ledger: Yarn Berry (2+) #305 (Vendored yarn berry misses a parent-scoped userresolutionsentry (pkg-a/left-pad), reports success, and everyyarn install --immutablefails YN0028 #783, Yarn berry reads the wrongnodeLinkerwhen a${VAR}in.yarnrc.ymlis set from.env.yarn: vendored falsely refuses a node-modules project, and agent misses a live PnP project #1611, Yarn berry ignores anexec:copy of the patched package under another dependency name, so hosted and vendored scans succeed and VEX attests not_affected while that copy installs unpatched #1630), Bug hunt ledger: Bun #306 (On Bun 1.4, abun patchmade on a hosted or vendored package is silently dropped by the next superseding re-run, takeover, rollback or revert (the #367 guard only matchesname@versionkeys) #1019, Bunvendor --checksays "wiring missing … re-runsocket-patch vendor" when a git, folder or URL/file:tarball copy of the vendored package stays unpatched, though bun.lock still references the artifact and the remedy loops #1600, repair leaves a pre-#1541 root<uuid>/.gitattributesas* -text, so the repaired Bun tarball goes back into Git LFS on the next commit #1581, Hosted and vendored scans refuse an independent Bun project in a dot-directory (packages/.tools) as a workspace member, though Bun'spackages/*never lists dot-directories, so that project can't be patched at all #1631), Bug hunt ledger: vlt #307 (Hosted vlt scan tells users to try --mode vendored for a named-registry package, but vendored always refuses that package with vendor_lock_entry_unsupported #1601, Hosted and vendored scans from a nested directory under a vlt.json root that is not a workspace member write its stray vlt-lock.json and exit 0, though vlt installs from the root there; VEX then attests not_affected (also vlt 1.3.8 pnpm-workspace.yaml dirs, contrary to #1574's premise) #1584), Bug hunt ledger: pip / requirements.txt #309 (Vendored requirements.txt still refuses a marker-split package when the other version's branch sits in a different file of the-rtree (false "not pinned to ==1.16.0", exit 1), so a fresh install stays unpatched #1104), Bug hunt ledger: uv #310 (VEX product purl from pyproject.toml keeps the raw version (pkg:pypi/my-service@1.0.0-RC1) instead of the PEP 440-normalized one that uv.lock, the wheel and SBOMs use (1.0.0rc1) #1589, Hosted and vendored uv scans wire a patched wheel into a project that setsno-binary/no-binary-packagefor that package, so every lateruv syncfails ("marked as--no-binarybut is itself a binary distribution") #1603), Bug hunt ledger: Poetry #311 (Vendored Poetry patches can't be reverted after apoetry lockfrom another Poetry major (1.8 ⇄ 2.x):vendor --revertdrift-keeps every package with exit 0, and the "re-vendor" remedy is a no-op #1615, VEX product purl from pyproject.toml keeps the raw version (pkg:pypi/my-service@1.0.0-RC1) instead of the PEP 440-normalized one that uv.lock, the wheel and SBOMs use (1.0.0rc1) #1589), Bug hunt ledger: Pipenv #313 (Vendored PyPI revert drift warnings print the ledger key in Rust debug form:Pipfile.lock entry for Some("default:six") changed since vendoring#1608), Bug hunt ledger: Bundler (RubyGems) #316 (Hosted gemrollback/removeafter an unconverged superseding re-scan restore Gemfile.lock but leave the new patch'ssource … doblock in the Gemfile, report success, and the nextbundle installre-patches #1626, Gem vendoredremove/rollback/vendor --revertafter a hosted→vendored takeover leave the patched.geminvendor/cachewith no warning, so fresh installs of the restored upstream lock keep installing patched bytes #1594)agent:claimedfrom 8 closed issues (Hosted and vendored rewrites replace poetry.lock with a file owned by the user running socket-patch, so after a root scan (e.g. a Docker bind mount) the lock's owner gets "Permission denied" frompoetry add/poetry lock#1635, Vendoredvendor --revert/removeof a two-packagepip lockpylock.toml writes an invalid lock: the first package's[packages.wheels.hashes]table moves under the next package, pip refuses the file, and the CLI exits 0 #1623, Hosted rollback / remove of auv pip compile --no-build/--only-binary/--no-binarypylock.toml re-adds the artifacts uv filtered out (uv 0.9.16+), so the restore isn't the original lock #1613, Hosted uv rollback / remove ignoreexclude-newer-package: on uv 0.12+ the restored uv.lock gains an sdist the per-package cutoff had excluded, so the restore isn't the original lock #1604, A requirements.txt pin spelled===X,==X.0or==vXdoesn't contest another lock's Socket wiring of release X, sovexattests not_affected whilepip install -rinstalls the upstream release (#1549 residual) #1602, A requirements.txt wheel path without a leading./(wheels/six-1.16.0-…whl) doesn't contest another lock's Socket wiring, sovexstill attests not_affected whilepip install -rinstalls the upstream wheel (#1549 residual) #1587, Vendored PyPI wheels aren't checked against .gitignore or Git LFS rules (*.whl,.socket/), so a vendored Pipenv scan exits 0 and every fresh clone'spipenv syncfails #1572, Vendored requirements.txt rewrite re-joins every line of a mixed CRLF/LF file with one terminator, so untouched lines change andvendor --revert/removecan't restore the file #1567)vendor --revert/removecan't restore the file #1567, A requirements.txt wheel path without a leading./(wheels/six-1.16.0-…whl) doesn't contest another lock's Socket wiring, sovexstill attests not_affected whilepip install -rinstalls the upstream wheel (#1549 residual) #1587, A requirements.txt pin spelled===X,==X.0or==vXdoesn't contest another lock's Socket wiring of release X, sovexattests not_affected whilepip install -rinstalls the upstream release (#1549 residual) #1602, Vendoredvendor --revert/removeof a two-packagepip lockpylock.toml writes an invalid lock: the first package's[packages.wheels.hashes]table moves under the next package, pip refuses the file, and the CLI exits 0 #1623), Bug hunt ledger: uv #310 (Hosted uv rollback / remove ignoreexclude-newer-package: on uv 0.12+ the restored uv.lock gains an sdist the per-package cutoff had excluded, so the restore isn't the original lock #1604, Hosted rollback / remove of auv pip compile --no-build/--only-binary/--no-binarypylock.toml re-adds the artifacts uv filtered out (uv 0.9.16+), so the restore isn't the original lock #1613), Bug hunt ledger: Poetry #311 (Hosted and vendored rewrites replace poetry.lock with a file owned by the user running socket-patch, so after a root scan (e.g. a Docker bind mount) the lock's owner gets "Permission denied" frompoetry add/poetry lock#1635), Bug hunt ledger: Pipenv #313 (Vendored PyPI wheels aren't checked against .gitignore or Git LFS rules (*.whl,.socket/), so a vendored Pipenv scan exits 0 and every fresh clone'spipenv syncfails #1572)agent:claimedfrom 11 closed issues (Vendored vlt scan accepts a package with apreprepareorpostpreparescript, whichvlt cithen runs inside the committed vendor directory, sovendor --checkandvexfail andrepairloops #1633, Agent-mode npm apply, apply --check and vex skip a declared workspace member whose directory is named build, dist, vendor, tmp, temp or coverage, so its nested copy stays unpatched while VEX attests not_affected #1627,socket-patch --updateon a Bun-installed copy says "managed by npm" and gives an npm command:npm update -gleaves abun add -ginstall stale, andnpm install …@latestin a Bun project breaksbun install --frozen-lockfile#1621, Hosted and vendored Pipenv refuse a patch whenever another Pipfile.lock category pins a different release of the package, so the category that pins the patched release stays unpatched #1616, Yarn berry treats aportal:/link:/file:copy whose package.json has an empty or invalidname("" or "../x") as a different package, so scans succeed and VEX attests not_affected while that copy installs unpatched (#1579 follow-up) #1598, Hosted yarn classic refuses a patch that doesn't change dependencies when the registry metadata's ranges differ from the tarball's package.json (redirect_yarn_classic_dep_manifest_unlocked) #1578, Hosted uv scan gives no uv < 0.5.6 advisory for transitive overrides or repointed constraints, so on uv ≤ 0.5.4 a plainuv syncsilently reinstalls the unpatched wheel after a clean exit 0 #1569, Lock-only yarn classic VEX wrongly omits a correctly pinned patch with dependency_not_installed when the patched package.json has a "" range or a dependency yarn de-duplicates (regression from #1548) #1558, Rootscan --mode vendoredstill exits 1 forever and drops its in-run VEX when a nested npm project has no lockfile (package-lock=false); the #1534 fix only covers nested projects with their own lock #1554, Hosted cargo redirect writes a sparse+ registry even when the project declares rust-version < 1.68, so every build on that cargo fails with "usage of sparse registries requires -Z sparse-registry" while scan reports success #653, Vendored cargo warns cargo_multi_version_old_cargo ("declares no rust-version") when the root package inherits rust-version from [workspace.package] #651)scan --mode vendoredstill exits 1 forever and drops its in-run VEX when a nested npm project has no lockfile (package-lock=false); the #1534 fix only covers nested projects with their own lock #1554), Bug hunt ledger: Yarn classic (1.x) #304 (Lock-only yarn classic VEX wrongly omits a correctly pinned patch with dependency_not_installed when the patched package.json has a "" range or a dependency yarn de-duplicates (regression from #1548) #1558, Hosted yarn classic refuses a patch that doesn't change dependencies when the registry metadata's ranges differ from the tarball's package.json (redirect_yarn_classic_dep_manifest_unlocked) #1578), Bug hunt ledger: Yarn Berry (2+) #305 (Yarn berry treats aportal:/link:/file:copy whose package.json has an empty or invalidname("" or "../x") as a different package, so scans succeed and VEX attests not_affected while that copy installs unpatched (#1579 follow-up) #1598), Bug hunt ledger: Bun #306 (socket-patch --updateon a Bun-installed copy says "managed by npm" and gives an npm command:npm update -gleaves abun add -ginstall stale, andnpm install …@latestin a Bun project breaksbun install --frozen-lockfile#1621), Bug hunt ledger: vlt #307 (Vendored vlt scan accepts a package with apreprepareorpostpreparescript, whichvlt cithen runs inside the committed vendor directory, sovendor --checkandvexfail andrepairloops #1633), Bug hunt ledger: uv #310 (Hosted uv scan gives no uv < 0.5.6 advisory for transitive overrides or repointed constraints, so on uv ≤ 0.5.4 a plainuv syncsilently reinstalls the unpatched wheel after a clean exit 0 #1569), Bug hunt ledger: Pipenv #313 (Hosted and vendored Pipenv refuse a patch whenever another Pipfile.lock category pins a different release of the package, so the category that pins the patched release stays unpatched #1616), Bug hunt ledger: Cargo #315 (Vendored cargo warns cargo_multi_version_old_cargo ("declares no rust-version") when the root package inherits rust-version from [workspace.package] #651, Hosted cargo redirect writes a sparse+ registry even when the project declares rust-version < 1.68, so every build on that cargo fails with "usage of sparse registries requires -Z sparse-registry" while scan reports success #653)0000000000still pending on Yarn classic VEX still attests a pre-v5 hosted pin that yarn installs without the patched package's dependencies: #1463 checks only that the dependency's name is installed, and lock-onlyvexdoesn't check at all #1538, fixed by Fix yarn classic VEX for unlocked dep ranges (#1538) #1548 on 2026-10-14)2026-10-13T14:22:13Z-3898b9on Slow scan: poetry hosted 2.6x median ms/pkg (lock_fragments::rewrite_batch + VEX lock re-parse) #1473 (slices Fix slow hosted Poetry lock rewrite (#1473) #1475 and Read Python locks without copying them in VEX (#1473) #1486 merged, no open PR, claimer silent >48h; kept open because the bench ledger still lists poetry slow at 2.37x on 10-15 and 2.67x on 10-16)agent:claimedfrom 8 closed issues (Yarn berry still drops aportal:copy whose target has no package.json (e.g. a.gitkeepplaceholder) or whose package.json lacks name/version, so scans succeed and VEX attests not_affected while that copy installs unpatched #1579, VEX gemspec product detection reads commented-out# spec.name =/# spec.version =lines, so the document names the wrong product or version #1573, vlt 1.4.0 reads workspaces from pnpm-workspace.yaml, so the #942 / #1134 member refusals miss those members: hosted and vendored scans write a stray member lock and exit 0, and vendored VEX attests not_affected #1564, Yarn berry drops a relativeportal:/link:copy whose target directory is missing (e.g. an uninitialized git submodule), so hosted and vendored scans succeed and VEX attests not_affected while that copy installs unpatched #1561, Hosted pnpm 11/12 scan treats an empty (ornull/undefined)pnpm_config_trust_lockfileasfalseand skips the trustLockfile config, so the next frozen install fails #1557, Vendored PyPI wiring isn't treated as contested when Pipfile.lock (or requirements.txt) points the same release at a non-Socket file/URL/path, so vendor --check stays green and vex attests not_affected while pipenv sync installs upstream #1549, VEX product purl detected from pyproject.toml keeps the raw project name (pkg:pypi/My_Service) instead of the normalized pypi name #1547, uv project under a parent uv.toml / [tool.uv]: hosted and vendored scan add a [tool.uv] table to the project's pyproject.toml, which hides the parent settings from uv, souv sync --lockedfails and a plainuv lockre-resolves without them #1545)bench/ledgerbut not in the discussion)8439e555and Look up NuGet packages by normalized version in the crawler (#1202) #1239d240c658;PurlKeyand the crawler normalize NuGet versions, andnuget_vendored_at_a_four_part_version_stays_livecovers the prune case; only an optional file move is left)e9be7462;verify_member_bytesstreams viazip_member_git_sha256, regression testverify_member_bytes_streams_a_large_deflated_member)agent:claimedfrom 38 closed issues (Hosted and vendored scans from a vlt workspace member with a stray vlt-lock.json still write to that lock and exit 0 when the root's workspaces glob uses an extglob (packages/+(a|b), packages/@(a|b)); vendored VEX then attests not_affected #1542, Vendored Bun tarballs go into Git LFS when .gitattributes tracks *.tgz with LFS, so a checkout without LFS fails bun install --frozen-lockfile #1541, Yarn berry renamed-copy detection ignores aportal:/link:copy with an absolute path, so hosted and vendored scans succeed and every VEX path attests not_affected while that copy installs unpatched #1540, Yarn classic VEX still attests a pre-v5 hosted pin that yarn installs without the patched package's dependencies: #1463 checks only that the dependency's name is installed, and lock-onlyvexdoesn't check at all #1538, Rootscan --mode vendoredexits 1 forever and drops its in-run VEX when a nested independent npm project installs a patched package the root lock doesn't have (hosted mode only warns) #1534, Hosted gemrollback/removestrip the DEPENDENCIES!when the user'ssource … doblock opens after a;on the same line, so frozen installs fail on Bundler 4.0.19+ #1531, Hosted pnpm 11/12 scan ignores apnpm_config_trust_lockfile=falseenv override and says "installs need no extra flags", but the next frozen install fails with ERR_PNPM_TARBALL_URL_MISMATCH #1514, Hosted and vendored Poetry rewrites breakpoetry installon Poetry 1.4–2.2 when the patched dependency is declared withsource = "pypi"("Repository \"pypi\" does not exist."), with no warning #1282, Path-scoped agentscan packages/aandrollback packages/askip a workspace member's npm alias (lp@npm:left-pad) under install-strategy=linked, while its plain links are in scope (exit 0, success) #1266, Yarn classic hosted and vendored scans miss afile:directory copy of the patched package declared under another dependency name, soscan --vexand lock-onlyvexattest not_affected while that copy installs unpatched #1236, Upstream restore sends every public-registry lookup at once; the registry_concurrency cap has no caller #1220, Hosted npm scan appends allow-remote=all to a CRLF .npmrc with no final newline as "\nallow-remote=all\r", leaving an LF line and a bare-CR ending that socket-patch's own .npmrc planner refuses #1196, Vendored bun.lockb workspaces write the member-relative tarball mirrors with no .gitignore check, so a*.tgzrule drops them from the commit and fresh frozen installs fail (Bun 1.1.39–1.2.23) or hang (1.3.9) #1116, Yarn berry PnP refusal misses a live Plug'n'Play project whose.yarnrc.ymlsetsnodeLinkerthrough${VAR}interpolation: agent apply exits 0 "not installed" and lock-only vendor passes the PnP gate (regression from #978) #1100, Hosted scan from a yarn classic workspace member still pins nothing and exits 0 when the root's workspaces use a!pattern (yarn 1 ignores it) or an extglob like packages/@(a|b) #1097, Hosted pnpm scan pins a pnpm-lock.yaml that pnpm is configured to ignore (lockfile=false/lockfile: false), reports success, and lock-only VEX attests not_affected while pnpm installs the upstream package #1074, Vendored gem revert restores Gemfile.lock but leaves the Gemfile path: line when that line carries a trailing comment, and no re-run can finish it #988, Gem agent crawl ignores thatBUNDLE_GEMFILE=gemfiles/x.gemfilemovesBundler.root, so a relative bundle path resolves to the wrong dir,applypatches the system copy andvexattestsnot_affectedwhile Bundler loads the unpatchedgemfiles/vendor/bundlecopy #952, Yarn berry hosted and vendored scans miss afile:/URL copy of the patched package locked under another dependency name, so lockfile VEX (and vendored VEX after install) attests not_affected while that copy installs unpatched #939, Vendored uv script lock: after the user changes the vendored package's specifier in the PEP 723 block,vendor --revert/remove/rollbackwrite the stale==1.16.0back into<script>.py.lock, souv run --lockedfails (exit 0) #869, Vendored yarn berry revert restores the pre-vendor lock entry verbatim, so after upgrading from yarn 4.0.x it writes back a bare-hex checksum and everyyarn install --immutablefails YN0028 #759, VEX product detection ignores PDM 0.x's [tool.pdm] name/version, so vex and scan --vex fail with product_undetected on PDM 0.12 projects (after scan has already rewritten pdm.lock) #642, Composer global-home fallback checks ~/.composer before the XDG home, so scan -g finds no Composer 2 global packages when a stale ~/.composer exists and composer isn't on PATH #586, Hosted and vendored uv wiring ignoreno-sources = true: scan and vendor report success,uv sync --lockedthen fails, and a plainuv syncreinstalls the unpatched wheel #564, Vendored Hatch wiring makes every Hatch install fail when the checkout path contains %XX, # or ; (e.g. a Jenkins "feature%2Fx" workspace), because Hatch's {root:uri} only escapes spaces #547, Running Go apply in a second go.work member writes a second replace for the same module@version, so every workspace build fails with "conflicting replacements" while apply, apply --check and VEX all report success #531, Hosted Go redirect's not_in_module_graph gate counts a go.sum/go.mod-only line as "in the graph", so on a go 1.16 module it writes an inert replace for an unselected version and VEX attests not_affected #509, Agent-mode Go vex omits an applied patch for a +incompatible module (not_applied, exit 1) because it looks up the manifest with a literal "+" while the API key spells it %2B #484, Go apply writes its replace into a root go.mod that go.work doesn'tuse, so the workspace build links the unpatched module while apply, apply --check and VEX all report it patched #458, Hosted cargo scan in acargo vendorproject reports success but breaks every freshcargo build --frozen --offline, and VEX then omits the patch #455, Composer crawler ignores a vendor-dir set in the global Composer config, so scan -g and agent scans report "No packages found" and leave installs unpatched #439, In a--system-site-packagesvenv, pip keeps the base interpreter's unpatched copy after a hosted rewrite, no stale-install warning fires, andvexattests it as patched #409, A user replace in go.work silently overrides the Socket go.mod replace: Go apply and vendor report success and VEX attests not_affected while the build links the user's target #393, Agent-mode Go apply writes a go-patches replace for a module version the build graph doesn't select, reports it applied, and on a go 1.16 go.mod apply --check and vex also report it as patched #392, Agent-mode Go vex attests not_affected aftergo getupgrades the patched module, although the go-patches replace no longer applies and the build links the unpatched code #391, Hosted cargo redirect refuses a crates.io dependency declared with an explicitregistry = "crates-io", treating crates.io as "another registry" #386, Agent-mode cargo apply patches only the first of several registry/src index dirs (cargo 1.84 vs 1.85+ hashes), so one cargo keeps building the unpatched crate while apply and VEX report success #339, Agent-mode cargo apply patches the wrong copy whencargo vendoruses a custom directory (or apply runs from a workspace member), yet reports success and VEX attests not_affected #338)pnpm_config_trust_lockfile=falseenv override and says "installs need no extra flags", but the next frozen install fails with ERR_PNPM_TARBALL_URL_MISMATCH #1514 stillfailin the 11.28.3 / 12.11.2 rows)agent:claimedfrom 22 closed issues (VEX product detection fails on Poetry 2 projects that declare dynamic = ["version"] with the version in [tool.poetry], so scan --vex exits 1 after rewriting poetry.lock #1527, Vendored requirements.txt can't be reverted or removed once a later scan also wires a pylock.toml: the entry flips to flavorpython-lock, whose revert calls its ownrequirements_linewiring "unexpected" drift (exit 0, nothing restored) #1524, Bun 1.3.0 and 1.3.1 locks have no configVersion, so a "!"-excluded member is still refused in hosted and vendored mode after the #1492 fix (regression since #1480) #1521, Yarn classic renamed-copy detection (#1489) misses afile:copy outside the project root and a tarball whose root isn'tpackage/, so scans succeed and VEX attests while that copy installs unpatched #1516, Vendored npmvexandscan --mode vendored --vexattest not_affected beside afile:directory copy of the patched name@version, which npm installs unpatched #1511, Hosted gemrollback/removestrip the DEPENDENCIES!when the user's source block opener spans lines or uses braces, so frozen installs fail on Bundler 4.0.19+ #1509, Pipenv base-interpreter remedy (#1450) printspipenv requirements --categories "packages docs", which Pipenv 2022.12.x–2023.2.4 export as empty, so following it installs nothing (exit 0) #1507, Poetry source-pin guard lets hosted and vendored rewrite a lock-version 1.1 poetry.lock that no Poetry 2.x can install, and the advisory says 2.3+ install it #1503, uv PEP 723 script in a subdirectory: hosted and vendored wiring ignoreno-sources = truefrom a parentuv.toml/pyproject.toml, souv run --lockedfails and a plainuv runimports the unpatched package #1501, Agent-mode scan run from a vlt (or pnpm) workspace member fails package_not_installed for the member's npm-alias dependency, while the same alias patches from the root #1494, Bun 1.3+ bun.lockb root is read as pre-1.3, so a "!"-excluded member can't be patched in hosted or vendored mode (regression in 5.0.1) #1492, Hosted get/scan from a yarn berry workspace member still pins nothing and exits 0 when the root's workspaces glob uses a regex group (packages/(a|b)), a POSIX class ([[:alpha:]]) or a..segment #1490, Hosted npmscan --vexattests not_affected when the lock also installs the same name@version from afile:tarball or directory, which npm installs unpatched (tarball shape regressed in #1008) #1481, Hosted gem scan ignores a Gemfilelockfile "custom.lock"DSL call (Bundler 4), so it pins the unused Gemfile.lock, leaves the real lock untouched, and every frozen install fails #1477, Hosted gemrollback/removestill strip the DEPENDENCIES!when the user'ssource … doblock holds an assignment-formv = if/case/begin … end, so frozen installs fail on Bundler 4.0.19+ #1476, Perf regression: hatch/hosted wall +21% (9c43dfc9..17793173) #1471, vendor --check reports a missing or corrupt vendored artifact as a raw Rust Debug value (Corrupt { reason: "vendor_workspace_artifact_missing" }) with no remedy, thoughsocket-patch repairfixes it #1467, Hosted yarn berry rollback/remove drop the::__archiveUrl=binding when the project's mirror serves npmjs tarball URLs, so cold installs fetch a mirror path that 404s #1465, Hosted yarn classic rescan and VEX accept a pin written by v4.0.0 whose patched package.json adds a dependency the lock doesn't have, so yarn installs the patched package without it #1462, Hosted pnpm scan refuses with redirect_pnpm_lockfile_disabled over env lockfile settings the project's pnpm major ignores (e.g. any pnpm 11/12 project run throughnpm execwith package-lock=false) #1460, Pipenv stale-install remedy can't replace a base-interpreter copy in a--site-packagesvenv:pip uninstallrefuses it andpipenv synckeeps it, so following the warning leaves the package unpatched #1450, Hosted uv: afteruv remove <parent>oruv lock --upgrade-package <parent>drops a hosted-pinned transitive package, its leftover override makes rollback, remove and list fail forever with hosted_wiring_contested #1445)npm execwith package-lock=false) #1460), Bug hunt ledger: Yarn classic (1.x) #304 (Hosted yarn classic rescan and VEX accept a pin written by v4.0.0 whose patched package.json adds a dependency the lock doesn't have, so yarn installs the patched package without it #1462, Yarn classic renamed-copy detection (#1489) misses afile:copy outside the project root and a tarball whose root isn'tpackage/, so scans succeed and VEX attests while that copy installs unpatched #1516), Bug hunt ledger: Bun #306 (Bun 1.3.0 and 1.3.1 locks have no configVersion, so a "!"-excluded member is still refused in hosted and vendored mode after the #1492 fix (regression since #1480) #1521), Bug hunt ledger: uv #310 (Hosted uv: afteruv remove <parent>oruv lock --upgrade-package <parent>drops a hosted-pinned transitive package, its leftover override makes rollback, remove and list fail forever with hosted_wiring_contested #1445, uv PEP 723 script in a subdirectory: hosted and vendored wiring ignoreno-sources = truefrom a parentuv.toml/pyproject.toml, souv run --lockedfails and a plainuv runimports the unpatched package #1501), Bug hunt ledger: Poetry #311 (Poetry source-pin guard lets hosted and vendored rewrite a lock-version 1.1 poetry.lock that no Poetry 2.x can install, and the advisory says 2.3+ install it #1503, VEX product detection fails on Poetry 2 projects that declare dynamic = ["version"] with the version in [tool.poetry], so scan --vex exits 1 after rewriting poetry.lock #1527), Bug hunt ledger: Bundler (RubyGems) #316 (Hosted gemrollback/removestill strip the DEPENDENCIES!when the user'ssource … doblock holds an assignment-formv = if/case/begin … end, so frozen installs fail on Bundler 4.0.19+ #1476, Hosted gem scan ignores a Gemfilelockfile "custom.lock"DSL call (Bundler 4), so it pins the unused Gemfile.lock, leaves the real lock untouched, and every frozen install fails #1477, Hosted gemrollback/removestrip the DEPENDENCIES!when the user's source block opener spans lines or uses braces, so frozen installs fail on Bundler 4.0.19+ #1509)2026-10-08T17:56:10Z-d68635on Tracking: build and classify purls through one validated utils::purl API #748 (slices Compare purls through one PurlKey type #1045 and Guard single-segment name/version coordinates through one path_safety check (#748) #1153 merged 2026-10-08, no open PR, claimer silent since 2026-10-08 18:00Z)2026-10-08T10:59:14Z-aa074don Route purl ecosystem checks through Ecosystem::from_purl instead of 24 inline starts_with("pkg:<type>/") tests #747 (Classify purls through Ecosystem::from_purl in free files (#747) #1126 merged slice 1 on 2026-10-11 01:02Z; about 68 inlinestarts_with("pkg:<type>/")checks remain on main, no open PR)agent:claimedfrom 4 closed issues (A bare scan or get on a project holding both vendored packages and hosted pins silently converts every hosted pin to vendored (exit 0, no warning), so it undoes a partial hosted takeover #1437, Hosted yarn berry rollback/remove put back a descriptor thatyarn removedeleted from one workspace member, so everyyarn install --immutablefails YN0028 #1435, Perf regression: yarn-classic/hosted wall +165% (5096c41a, #1328) #1423, CI perf: full tier (41 legs) runs on every push to main, not just nightly #1414)file:directory copy of the patched package declared under another dependency name, soscan --vexand lock-onlyvexattest not_affected while that copy installs unpatched #1236 (2026-10-09T07:22:27Z-55af4e), NuGet version identity is normalized by vendor but not by PurlKey, so a freshly vendored 4-part version is judged unused and pruned #1202 (…-4b9e1c), Tracking: assert stable codes instead of human sentences in CLI tests, and fold the covgap suites #1089 (…-6bbcee), Tracking: revert every vendored backend through one record-revert engine instead of nine hand-written mechanisms #989 (…-4f66ea), Consolidate remaining BOM stripping after the pnpm reader failures were fixed #905 (…-7070bc), Pick the line terminator for spliced lines through one line_endings::terminator #815 (…-78dc6b), Delete the vendored and hosted-vlt helpers left without a production caller by the v5 consolidation #782 (…-4b7e1a), Read and splice nuget.config through formats::nuget in hosted, vendored and restore #594 (…-ead28c): slices merged by 2026-10-09 23:08Z, no open PR for the rest, claimer silent for more than 48hagent:claimedfrom 11 closed issues (CI perf: e2e-build-windows — full Windows test build is the merge-queue critical path in 27/30 runs (~2.5 min off every merge) #1385, Yarn classic: vendor --check / repair pass a yarn.lock with a dangling dependency descriptor written by a pre-v5 release #1379, Vendored uv transitive package later added as a direct dependency (uv add six==1.16.0):vendor --revert/remove/rollbackhalf-revert the pair, souv sync --lockedfails andvendor --checkclaims nothing references the wheel #1374, CI perf: PR CI — 23% of full PR runs re-test unchanged diffs after a merge-main push (~20–30k Linux job-min/day, feeds the ubuntu-latest backlog) #1373, Vendored mode leaves a Pipenv-written pylock.toml or a uv-export requirements.txt unpatched beside the wired lock #1368, Vendored uv script locks: afteruv remove --scriptdrops the package from one of two vendored scripts, every unwind keeps the other script wired (revert exits 0, remove/rollback exit 1, hosted takeover refuses) #1285, The #812 replace-registry-host warning misses a${VAR}value in .npmrc: npm expands it toalways, so every npm ci fails E404, while the hosted scan reports success with no warning #1233, Gem agentapplypatches only the ruby-platformx-1.0/dir when ax-1.0-x86_64-linux-gnu/sibling is also installed, so Bundler loads the unpatched platform gem whilevexattestsnot_affected#1092, Yarn berry hosted pin can't cover a descriptor added after pinning: re-scan refuses with an impossible "dedupe" remedy, and rollback reports success but leaves a lock everyyarn install --immutablerejects (YN0028) #1082, GemBUNDLE_GEMFILEcheck compares paths lexically, so a symlinked spelling of the project's own Gemfile (e.g. macOS/tmp/app/Gemfile) is refused, andvex/rollbackreject the hosted patch Bundler is loading #896, Vendored uv script locks: once the user deletes one wired script (or its .py.lock),vendor --revert,remove,rollbackand the hosted takeover can never unwind the other scripts, and the takeover's suggested fix is the command that fails #890)${VAR}value in .npmrc: npm expands it toalways, so every npm ci fails E404, while the hosted scan reports success with no warning #1233), Bug hunt ledger: Yarn Berry (2+) #305 (Yarn berry hosted pin can't cover a descriptor added after pinning: re-scan refuses with an impossible "dedupe" remedy, and rollback reports success but leaves a lock everyyarn install --immutablerejects (YN0028) #1082), Bug hunt ledger: uv #310 (Vendored uv script locks: afteruv remove --scriptdrops the package from one of two vendored scripts, every unwind keeps the other script wired (revert exits 0, remove/rollback exit 1, hosted takeover refuses) #1285), Bug hunt ledger: Bundler (RubyGems) #316 (GemBUNDLE_GEMFILEcheck compares paths lexically, so a symlinked spelling of the project's own Gemfile (e.g. macOS/tmp/app/Gemfile) is refused, andvex/rollbackreject the hosted patch Bundler is loading #896, Gem agentapplypatches only the ruby-platformx-1.0/dir when ax-1.0-x86_64-linux-gnu/sibling is also installed, so Bundler loads the unpatched platform gem whilevexattestsnot_affected#1092)2026-10-08T02:56:01Z-9ee976on Route the remaining hand-rolled child-process deadlines through utils::process #1067 (Bound the PDM site probe through utils::process (#1067) #1106 merged thepdm_siteslice only, claimer silent since 2026-10-08 03:01Z)2026-10-08T15:55:44Z-d66405on Tracking: read and edit pom.xml through one element scanner in formats::maven #715 (Read Gradle verification metadata through one shared XML scanner (#715) #1145 merged item 6 only, claimer silent since 2026-10-08 16:02Z)agent:claimedfrom 134 closed issues (Hosted NuGet remove / rollback / takeover restore packages.lock.json to the nuget.org catalog packageHash, which isn't NuGet's contentHash for signed packages, so every later dotnet restore fails NU1403 #624, Decide: warn on and then remove scan --apply/--vendor, and whether --vex stays embedded #966, Yarn classic: a patch that adds a dependency to the package's own package.json leaves vendored yarn.lock with a dangling dependency (offline frozen install fails, lock churns), and hosted silently installs without it #591, Maven pom rewrites add a second <repositories> or <dependencyManagement> section when the existing one is self-closed or has a comment before <dependencies>, so Maven refuses the pom #342, Vendored and hosted NuGet patches are shadowed by a warm global packages folder: silently unpatched without a lock, NU1403 with one #352, Hosted Maven rewriter ignores<classifier>and suffixes sources/tests/native classifier dependencies, which breaks the build #262, Hosted Maven rewriter edits commented-out, plugin and profile markup, so builds either stay unpatched or break #259, Hosted/vendored NuGet mapping isn't exclusive when nuget.config already maps the exact package id to another source, so restore races the Socket feed against nuget.org (NU1403 with a lock, silently unpatched without one) #462, NuGet nuget.config authored by vendored/hosted mode maps '*' only to nuget.org, cutting off sources inherited from parent or user-level configs (NU1101) #354, With --manifest-path into another project, rollback, remove, repair, vex, scan and get read the vendored ledger from --cwd #745, Vendored mode in a Pipenv project wires only Pipfile.lock and silently leaves a sibling requirements.txt unpatched, and the hosted → vendored takeover reverts that file's hosted pin to plain PyPI #612, Go apply and vendor wire in a patched module whose go.mod raises or adds a requirement without syncing the consumer go.mod/go.sum, so every defaultgo buildfails while apply, --check and VEX report success #618, Go apply and vendor break every build in projects with a committed vendor/ directory (modules.txt not synced), while apply --check and VEX report success #343, Maven hosted scan pins, and VEX attests, artifacts the project doesn't depend on (the crawler lists all of~/.m2) #265, Vendored NuGet on a core.autocrlf checkout: vendor --revert / remove / rollback revert packages.lock.json but leave nuget.config wired, so every restore fails NU1403 (vendor --revert exits 0) #537, Vendored Maven, Gradle and NuGet artifacts can be git-ignored silently, because only npm checks .gitignore #1061, Hosted PDM rollback and remove replace a private index's static_urls with files.pythonhosted.org, so PDM bypasses the mirror (or fails on 2.12 behind a firewall) #413, Agent-mode cargoscan --sync/--prunedrops the manifest entry of a crate the lock no longer resolves but leaves its shared registry-cache copy patched, sorollbackcan't restore it (regression from #1205) #1278, Cargo rollback after an agent→vendored takeover leaves the shared registry cache patched, reports success, and deletes the revert blobs #336, Hosted gemrollback/removestrips theDEPENDENCIES!of a gem the user declared inside asource "https://rubygems.org" doblock, so every frozen install fails after the unwind #1056, Vendored and hosted NuGet ignore a per-project packages.<project>.lock.json, so the lock is never re-pinned and every later restore fails NU1403 while VEX attests the patch #514, Agent-mode cargo apply/rollback has no effect on an already-built project: cargo reuses the cached rlib from target/, while apply reports success and VEX attests not_affected #387, Vendored and hosted NuGet leave member-project packages.lock.json unpinned in a solution layout, so every fresh restore fails NU1403 #353,removeandrollbackcall a vendored PyPI residual-reference keep "lockfile wiring drifted", and their "re-runscan --mode vendoredto normalize, then remove" remedy loops (Pipenvpipenv requirementsexport) #1184, After a hosted or vendored PDM rollback, pdm sync / pdm install keep the patched build installed, though rollback says the next install restores it #477, #480, #1197, #1096, #1203, #1017, #479, #767, #604, #558, #346, #1131, #1138, #488, #1287, #1295, #923, #893, #658, #623, #593, #344, #1219, #1111, #863, #679, #737, #1270, #1125, #1088, #261, #1129, #1127, #411, #1156, #1107, #616, #982, #1292, #1276, #1155, #1128, #792, #1062, #542, #1271, #1098, #1243, #685, #1158, #1081, #1144, #1260, #1252, #1214, #1023, #866, #671, #1249, #1134, #1195, #1101, #371, #497, #443, #578, #635, #599, #764, #735, #861, #784, #992, #919, #648, #435, #466, #556, #492, #713, #633, #714, #778, #734, #830, #854, #853, #902, #912, #922, #856, #663, #433, #554, #688, #753, #711, #828, #812, #879, #899, #898, #427, #631, #707, #704, #808, #867, #693, #615)fail)Deferred / unsure
GlobalArgs::lock_timeout()accessor. They are different changes, so both stay open.e006861c,Refs) and the pip half was verified fixed. It stays open for theagent:needs-humandrift-keep exit-code decision.agent:needs-human; a human can close it.agent:needs-human. It's labeledpm:yarnwhile other berry issues usepm:yarn-berry.failmarks are stale.[...]classes) are different code paths, not duplicates.Needs a human
composer-lock-members.ts, outside this repo) isagent:needs-human.agent:needs-humandecisions: #267, #686, #691, #977, #1052, #1065, #1099, #1109, #1130, #1200, #1248, #1352, #1512, #1588, #1607, #1660, #1670, #1720.Generated by Claude Code
All reactions