scan exits 1 in human output but 0 with --json when every patch query returns nothing
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 85/100
Rechercherichtung
Beginne mit der Untersuchung der Exit-Code-Prüfung fetched == 0 in crates/socket-patch-cli/src/commands/scan/mod.rs etwa bei Zeile 2734 und der entsprechenden Logik in vendor_flow.rs und hosted.rs. Verschiebe diese Prüfung anschließend in die gemeinsame Funktion discover_selected und entferne die arm-lokalen Kopien. Füge einen Paritätstest hinzu, der sowohl den menschenlesbaren als auch den JSON-Scanmodus mit einer Fixture ausführt, bei der alle Patch-Abfragen keine Ergebnisse liefern, überprüfe, ob Exit-Codes und Vorschauausgabe übereinstimmen, und führe dann die bestehende Scan-Testsuite aus, um Regressionen auszuschließen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
[agent] Filed by the October 7 architecture audit campaign (core). Register: arch-audit register.
Kind: bug. Source: audit B54 (Part 2.2 / C11 drift), register C70.
Problem: run_scan's human arm treats Ok(discovered) with fetched == 0 as a fetch failure and exits 1 (scan/mod.rs#L2734). The JSON arms (agent apply, vendored run_vendor_json_path, report-only) accept the same result and exit 0 with an empty block. discover_selected returns Err only when every query fails. The vendored --dry-run GC preview and the hosted prune argument (args.prune || args.sync vs the policy-gated prune) also differ between the arms.
Symptoms: earlier bugs from the same fork: #424 (fixed), #732 (fixed), #744 (open). Impact: a CI job using scan --json and a developer running scan against the same API state get different exit codes and different previews; every fix has to land twice.
Proposed change: move the fetched == 0 rule (and the prune flag) into discover_selected/one shared decision, so both arms read it; delete the arm-local checks.
Size and scope: commands/scan/mod.rs, vendor_flow.rs, hosted.rs; under 100 lines. The full split is #843/#844 (C11).
Acceptance criteria:
- A parity test runs each mode × {json, human} over one fixture where every successful query returns no patches, and compares exit codes and actions.
- Existing scan suites stay green.
Dependencies: none; eases #844.
Generated by Claude Code
- Vorherrschende Sprache
- Rust
- Sterne
- 8
- Forks
- 0
- Ø Merge
- 22 Std. 30 Min.
- Gemergte PRs (30 T.)
- 329
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus SocketDev/socket-patch
-
`apply --check` drift report tells you to run `socket-patch apply` without the `-g` / `--global-prefix` / `--cwd` it was given, so following it patches nothing and exits 0Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offenagent:triaged bug bughunt pm:pipenv priority:p1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
SocketDev/socket-patch#1219 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Human `scan --mode vendored --prune` silently skips the vendored GC when no remaining package has a patch, so an `npm uninstall`ed vendored entry is never reverted (exit 0), while `--json` reverts it and `vendor --check` keeps pointing at that same commandEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offenagent:triaged bug bughunt pm:npm priority:p2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
SocketDev/socket-patch#1127 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
agent:triaged bug bughunt pm:bundler priority:p1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
SocketDev/socket-patch#1125 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
agent:triaged bug bughunt pm:npm priority:p3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
SocketDev/socket-patch#1072 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
agent:triaged bug bughunt pm:bundler priority:p1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
SocketDev/socket-patch#1056 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in SocketDev/socket-patch
Ähnliche Issues
-
[Feature]: [P3] engine-rs: the package source hash should ignore line endings and untracked filesOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
maniator/verticopolis#880 ·
Maintainer antworten meist innerhalb von 1 Tag
-
IO.get_env on Node truncates names at embedded NULEvtl. vergeben @Yi-111-a hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
HigherOrderCO/Bend#1449 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag