[release][high] Refuser une réponse explicitement tronquée par le modèle #73

Open
opened 2026-10-03 16:49:24 +00:00 by hephaistos · 0 comments
Owner

Revue de préparation publique

Branche de travail : release.
Code examiné : 6052defc07a8d85a26a62014a72d23c4855a4786.
Sévérité : high. Domaine : cleanup.

Constat et impact

Le décodeur ignore finish_reason. Une réponse non vide avec
finish_reason=length et sans sentinelle peut remplacer une dictée
complète par un fragment sans warning. Constat déterministe par lecture;
la probe supplémentaire n’a pas été exécutée.

Preuves

internal/cleanup/cleanup.go:156-167,180-207;
internal/textpipe/pipeline.go:123-128.

Travail recommandé

Interpréter les terminaisons explicitement incomplètes et conserver le
texte précédent avec warning. Préserver la compatibilité avec les
serveurs qui omettent le champ. Examiner aussi les refus explicites.

Validation et caractère bloquant

Serveur HTTP de test: réponse length pour une entrée de plusieurs
paragraphes sans commandes; sortie conservée, warning présent. Tester
stop et champ absent. Bloque le cleanup fiable.

Suivi

En file d’attente issue de la revue, pas un correctif en cours.
Héphaïstos porte le diagnostic et les propositions techniques sur release.
Mathieu arbitre les choix de produit et autorise les fusions.

## Revue de préparation publique Branche de travail : `release`. Code examiné : `6052defc07a8d85a26a62014a72d23c4855a4786`. Sévérité : **high**. Domaine : **cleanup**. ## Constat et impact Le décodeur ignore finish_reason. Une réponse non vide avec finish_reason=length et sans sentinelle peut remplacer une dictée complète par un fragment sans warning. Constat déterministe par lecture; la probe supplémentaire n’a pas été exécutée. ## Preuves internal/cleanup/cleanup.go:156-167,180-207; internal/textpipe/pipeline.go:123-128. ## Travail recommandé Interpréter les terminaisons explicitement incomplètes et conserver le texte précédent avec warning. Préserver la compatibilité avec les serveurs qui omettent le champ. Examiner aussi les refus explicites. ## Validation et caractère bloquant Serveur HTTP de test: réponse length pour une entrée de plusieurs paragraphes sans commandes; sortie conservée, warning présent. Tester stop et champ absent. Bloque le cleanup fiable. ## Suivi En file d’attente issue de la revue, pas un correctif en cours. Héphaïstos porte le diagnostic et les propositions techniques sur `release`. Mathieu arbitre les choix de produit et autorise les fusions.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
2027a/murmur#73
No description provided.