Nouvel outil write : créer ou réécrire un fichier passe par le disque, plus
par le shell. Sous Windows le shell est cmd.exe et son quoting cassait tout
script contenant des guillemets imbriqués (echo, python -c, base64) ; l'IA
bouclait sans jamais y arriver. Signalé par Arnaud Hocquelet.
L'outil bash annonce désormais le vrai shell de la plateforme (cmd.exe sous
Windows) au lieu de dire bash partout, pour que le modèle arrête de générer
la syntaxe d'un autre shell.
Interface : le contenu d'une écriture se remplit ligne à ligne en direct dans
la bulle (diffusé à la ligne et pas au token, pour ne pas saturer le rendu
mobile), et les compteurs +N -N passent sur l'étiquette pour rester visibles
une fois la bulle repliée.
Le compactage ne se declenchait qu'au DEBUT d'un tour, avec le contexte du
tour precedent. Le tour qui faisait franchir le seuil se terminait donc a
81% sans rien declencher : la jauge restait haute, seul le bouton manuel
apparaissait, et le compactage automatique semblait mort.
- seuil reteste a trois moments au lieu d'un : debut de tour (inchange),
PENDANT la boucle d'outils, et EN FIN de tour des que le seuil est franchi
- une compaction faite en cours de tour etait perdue : l'appelant
reconstruisait l'historique en ajoutant les messages du tour a sa copie
d'AVANT compaction. Le fil complet revenait, la jauge retombait a 43% puis
explosait a 92% au message suivant. Elle publie desormais sa nouvelle vue
(StreamEvent.NewHistory), qui REMPLACE l'historique. Meme correction pour
le filet de secours sur erreur 500 et pour le client terminal.
- la queue protegee reculait jusqu'au message `user` precedent. Pendant une
longue recherche il n'y en a aucun : la queue avalait toute la sequence
d'outils, torse vide, compaction sans effet — les pages web qui remplissent
la fenetre etaient justement celles qui etaient protegees. Elle peut
maintenant demarrer sur un `assistant`, frontiere tout aussi sure (il part
avec ses resultats d'outils). Test de regression ajoute.
- une compaction sans effet ne disait plus rien : toast explicite + une ligne
[compact] par decision dans le journal (ctx, seuil, avant/apres, changé)
UI : la mini-banniere au-dessus de la saisie doublonnait les trois points
animes de l'IA. L'indicateur existant est desormais etiquete « compactage du
contexte… » en accent, et une marque discrete reste DANS le fil a l'endroit
de la coupure — elle survit au rafraichissement, contrairement au toast.