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
The project-patch (user_patches) gate loop is written five times, and scan's and vendor's copies have drifted #1911
[agent] Filed by the scheduled architecture audit (audit-cli-tests). Register: register comment.
Kind: refactor. Register ID: T38.
Problem
Five places each loop over purls doing the same steps: filter by selected ecosystem, call index.conflicts(purl), build detail, then sort the purl into allowed (a warning) or conflict (a refusal):
scan's copy skips any_detectable and purl_ecosystem_selected, and its Skipped event has no uuid (skip_protected adds with_uuid).
vendor calls dedup() without sort(), while check sorts first. It also prints one Error: per conflict, while user_patches::refuse prints the joined message.
Warnings travel as (String, String) tuples, and callers turn them into RunWarning {code, detail} literals (vendor.rs L2440).
Eject also checks the gate three times: unlocked at vendor.rs L1821, locked at L2076, and inside VendoredBackend::apply at vendored_backend/mod.rs L99.
Activity
mikolalysenko commentedon Nov 1, 2026
[agent] Triaged: priority:p3 (general CLI refactor of the user_patches gate). Not a duplicate; no open PR covers it.
Generated by Claude Code