github / github/copilot-cli

OTel execute_tool bash span does not expose nonzero process exit outcome

Offen
#4,864 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

triage
Vorherrschende Sprache
Shell
Sterne
11.2k
Forks
1.9k
Ø Merge
14 Std. 16 Min.
Gemergte PRs (30 T.)
6

Beschreibung

Describe the observability gap

When the shell tool successfully launches the synthetic command false, the resulting execute_tool bash span has status code 0 and no exit-code, error, result, or outcome attribute. Consumers cannot distinguish exit 0 from a nonzero command outcome in metadata-only telemetry.

This is distinct from a tool invocation failure: reading a guaranteed nonexistent synthetic path correctly produced an execute_tool view span with error status, error.type=failure, and an exception event.

Affected version

GitHub Copilot CLI 1.0.83 on macOS.

Steps to reproduce
  1. Enable metadata-only OTel file export.
  2. Run a synthetic prompt that directs the shell tool to execute exactly false once.
  3. Inspect the execute_tool bash span.

The tool execution output reports completion, while the span contains no metadata representing the subprocess's nonzero exit.

Expected behavior

It is reasonable for the tool invocation itself to be considered operationally successful, but metadata-only telemetry should expose a bounded, content-free command outcome such as process.exit.code=1 and/or a Copilot tool outcome attribute. The span status policy can remain separate from the subprocess exit status.

Privacy

The command is synthetic and harmless. Content capture was disabled; no command output, paths, repository data, or credentials are included.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den reinen Metadaten-OTel-Export mit dem shell tool und dem synthetischen Befehl false zu reproduzieren, und inspiziere anschließend den daraus resultierenden execute_tool bash-Span. Erledigt ist die Aufgabe, wenn der Span ein begrenztes, inhaltsfreies Ergebnis eines Subprozesses mit Exit-Code ungleich null wie process.exit.code=1 oder ein gleichwertiges Tool-Ergebnisattribut offenlegt, ohne Befehlsinhalte zu erfassen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
bash
Bereich
observability
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

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