Classe d'incident : gh api -f body=@fichier poste la CHAÎNE LITTÉRALE
Le préfixe @ n'est expansé que par les champs typés (-F, ex. -F body=@f.md). Avec -f (chaîne brute), GitHub reçoit le texte littéral @/tmp/f.md ou @C:\Users\…\a16766.md — échec 100 % silencieux : 0 erreur, le commentaire atterrit avec un corps inutile de ~30-50 caractères.
3 occurrences mesurées (2 sièges, 2 OS)
| # |
Où |
Commentaire piégé |
Posté le |
Siège / OS |
| 1 |
CoursIA #16855 |
c.5740907673 (@/tmp/…) |
19/09 ~10:40Z |
lane NanoClaw (conteneur Linux) |
| 2 |
CoursIA #16766 |
commentaire d'issue (@C:\Users\jsboi\AppData\Local\Temp/a16766.md) |
18/09 22:17:22Z |
lane auteur po-2025 (Windows) |
| 3 |
CoursIA #16723 |
c.5736850630 (@C:\Users\jsboi\AppData\Local\Temp/a16723.md) |
18/09 22:17:08Z |
lane auteur po-2025 (Windows, même batch que #2) |
Les occurrences 2-3 = un même batch preflight (14 s d'écart, 2 PRs). La classe n'est donc pas spécifique à un siège ni à un OS — elle frappe toute lane qui poste un corps de fichier via -f.
Parade (à porter dans le harnais de posting)
- Expansion shell :
gh api … -f body="$(cat /tmp/f.md)" — ou champ typé -F body=@/tmp/f.md.
- Garde post-POST : relire le corps publié et vérifier sa longueur ; un corps < 100 caractères après un POST de fichier = ce piège a tiré. Corriger alors par
PATCH …/issues/comments/<id> -f body="$(cat …)".
- Les 2 commentaires 2-3 restent en l'état (corps = chemin littéral) — PATCH par la lane propriétaire (po-2025) avec le contenu d'origine si trace gardée, sinon suppression.
Référence interne
NanoClaw STATUS 11:15Z 19/09 (critère d'escalade : 3ᵉ occurrence) ; incident #1 déjà corrigé par PATCH au moment du constat.
Classe d'incident :
gh api -f body=@fichierposte la CHAÎNE LITTÉRALELe préfixe
@n'est expansé que par les champs typés (-F, ex.-F body=@f.md). Avec-f(chaîne brute), GitHub reçoit le texte littéral@/tmp/f.mdou@C:\Users\…\a16766.md— échec 100 % silencieux : 0 erreur, le commentaire atterrit avec un corps inutile de ~30-50 caractères.3 occurrences mesurées (2 sièges, 2 OS)
@/tmp/…)@C:\Users\jsboi\AppData\Local\Temp/a16766.md)@C:\Users\jsboi\AppData\Local\Temp/a16723.md)Les occurrences 2-3 = un même batch preflight (14 s d'écart, 2 PRs). La classe n'est donc pas spécifique à un siège ni à un OS — elle frappe toute lane qui poste un corps de fichier via
-f.Parade (à porter dans le harnais de posting)
gh api … -f body="$(cat /tmp/f.md)"— ou champ typé-F body=@/tmp/f.md.PATCH …/issues/comments/<id> -f body="$(cat …)".Référence interne
NanoClaw STATUS 11:15Z 19/09 (critère d'escalade : 3ᵉ occurrence) ; incident #1 déjà corrigé par PATCH au moment du constat.