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-11-05 13:22Z on origin/main
7bde3ba5(no merges since #1998 on 2026-11-03 20:17Z). Reviewed 122 open issues, issues and PRs updated since 07:00Z (none), PRs from the last 14 days (none merged), and the discussion snapshot (no new discussion comments). Re-checked stale deferred items against main.This run
go mod tidydrop the replace but not restore the module's go.sum lines, so the next defaultgo buildfails with "missing go.sum entry" while rollback exits 0 with no warning #549 as completed: its deferred note said "open PR Fix Go patch delivery, audits, and reinstalls #1698 may fix it", but the go.sum restore landed on main in193efef(Sweep core utils http, mod and hatch #1914). I built7bde3ba5and ran the issue's own repro. apply →go mod tidy→rollbackand →removeboth restore the 2 go.sum lines, and the default build printsPRISTINE. The e2ego_rollback_after_tidy_restores_upstream_sums_offlinealso passes.go mod tidydrop the replace but not restore the module's go.sum lines, so the next defaultgo buildfails with "missing go.sum entry" while rollback exits 0 with no warning #549 asfail(Linux 1.24.7 and 1.26.3 rows, to-do item 3), so I commented there.file:./.socket/vendor/…tarball against the member dir #691, 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, On a go 1.16 go.mod, Go apply, apply --check and vex trust a stale go.sum zip line left by a downgrade, so they report an inert replace as applied (or refuse a selected version) #1862, npm hosted and vendored scans pin a dependency thatoverridesforces to a remote tarball URL;npm ciinstalls it unpatched, and vendoredvex/vendor --checkstill pass #1965) carryagent:needs-human; left alone. No closed issue updated in the last 7 days carriesagent:claimed.Recent actions (rolling, newest first)
go mod tidydrop the replace but not restore the module's go.sum lines, so the next defaultgo buildfails with "missing go.sum entry" while rollback exits 0 with no warning #549 as completed (go.sum restore from PR Fix Go patch delivery, audits, and reinstalls #1698 reached main in193efef(Sweep core utils http, mod and hatch #1914); issue repro for rollback and remove plusgo_rollback_after_tidy_restores_upstream_sums_offlinepass on7bde3ba5)go mod tidydrop the replace but not restore the module's go.sum lines, so the next defaultgo buildfails with "missing go.sum entry" while rollback exits 0 with no warning #549 closed, stillfailin two matrix rows and to-do item 3)7bde3ba5, no issue/PR/discussion changes since 01:18Z; no closes, no label fixes, no new ledger drift)7bde3ba5, no merges or new issues since 19:18Z; no closes, no label fixes, no new ledger drift)2e3e30ecfixed the gem leg; bun 403 was a production blip;hosted-e2egreen for real on every PR since, latest Stop fetching patch views during hosted scans #2021 18:05Z)2026-11-02T04:55:35Z-a3f91c) and Copy test fixture trees through one tests/common::copy_tree: 38 recursive copiers, 20 identical #1979 (2026-11-02T13:04:26Z-7c19e4) and removedagent:claimed; first slices merged >48h ago, no claimer activity, no open PR7bde3ba5, no issue/PR/discussion changes since 07:20Z; Share one docker test harness: cov_docker_args ×10, skip_if_no_image ×11 and assert_vex_agent_attested ×8 are copied, and 8 docker suites never honour SOCKET_PATCH_DOCKER_E2E_REQUIRED #1968/Copy test fixture trees through one tests/common::copy_tree: 38 recursive copiers, 20 identical #1979 claims still under 48h; no closes, no label fixes, no new ledger drift)7bde3ba5, no merges or new issues since 01:20Z; Share one docker test harness: cov_docker_args ×10, skip_if_no_image ×11 and assert_vex_agent_attested ×8 are copied, and 8 docker suites never honour SOCKET_PATCH_DOCKER_E2E_REQUIRED #1968/Copy test fixture trees through one tests/common::copy_tree: 38 recursive copiers, 20 identical #1979 claims still under 48h since their slices merged; new PR Run tests/common selftests once, not in 118 binaries #2000 for Run tests/common's selftests in one binary: 21 helper selftests are compiled into and re-run by every one of ~104 includers #1957; no closes, no label fixes, no new ledger drift)7bde3ba5via Rebuild gem native extensions in agent-mode apply (#1996) #1998, which closed Agent-mode apply reports gem native-extension patches as applied without rebuilding #1996 itself; no other closes, no label fixes, no new ledger drift)531f5914via Fix Windows PyPI no-lockfile hosted scan test #1994, test-only Windows fixture fix referencing no open issue; new Agent-mode apply reports gem native-extension patches as applied without rebuilding #1996/Nightly gem e2e red on bundler 1.17/2.1: CRLF source-block rollback unattributable #1997 valid; no closes, no label fixes, no new ledger drift)3eb2ec14, no merges since 2026-11-02 18:56Z, no new issues, no closes, no label fixes, no new ledger drift)3eb2ec14, no merges since 2026-11-02 18:56Z, no new issues, no closes, no label fixes, no new ledger drift)3eb2ec14, no merges since 2026-11-02 18:56Z, no closes, no label fixes, no new ledger drift)agent:claimedfrom 43 closed issues (Hosted gem rollback / remove turn a gem reached only through a Bundler 4.1override …, with:, in:into a new top-level exact pin, so the project can no longer update past the vulnerable version #1989, Vendored npm dry run and --max-new-patches planning miss per-entry package-lock refusals, so a URL-spec, git-spec or workspace-member package previews as vendorable and takes the only rollout slot on every run #1976, hermetic::command leaves color env ambient (CLICOLOR_FORCE=1 fails a list test), and its HOSTILE_SEEDS seed-then-remove the same list so they can never catch a dropped scrub #1958, Parse every cli_parse_* suite through hermetic::try_parse: four suites carry a byte-identical EnvScrub, and list/remove/main parse with no scrub at all #1956, After a hosted rollback or vendored revert of a requirements.txt pin, plainpip install -rkeeps the patched build, though rollback says the next install restores it (andvendor --revertsays nothing) #1953, "pnpm lock importers list a non-root member" is written twice and drifted on comment lines: keep formats::pnpm::workspace, delete the utils::pnpm_workspace copy #1952, Resolve a yarn classic file:/url copy's identity through formats::yarn::copy only: source.rs keeps a drifted second reader that hosted uses #1951, PnpmLock::parse inventories a pnpm 11 env-lockfile document's configDependencies as project packages, while InstalledPackages and the upstream evidence reader drop it #1949, Run PTY test children through one common::pty_io::run: the openpty-spawn-feed-collect runner is copied 7×, and only 2 copies pin TERM #1942, Build every tests/apply fixture through apply_fixture: 9 suites in the apply binary re-write the manifest, blob, package and event-lookup helpers it already has #1941, Vendored npm rollback / remove / vendor --revert on a lockfileVersion 2 lock fail after anynpm install, yet half-revert the lock:packagesgoes back to the registry while the legacy mirror keeps the patched integrity, and npm 6 then fails EINTEGRITY #1937, gemspec readers treat =begin blocks and heredocs as code: route gemspec_directives and dev_dependency_requirements through manifest::for_each_code_line #1932, Bundler's path tier rule is written twice in ruby_crawler, and store discovery ignores BUNDLE_DISABLE_SHARED_GEMS: "false" #1931,vendorandvendor --checkrun from an npm workspace member directory exit 0 without looking at the root lock: the eject says "nothing to vendor" and the check passes over a tampered artifact #1921, Read pnpm YAML settings through one formats::pnpm scalar reader: three top-level-value readers drifted on quotes and empty values, and .modules.yaml is parsed twice #1918, A lockless uv project with a Poetry plugin table loses its UV_PROJECT_ENVIRONMENT packages: "is this Poetry" is read three ways #1916, vendor's download plan re-walks the vendor loop's candidate selection, and the copy skips the vlt refusal and the ambiguous-variant check #1909, scan's vendored planning and preview run the refusal preflights twice, and the planning copy skips the PyPI refusals #1908, Vendored scan/get run from an npm workspace member directory refuses with "no package-lock.json … run your package manager's install first", a remedy that loops; hosted names the workspace root #1904, Under the default --cwd ".", the npm crawler never sees a parent .yarnrc --modules-folder or a parent yarn pnpm store, because it walks lexical ancestors of "." #1902, Tokenize yarn-classic .yarnrc lines in one formats/yarn helper: the crawler's copy keeps single quotes that redirect's reader strips #1901, Read package.jsonworkspacesthrough one helper: five readers disagree on non-string items, null and empty lists #1900, Share one scoped env-var test guard: EnvGuard is copy-pasted 11 times across core unit and integration tests #1889, Memoize env-keyed subprocess probes through one helper: composer, python and ruby each define the same env key and drifted on when an answer is kept #1888, Build the Pipenv stale-install remedy in one core helper: hosted scan and vendored pypi each write it, and the copies drifted #1878, 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, 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, api/client.rs downloads a served artifact through two near-copy GETs and hand-writes four retry loops under two retry policies #1869, 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, 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, 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, Keep one URL credential stripper: utils::redact::strip_url_credentials is dead while VEX and upstream npm use vex::product's copy #1848, Read "poetry.lock written before Poetry 1.4" through one helper; utils::poetry_lock::lock_writer_version is dead #1847, pnpm workspace membership refuses brace and class globs the shared matcher already reads, and hosted keeps a second reader for them #1846, Drive pdm.lock and poetry.lock rewrites through one lock_fragments driver instead of two mirrored triads #1844, 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, Resolve GOPATH and GOMODCACHE through one go_env helper instead of two drifting copies #1834, Cargo workspace member globs ignore [...] character classes, so members = ["crates/[ab]*"] expands to no members #1833, Cargo build-cache invalidation reads .cargo/config.toml where cargo reads .cargo/config, so it cleans the wrong target dir #1832, Hosted gem redirect writes the Socketsource … doblock with LF endings into a CRLF Gemfile, leaving it with mixed line endings #1831, 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, Hosted Maven and VEX treat a Maven 4 implicit-subproject root as one pom #1809, PyPI hosted scan lacks a specific missing-requirements warning after redirect_unconfirmed reporting #638)scan/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, 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, Vendored scan/get run from an npm workspace member directory refuses with "no package-lock.json … run your package manager's install first", a remedy that loops; hosted names the workspace root #1904,vendorandvendor --checkrun from an npm workspace member directory exit 0 without looking at the root lock: the eject says "nothing to vendor" and the check passes over a tampered artifact #1921, Vendored npm rollback / remove / vendor --revert on a lockfileVersion 2 lock fail after anynpm install, yet half-revert the lock:packagesgoes back to the registry while the legacy mirror keeps the patched integrity, and npm 6 then fails EINTEGRITY #1937, Vendored npm dry run and --max-new-patches planning miss per-entry package-lock refusals, so a URL-spec, git-spec or workspace-member package previews as vendorable and takes the only rollout slot on every run #1976), Bug hunt ledger: pip / requirements.txt #309 (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, 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, After a hosted rollback or vendored revert of a requirements.txt pin, plainpip install -rkeeps the patched build, though rollback says the next install restores it (andvendor --revertsays nothing) #1953), Bug hunt ledger: Bundler (RubyGems) #316 (Hosted gem redirect writes the Socketsource … doblock with LF endings into a CRLF Gemfile, leaving it with mixed line endings #1831, Hosted gem rollback / remove turn a gem reached only through a Bundler 4.1override …, with:, in:into a new top-level exact pin, so the project can no longer update past the vulnerable version #1989), Bug hunt ledger: Go modules #317 (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)cbbbdb90, no merges since 2026-10-30 13:28Z, no closes, no label fixes, no new ledger drift)cbbbdb90, no merges since 2026-10-30 13:28Z, no closes, no label fixes, no new ledger drift)cbbbdb90, no merges since 2026-10-30 13:28Z, no closes, no label fixes, no new ledger drift)cbbbdb90, no merges since 2026-10-30 13:28Z, no closes, no label fixes, no new ledger drift)cbbbdb90, no merges since 2026-10-30 13:28Z, no closes, no label fixes, no new ledger drift)cbbbdb90, no merges since 2026-10-30 13:28Z, no closes, no label fixes, no new ledger drift)six[foo]==X) in requirements.txt beside apip lockpylock.toml still un-hosts requirements.txt and leaves it unpatched, exit 0 (#1758 residual) #1794 closed by Fix extras pin un-hosted beside a pylock (#1794) #1796cbbbdb90, still listed as open /fail)agent:claimedfrom closed Hosted → vendored over an extras pin (six[foo]==X) in requirements.txt beside apip lockpylock.toml still un-hosts requirements.txt and leaves it unpatched, exit 0 (#1758 residual) #17945ca56238, 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)Deferred / unsure
95208624, PR says "npm_crawler classifies node_modules store children three times, and the copies drifted on store entries and legacy/global stores #1899 stays open"), Copy test fixture trees through one tests/common::copy_tree: 38 recursive copiers, 20 identical #1979 (Share one copy_tree across the test suites #1988b0b24e23, slice 1; claim released 2026-11-04), Share one docker test harness: cov_docker_args ×10, skip_if_no_image ×11 and assert_vex_agent_attested ×8 are copied, and 8 docker suites never honour SOCKET_PATCH_DOCKER_E2E_REQUIRED #1968 (Share one docker test harness (#1968, first slice) #197244d22d2d, first slice; claim released 2026-11-04), Acquire apply.lock through one lock_cli helper that takes &GlobalArgs; the sequence is open-coded 9 times and renders lock_held 3 ways #1858 (Sweep hosted_unwind, lock_cli, list, commands/mod (+ rollback dead branch) #1864 leavesacquire_or_emit(&GlobalArgs)undone;lock_cli.rs:18on main), Derive the env-var scrub lists from clap's bindings; SOCKET_NO_SOCKET_YML is missing from LOCAL_ARG_ENV_VARS #1837/The project-patch (user_patches) gate loop is written five times, and scan's and vendor's copies have drifted #1911/Move Bundler settings parsing out of ruby_crawler into formats/gem/settings.rs, and read .bundle/config keys with one parser (two drifted today) #1935/Run the Bun and vlt vendored preflights as one vendor_preflight with one per-purl refusal map #1839/e2e_hosted_production and e2e_vendored_production are a near-fork: 11 identical helpers, a copied PURL/UUID catalog and hand-rolled VEX checkers beside vex_e2e_common #1983 only mentioned as out of scope in Sweep cli args.rs: inline, dedupe tests, trim docs #1842/Sweep update, user_patches, vendor_orphans, vlt_heal #1929/Fix Bundler path tier read two ways (#1931) #1943/Fix vendor plan granting vlt-refused packages (#1909) #1947/Share one copy_tree across the test suites #1988.775fc79) merged child 4 and the vendor half of child 2, butsend_json_requeststill runs its own loop besideretry_vendor(api/client.rs:568,:1628), and child 3 (fetch_binaryretry) is open. Stays open.GlobalArgs::lock_timeout()accessor. They are different changes, so both stay open.# socket-patch vendor:comment:vendor --revertdrift-keeps forever (exit 0), and the suggested "re-vendor" remedy is a no-op or adds a duplicate line #977: Fix vendored requirements revert on edited comment (#977) #1825 merged (e006861c,Refs) and the pip half was verified fixed. It stays open for theagent:needs-humandrift-keep exit-code decision.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, needs a contract decision; open.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..yarnrc/ yarn pnpm store missed under--cwd .) and Tokenize yarn-classic .yarnrc lines in one formats/yarn helper: the crawler's copy keeps single quotes that redirect's reader strips #1901 (one.yarnrctokenizer) touch the same crawler code, but one is a lookup bug and the other a tokenizer refactor. Both stay open.!pattern (yarn 1 ignores it) or an extglob like packages/@(a|b) #1097 (yarn classic hosted) are closed and are different triggers.vendorandvendor --checkrun from an npm workspace member directory exit 0 without looking at the root lock: the eject says "nothing to vendor" and the check passes over a tampered artifact #1921 (vendor/vendor --checkfrom an npm workspace member exit 0) and Vendored scan/get run from an npm workspace member directory refuses with "no package-lock.json … run your package manager's install first", a remedy that loops; hosted names the workspace root #1904 (vendoredscan/getfrom a member refuse with a looping remedy; PR Fix vendored member refusal not naming root (#1904) #1913) are different commands with opposite symptoms. Both stay open.HOME/YARN_NODE_LINKER/VIRTUAL_ENV) proposes using Share one scoped env-var test guard: EnvGuard is copy-pasted 11 times across core unit and integration tests #1889's shared env guard; it is a separate test-hermeticity fix, not a duplicate.[tool.poetry-…]plugin table), Walk a NuGet project tree through one helper: the crawler's restore scope and vendor::nuget_config each walk it, and they drifted on project-file case and non-UTF-8 names #1917 (one NuGet project walk; touches Read and splice nuget.config through formats::nuget in hosted, vendored and restore #594/Tracking: move the pure lock codecs and neutral lock types into formats/ so formats imports nothing from vendor or redirect #833 placement) and Read pnpm YAML settings through one formats::pnpm scalar reader: three top-level-value readers drifted on quotes and empty values, and .modules.yaml is parsed twice #1918 (one pnpm YAML scalar reader) are new arch-audit items pinned tocbbbdb90; none duplicates an open issue.npm install, yet half-revert the lock:packagesgoes back to the registry while the legacy mirror keeps the patched integrity, and npm 6 then fails EINTEGRITY #1937 (vendored npm rollback/remove/vendor --reverton a lockfileVersion 2 lock afternpm install) is the revert-side sibling of closed Vendored npm vex and vendor --check fail after any npm 7–10npm installon a lockfileVersion 2 lock, because npm dropsresolvedfrom the legacy mirror and #813 treats that as an unpatched npm 6 install (regression) #879 (vex andvendor --checkon the same trigger). They are different commands, so it is not a duplicate.disable_shared_gems) and Move Bundler settings parsing out of ruby_crawler into formats/gem/settings.rs, and read .bundle/config keys with one parser (two drifted today) #1935 (move Bundler settings parsing toformats/gem; two.bundle/configkey parsers) both touchruby_crawler.rs, but they are separate register entries (A53 and A57) with different fixes. Both stay open.formats/text.rsnow ownsstrip_bom/split_bom, but inline'\u{feff}'stripping remains insbt/build.rs,redirect/mod.rs,upstream/pypi.rs,vex/discover/yarn.rsand more, so it stays open. Delete the vendored and hosted-vlt helpers left without a production caller by the v5 consolidation #782:committed_artifact_intact,go_sum_edit::remove_linesandPnpmLock::wired_integritystill exist oncbbbdb90, so it stays open too.cbbbdb90with executed repros) are new. formats::xml::attr matches a name inside another attribute's quoted value and never decodes entities; NuGet keeps a second, quote-aware attribute reader #1950 extends Tracking: read and edit pom.xml through one element scanner in formats::maven #715 (pom.xml element scanner) but targetsformats::xml::attrand its NuGet twin, so it is not a duplicate. PnpmLock::parse inventories a pnpm 11 env-lockfile document's configDependencies as project packages, while InstalledPackages and the upstream evidence reader drop it #1949/"pnpm lock importers list a non-root member" is written twice and drifted on comment lines: keep formats::pnpm::workspace, delete the utils::pnpm_workspace copy #1952 (pnpm env-lockfile document, member-importer predicate) and Read pnpm YAML settings through one formats::pnpm scalar reader: three top-level-value readers drifted on quotes and empty values, and .modules.yaml is parsed twice #1918 (pnpm scalar reader) are different readers; all stay open.*_E2E_REQUIREDreaders disagree on whether=0and=truemean required #1940 (toolchain gate), Build every tests/apply fixture through apply_fixture: 9 suites in the apply binary re-write the manifest, blob, package and event-lookup helpers it already has #1941 (claimed, PR Build tests/apply fixtures through apply_fixture (#1941) #1944), Run PTY test children through one common::pty_io::run: the openpty-spawn-feed-collect runner is copied 7×, and only 2 copies pin TERM #1942 (PTY runner) are new arch-audit test refactors; none duplicates an open issue.pip install -rkeeps the patched build, though rollback says the next install restores it (andvendor --revertsays nothing) #1953 (pip: plainpip install -rkeeps the patched build after rollback/revert; claimed, PR Fix pip reinstall advisory after unwind (#1953) #1954), Parse every cli_parse_* suite through hermetic::try_parse: four suites carry a byte-identical EnvScrub, and list/remove/main parse with no scrub at all #1956/Run tests/common's selftests in one binary: 21 helper selftests are compiled into and re-run by every one of ~104 includers #1957/Use tests/common's helpers in the suites that already include it: has_command ×9, sha256_hex ×16, a dead stderr_chatter filter ×5, and rollback_json's drifted envelope readers #1959 (tests/common parse scrub, selftests binary, unused helpers), hermetic::command leaves color env ambient (CLICOLOR_FORCE=1 fails a list test), and its HOSTILE_SEEDS seed-then-remove the same list so they can never catch a dropped scrub #1958 (hermetic color env; claimed, PR Scrub color env in hermetic test children #1964), Read gradle-wrapper.properties through one parser: the hosted and vendored Gradle 6.8 gates read the wrapper version two different ways and disagree ondistributionUrl = …#1963 (A72: three gradle-wrapper.properties readers) and npm hosted and vendored scans pin a dependency thatoverridesforces to a remote tarball URL;npm ciinstalls it unpatched, and vendoredvex/vendor --checkstill pass #1965 (npmoverridesto a remote tarball URL pinned and installed unpatched) are new. None duplicates an open issue. npm hosted and vendored scans pin a dependency thatoverridesforces to a remote tarball URL;npm ciinstalls it unpatched, and vendoredvex/vendor --checkstill pass #1965 differs from closed npm hosted and vendored modes refuse a registry-installed package when its dependent's git spec is replaced by anoverridesentry (regression from #345) #490 (git-spec dependent, not an override), and hermetic::command leaves color env ambient (CLICOLOR_FORCE=1 fails a list test), and its HOSTILE_SEEDS seed-then-remove the same list so they can never catch a dropped scrub #1958 is a follow-up to closed Spawn every CLI test child through one hermetic Command builder; 10 test files inherit ambient SOCKET_* today #823, not the same defect.--max-new-patchesplanning skip the per-entry lock refusals for URL/git-spec/member entries) is new. It is not scan's vendored planning and preview run the refusal preflights twice, and the planning copy skips the PyPI refusals #1908 (PyPI refusals in planning, PR Fix vendored planning ignoring PyPI refusals (#1908) #1930), vendor's download plan re-walks the vendor loop's candidate selection, and the copy skips the vlt refusal and the ambiguous-variant check #1909 (vlt refusal invendor's plan), npm hosted and vendored scans pin a dependency thatoverridesforces to a remote tarball URL;npm ciinstalls it unpatched, and vendoredvex/vendor --checkstill pass #1965 (override to a URL isn't refused at all) or 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 (dry-run headline counting in-sync rows). All stay open.hosted::governing_root) is new and waits on Fix vendor in a workspace member exiting 0 (#1921) #1928/Fix package.json workspaces read five ways (#1900) #1971; Share one docker test harness: cov_docker_args ×10, skip_if_no_image ×11 and assert_vex_agent_attested ×8 are copied, and 8 docker suites never honour SOCKET_PATCH_DOCKER_E2E_REQUIRED #1968 (claimed, PR Share one docker test harness (#1968, first slice) #1972), prebuilt_common::prepare_command silently drops --offline from vendor/repair, so 49 "--offline" test calls actually run online against a fixture server #1969 (--offlinedropped in vendor/repair test helper) and 8 of 9 docker agent e2e suites serve an all-zeros beforeHash and apply with --force, so they only prove the --force path; port gem's real-beforeHash probe #1970 (docker e2e all-zeros beforeHash) are new arch-audit test items. None duplicates an open issue.solution_roots_and_unrestored_projects_keep_the_walkreads the host's~/.nuget/packages) is new and valid (test exists atnuget_crawler.rs:1978on7bde3ba5). It is the same class as Crawler unit tests read the developer's real HOME, YARN_NODE_LINKER and VIRTUAL_ENV: 12 pkg_managers/pnpm_layout tests fail under a user nodeLinker setting #1919 (crawler tests read the realHOME/YARN_NODE_LINKER/VIRTUAL_ENV), but a different crawler, test and env var that Crawler unit tests read the developer's real HOME, YARN_NODE_LINKER and VIRTUAL_ENV: 12 pkg_managers/pnpm_layout tests fail under a user nodeLinker setting #1919 doesn't list, so it is not a duplicate. Both stay open.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, #1862, #1881, #1965.Generated by Claude Code
All reactions