OTel execute_tool bash span does not expose nonzero process exit outcome
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- bash
- Domaine
- observability
Piste de recherche
Commencez par reproduire l’export OTel limité aux métadonnées avec l’outil shell en exécutant la commande synthétique false, puis inspectez le span execute_tool bash obtenu. C’est terminé lorsque le span expose un résultat borné et dépourvu de contenu d’un sous-processus avec un code de sortie non nul, tel que process.exit.code=1, ou un attribut de résultat d’outil équivalent, sans capturer le contenu de la commande.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Enable metadata-only OTel file export.
- Run a synthetic prompt that directs the shell tool to execute exactly
falseonce. - Inspect the
execute_tool bashspan.
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.
- Langage dominant
- Shell
- Étoiles
- 11.2k
- Forks
- 1.9k
- Merge moyen
- 14 h 16 min
- PR mergées (30 j)
- 6
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de github/copilot-cli
-
triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
github/copilot-cli#4848 ·
-
area:agents area:mcp
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
github/copilot-cli#4729 ·
-
area:sessions
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
github/copilot-cli#4712 ·
-
triage
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
github/copilot-cli#4638 ·
-
Expose large_output_file_path on TaskShellProgress so clients can read complete shell-task output Ouvertearea:tools
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
github/copilot-cli#4630 · 1 commentaire ·
Toutes les issues de github/copilot-cli
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
danielmiessler/LifeOS#2218 ·
-
docs(agents): strengthen the no-backslash-escaped-backticks rule with an issue-creation example Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
-
technical-debt
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
ll7/robot_sf_ll7#9560 ·
-
Update ghgrab to 2.1.0 Ouvertepackage-update
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
oSoWoSo/vOid_Community_repOsitory#148 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100