Skip to content

Deux commentaires qui empêchent une panne muette et une suppression - #30

Merged
Shaenn merged 2 commits into
mainfrom
essai/sdk-0-3-233
Aug 18, 2026
Merged

Deux commentaires qui empêchent une panne muette et une suppression#30
Shaenn merged 2 commits into
mainfrom
essai/sdk-0-3-233

Conversation

@Shaenn

@Shaenn Shaenn commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Ce que change cette PR

Rien au comportement : deux commentaires, chacun contre un échec silencieux repéré en relisant les nouveautés du CLI livrées avec la montée du SDK (#28).

Le slug ne dit pas à quelle condition il reste vrai. Le nom du dossier de transcript d'un projet est dérivé du cwd par agent/slug.ts, et src/utils/slug.ts en fait la lecture inverse. Depuis le CLI 2.1.234, CLAUDE_CODE_PROJECT_DIR_NAME permet de le choisir au lieu de le dériver : posée, elle fait tomber les deux sens d'un coup. L'en-tête du module disait déjà ce que produit un slug faux — « il ne casse rien bruyamment, il rend simplement le transcript introuvable » — mais pas qu'une variable d'environnement pouvait le rendre faux sans qu'on ait touché au code. AURA ne la pose pas et ne passe aucun env au SDK ; elle ne peut venir que de l'environnement du serveur, et c'est là qu'il faudra chercher le jour où un transcript existant manque à l'appel.

La liste blanche de TaskCreate se lit comme du code mort. Les outils de suivi de tâches sont sortis de la surface par défaut des modèles récents : les sessions nouvelles n'en produisent plus. L'entrée qui retient task pour raccrocher les TaskUpdate à leur tâche ne sert donc plus qu'à relire l'historique — qui, lui, en est plein. Sans un mot, quelqu'un la retirera, et le rejeu perdra ses tâches sur tout le passé. Le commentaire dit aussi ce qui a été décidé et n'apparaît nulle part : aucun réglage ne rallume ces outils côté AURA. L'Atelier garde de quoi afficher une liste de tâches, sans exposer le choix — la capacité reste, dormante.

Vérifié

  • pnpm lint
  • pnpm typecheck
  • pnpm test
  • pnpm build — le seul à typer src/
  • Essayé dans l'application, pas seulement en test

pnpm build n'a pas été lancé, et c'est délibéré : aucun fichier de src/ n'est modifié, il n'aurait rien eu à typer de neuf.

L'essai en application ne portait pas sur ces commentaires — ils ne changent rien — mais sur la montée du SDK qu'ils accompagnent, qui ne se juge qu'en la faisant émettre : session d'Atelier ouverte en mode « Demander », donc sans pouvoir écrire, tour complet sur Opus 5, réponse en streaming, et comptabilité de contexte renseignée jusqu'au bout.

À savoir

Deux autres nouveautés du CLI ont été examinées et écartées, vérification à l'appui plutôt que par présomption :

  • Les notifications de tâches de fond passent dans des balises <system-reminder>. agent/shells.ts détecte <task-notification> dans la ligne brute puis déplie le JSON si message.content est une chaîne. Contrôlé sur les transcripts : la balise reste présente à l'intérieur de l'enveloppe, et content reste une chaîne. La détection tient.
  • Les sous-agents tournent en arrière-plan par défaut, ce qui fera monter leur nombre et leur coût par session. La règle sous-agents-couteux s'appuie sur max(P90 du parc, plancher) recalculé sur le parc : le seuil montera avec lui et continuera de désigner l'inhabituel. Rien à recalibrer.

Aucune écriture dans ~/.claude, aucune garde de server/ touchée.

🤖 Generated with Claude Code

Shaenn and others added 2 commits August 18, 2026 01:59
`projectSlug` dérive le nom du dossier de transcript du `cwd`, et tout le reste
en dépend — la résolution d'une session, le rejeu, les panneaux dérivés. Depuis
le CLI 2.1.234, `CLAUDE_CODE_PROJECT_DIR_NAME` permet de choisir ce nom au lieu
de le dériver. Posée, elle fait tomber les deux sens de l'encodage d'un coup.

Ce qui rend la panne désagréable n'est pas qu'elle arrive, c'est qu'elle
n'arrive pas bruyamment : rien n'échoue, un transcript qui existe cesse
simplement d'être trouvé. L'en-tête du module le disait déjà d'un slug faux ;
il manquait la seule cause extérieure capable de le rendre faux sans qu'on y
ait touché.

AURA ne pose pas cette variable et ne passe aucun `env` au SDK. Elle ne peut
donc venir que de l'environnement du serveur — écrit ici et dans les pièges
connus pour que ce soit le premier endroit où chercher, pas le dernier.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Les outils de suivi de tâches sont sortis de la surface par défaut des modèles
récents : les sessions nouvelles n'en produisent plus. L'entrée qui retient
`task` pour raccrocher les `TaskUpdate` à leur tâche ne sert donc plus qu'à
relire ce qui est déjà écrit — et les transcripts existants en sont pleins.

Sans un mot, cette entrée se lit comme du code mort : quelqu'un finira par la
retirer, et le rejeu perdra ses tâches sur tout l'historique. Le commentaire ne
change rien au comportement, il empêche cette suppression-là.

Il dit aussi ce qui a été décidé et n'apparaît nulle part dans le code : aucun
réglage ne rallume ces outils côté AURA. L'Atelier garde de quoi afficher une
liste de tâches, sans exposer le choix — la capacité reste, dormante.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Shaenn
Shaenn merged commit 3964221 into main Aug 18, 2026
1 check passed
@Shaenn
Shaenn deleted the essai/sdk-0-3-233 branch August 18, 2026 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant