You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e5bfb02
Browse filesBrowse the repository at this point in the historyBrowse files
`main` @ `5ca5623`. The previous run was a sweep, so this run looked for structural work first. Every candidate scoring 6 or more has files held by an open PR:
4
+
- A30 [#1887](https://github.com/SocketDev/socket-patch/issues/1887) (~8.7) is blocked by #1886 (`maven_scope.rs`, `maven_reactor.rs`).
5
+
- A05 [#1844](https://github.com/SocketDev/socket-patch/issues/1844) (~8) is blocked by #1865 (`poetry_lock.rs`).
6
+
- T09 (~7), T01 (~6.4) and T25 (~6) are still blocked by #1864 and #1698.
7
+
- A32 [#1888](https://github.com/SocketDev/socket-patch/issues/1888) (~6) is blocked by #1882, which touches all three crawlers.
8
+
9
+
So I ran a sweep, per the rule. The next audited, unswept row with free files is `scan/gc.rs`. `scan/policy.rs` was skipped because its getters are called from `scan/mod.rs`, which #1856 and #1884 hold. There was no maintainer steering, and no PR of mine merged or closed.
10
+
11
+
**PR:**[#1892](https://github.com/SocketDev/socket-patch/pull/1892), ready for review. `/code-review high` ran first; CI and Bugbot are pending.
12
+
13
+
### Per file
14
+
-**`scan/gc.rs`:**
15
+
- 1 wrapper deleted (`count` → `ui::plural`).
16
+
- The duplicated pre-lock ledger gate and lock acquire are now written once each (`has_ledger`, `lock`).
17
+
- 4 fields and `total_bytes` made private.
18
+
- About 40 comment lines removed, including 6 test banners and the bare `#998`, `#1063`, `#1278` and `B20` references. One stale contract doc was fixed.
19
+
- Tests: 12 deleted or merged, leaving 17.
20
+
- The 5 `PurlKey` spelling tests became 1, which now also covers the empty-scan and short-composer cases. Shown red→green.
21
+
- The vendored pair became 1, shown red→green.
22
+
- The vendored-lines, preview/parity and corrupt-manifest duplicates were folded into their siblings with exact assertions.
23
+
- Net: production −37, tests −232 (+173 / −442 total).
24
+
-**Callers:** none changed. `print_gc_vendored_line` (vendor_flow) and `gc_into`'s `dry_run` parameter wait on #1856.
25
+
26
+
### Behavior
27
+
None.
28
+
29
+
### Merges recorded
30
+
None.
31
+
32
+
### Lessons
33
+
-**/code-review found the ledger gate's cwd-vs-`project_root()` mismatch** (C43, pre-existing). It is left for an issue because the fix changes behavior.
34
+
-**When merging tests, keep each test's negative half:** the review caught that merging dropped the "gone variant still prunes" cases.
35
+
-**The sandbox proxy refuses branch deletions.** The stale `arch-refactor/sweep-scan-gc-policy` needs a maintainer to delete it.
|[#1870](https://github.com/SocketDev/socket-patch/pull/1870)| structural | A27 [#1869](https://github.com/SocketDev/socket-patch/issues/1869): `api/client.rs`, one serve GET and one vendor retry loop | ready; CI (82 checks) and Bugbot green |
12
12
|[#1875](https://github.com/SocketDev/socket-patch/pull/1875)| sweep |`cli/src/commands/{remove,repair}.rs`| ready; CI (82 checks) and Bugbot green |
13
13
|[#1884](https://github.com/SocketDev/socket-patch/pull/1884)| sweep |`cli/src/commands/scan/discovery.rs` (+ T18 [#1859](https://github.com/SocketDev/socket-patch/issues/1859); tests moved to core `ranking.rs`, `lock_inventory/tests.rs`, `ui/text.rs`) | ready; CI (82 checks) and Bugbot green |
14
+
|[#1892](https://github.com/SocketDev/socket-patch/pull/1892)| sweep |`cli/src/commands/scan/gc.rs`| ready; CI and Bugbot pending |
5.A30[#1887](https://github.com/SocketDev/socket-patch/issues/1887), Maven `${…}` interpolation ×5: D3.35 C2, risk M. **~8.7** (blocked by #1886: `maven_scope.rs`, `maven_reactor.rs`). A05 [#1844](https://github.com/SocketDev/socket-patch/issues/1844) (~8, blocked by #1865: `poetry_lock.rs`) and A32 [#1888](https://github.com/SocketDev/socket-patch/issues/1888) (~6, blocked by #1882: all three crawlers) also wait. A20 [#1848](https://github.com/SocketDev/socket-patch/issues/1848) and A26 [#1867](https://github.com/SocketDev/socket-patch/issues/1867)score 4 (files free).
25
26
26
27
A03 [#1834](https://github.com/SocketDev/socket-patch/issues/1834) is the fixer's #1876. T28 [#1880](https://github.com/SocketDev/socket-patch/issues/1880) and T23 [#1860](https://github.com/SocketDev/socket-patch/issues/1860) wait on #1864 (`list.rs`) and #1698 (`get.rs`).
27
28
28
-
The next run is structural if a candidate scores 6 or more and its files are free, else a sweep. Next sweep files, in order: `scan/gc.rs`, `scan/hosted.rs` (region, `partial@L<n>`), `scan/hosted/{nuget,python,takeover}.rs`, `scan/policy.rs`, `scan/render.rs`(skip`scan/mod.rs`while#1856 is open), then `core/constants.rs`, `core/lib.rs`, `core/utils/cargo_home.rs`, `core/utils/cargo_workspace.rs`. Skip `agent_download.rs`, `apply.rs`, `get.rs`, `vendor.rs` while #1698 is open, `rollback.rs` while #1864 is open, `cargo_build_cache.rs` (#1849) and `api/client.rs` (#1870).
29
+
The next run is structural if a candidate scores 6 or more and its files are free, else a sweep. Next sweep files, in order: `scan/hosted.rs` (region, `partial@L<n>`), `scan/hosted/{nuget,takeover}.rs` (`python.rs` is in #1883), then `scan/policy.rs`and`scan/render.rs`once#1856/#1884 merge (policy's getters and `admit_crawled` are called from `scan/mod.rs`), then `core/constants.rs`, `core/lib.rs`, `core/utils/cargo_home.rs`, `core/utils/cargo_workspace.rs`. Skip `agent_download.rs`, `apply.rs`, `get.rs`, `vendor.rs` while #1698 is open, `rollback.rs` while #1864 is open, `cargo_build_cache.rs` (#1849) and `api/client.rs` (#1870).
29
30
30
31
#### Notes
31
32
- The PRs of the first thread (`arch-refactor/<issue>-*`) are listed in `review/2026-10-v1/register/90-refactor.md`.
@@ -41,3 +42,5 @@ The next run is structural if a candidate scores 6 or more and its files are fre
41
42
- A shared GET must keep every caller's bounds: folding an uncapped `resp.text()` error read into the capped `PatchApi` path is what /code-review caught on #1870.
42
43
-`ui::shell_word` has no escaping for an embedded `"` on Windows, and cmd still expands `%VAR%` inside its double quotes. Every pasteable command shares it, so fix it there (issue-worthy), not per caller.
43
44
- A test of a re-export or forwarding wrapper belongs beside the real function: move it to the defining crate and rebuild it on that module's helpers, instead of deleting coverage the target lacks (`ui::shell_word` had no test).
45
+
-`scan/gc.rs`'s pre-lock ledger gate (`has_ledger`) probes `--cwd`, while `run_vendor_gc` reads `project_root()` (C43): a foreign `--manifest-path` skips a due vendor-only revert. Pre-existing; it wants an issue. The preview path also drops `cargo_cache_patch_kept` warnings.
46
+
- Pushing a branch deletion (`git push origin :branch`) is refused by the sandbox proxy. Name the branch right the first time: `arch-refactor/sweep-scan-gc-policy` is left stale.
0 commit comments