Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

scan exits 1 in human output but 0 with --json when every patch query returns nothing

Offen Anfängerfreundlich
#1,062 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@mikolalysenko arbeitet bereits daran.

Seit 09.10.2026.

  • #1369 von @mikolalysenko — offen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
85/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
rust
Bereich
cli

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:triaged arch-audit bug priority:p3

[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

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus SocketDev/socket-patch

Alle Issues in SocketDev/socket-patch

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.