Repository navigation
Commit a58cd7f
committed
Fix: Run hosted safety refusals before withdrawn sweep
The withdrawn sweep's restore_upstream mutates lockfiles before the
hosted rewrite refusals (bun.lockb symlink, governing root) run. A
member or symlink project that hosted mode would refuse can still have
its lockfiles rewritten, including an ancestor lock the run is not
allowed to touch.
Safety refusals must run before any restore or mutation. This change
adds early refusal checks before the withdrawn sweep:
1. Extract ecosystems from pins that would be restored
2. Check bun.lockb symlink refusal for npm ecosystem
3. Check governing root refusals for cargo/pypi/npm ecosystems
4. Exit with error if any refusal would occur, before any mutation
Refactored governing_root::refusal to share implementation with new
refusal_for_ecosystems function that takes ecosystem flags instead of
candidates, allowing the sweep to check layout safety before restore.1 parent 268e0ed commit a58cd7f
2 files changed
Lines changed: 111 additions & 3 deletions
File tree
- crates
- socket-patch-cli/src/commands/scan
- socket-patch-core/src/hosted
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2576 | 2576 | | |
2577 | 2577 | | |
2578 | 2578 | | |
| 2579 | + | |
| 2580 | + | |
| 2581 | + | |
2579 | 2582 | | |
2580 | 2583 | | |
| 2584 | + | |
| 2585 | + | |
| 2586 | + | |
| 2587 | + | |
| 2588 | + | |
| 2589 | + | |
| 2590 | + | |
| 2591 | + | |
| 2592 | + | |
| 2593 | + | |
| 2594 | + | |
| 2595 | + | |
| 2596 | + | |
| 2597 | + | |
| 2598 | + | |
| 2599 | + | |
| 2600 | + | |
| 2601 | + | |
| 2602 | + | |
| 2603 | + | |
| 2604 | + | |
| 2605 | + | |
| 2606 | + | |
| 2607 | + | |
| 2608 | + | |
| 2609 | + | |
| 2610 | + | |
| 2611 | + | |
| 2612 | + | |
| 2613 | + | |
| 2614 | + | |
| 2615 | + | |
| 2616 | + | |
| 2617 | + | |
| 2618 | + | |
| 2619 | + | |
| 2620 | + | |
| 2621 | + | |
| 2622 | + | |
| 2623 | + | |
| 2624 | + | |
| 2625 | + | |
| 2626 | + | |
| 2627 | + | |
| 2628 | + | |
| 2629 | + | |
| 2630 | + | |
| 2631 | + | |
| 2632 | + | |
| 2633 | + | |
| 2634 | + | |
| 2635 | + | |
| 2636 | + | |
| 2637 | + | |
| 2638 | + | |
| 2639 | + | |
| 2640 | + | |
| 2641 | + | |
| 2642 | + | |
| 2643 | + | |
| 2644 | + | |
| 2645 | + | |
| 2646 | + | |
| 2647 | + | |
| 2648 | + | |
| 2649 | + | |
| 2650 | + | |
| 2651 | + | |
| 2652 | + | |
| 2653 | + | |
| 2654 | + | |
| 2655 | + | |
| 2656 | + | |
| 2657 | + | |
2581 | 2658 | | |
2582 | 2659 | | |
2583 | 2660 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
96 | 127 | | |
97 | 128 | | |
98 | 129 | | |
99 | 130 | | |
100 | | - | |
| 131 | + | |
101 | 132 | | |
102 | 133 | | |
103 | 134 | | |
104 | 135 | | |
105 | 136 | | |
106 | 137 | | |
107 | 138 | | |
108 | | - | |
| 139 | + | |
109 | 140 | | |
110 | 141 | | |
111 | 142 | | |
| |||
0 commit comments