Journal
Sections
Réglages de lecture
Aucune voix pour cette langue dans ce navigateur.
Plus de voix
Code et termes techniques en anglais
Désactivé : la voix de la page lit tout, sans pause entre deux voix.
Aucune voix pour cette langue dans ce navigateur.
Plus de voix
D’autres voix : Microsoft Edge propose des voix naturelles en ligne, et Windows (Paramètres › Heure et langue › Voix), macOS et Android en installent d’autres.
Progression
Section intitulée « Progression »- Claude Code et la CLI Codex installés sous Windows ; versions notées ci-dessous
- CI : le hook, le serveur MCP (client du SDK et sessions brutes dans les deux époques du protocole) et les fichiers de configuration, sous Linux, Windows et macOS, sans agent ni clé d’API
- Leçon 1 : agents, outils et permissions
- Leçon 2 : contexte du projet,
CLAUDE.md,AGENTS.md, mémoire et compaction - Leçon 3 : hooks, skills et sous-agents
- Leçon 4 : MCP, un serveur C# pour les deux agents
- Leçon 5 : skills de Matt Pocock et workflow en tracer bullets
- Leçon 6 : labo d’isolation Sandcastle borné
- Leçon 7 : cycle Compound Engineering et apprentissage durable
- Sessions Codex : chaque capture qui a besoin du modèle (limite d’utilisation jusqu’au 2026-09-19)
- Leçon 8 : travailler sur GuitarAlchemist/ga
- Un format d’observation pour les exécutions de modèles, de skills et de sous-agents, et sa première observation (2026-09-26)
Le logiciel qu’enseigne ce cours, c’est Claude Code, la CLI Codex et, via la leçon sur MCP, le serveur MCP de GuitarAlchemist/ga — les trois ont donné des constats. Quatre d’entre eux sont de la documentation qui ne correspond pas au comportement, ce qui compte plus ici qu’ailleurs : un tutoriel sur les agents est surtout un tutoriel sur la confiance à accorder à ce qu’un outil dit de lui-même. Rien n’a été signalé en amont.
Il n’y a pas de tableau d’expériences : ce journal consigne des surprises et des constats attendu-contre-obtenu, mais aucune entrée n’a posé d’hypothèse avant une mesure, et en rédiger une à rebours d’un résultat est précisément ce que cette section sert à empêcher.
| Attendu | Ce qui se passe | Où | Mesure | État |
|---|---|---|---|---|
claude -p démarre en mode default, comme le dit le tableau de la documentation |
Il suit le defaultMode des réglages de l’utilisateur. Cette machine pose "defaultMode": "auto" : un claude -p à qui l’on demande de créer un fichier l’a créé sans rien demander |
~/.claude/settings.json |
Un fichier écrit sans approbation demandée | Reproduit ; la documentation et le comportement se contredisent 2026-09-14 |
--allowedTools restreint les outils disponibles |
Il les pré-approuve. C’est --tools qui restreint |
CLI Claude Code | Deux options, dont l’une fait dans un script l’inverse de ce que son nom suggère | Reproduit, facile à confondre 2026-09-14 |
${CLAUDE_PROJECT_DIR} dans les args de .mcp.json se résout aussi pour Claude Code |
Il est posé pour le serveur, pas pour Claude Code : le serveur ne démarre donc pas | .mcp.json |
CONNECTION_CLOSED ; ${CLAUDE_PROJECT_DIR:-.} fonctionne |
Documenté ; le mode de panne, non 2026-09-14 |
AGENTS.md est relu sur le disque juste après un compactage, comme le dit la documentation |
La copie injectée après le compactage était celle du début de la session | Claude Code 2.1.270 | Session démarrée à 20 h 56 UTC, règle versée à 22 h 01, compactage à 22 h 32, et la bonne copie arrivée à 23 h 06 min 49 s — 34 minutes de retard | Reproduit une fois, cause inconnue, non signalé 2026-09-14 |
Un prompt qui commence par / parvient au modèle tel qu’écrit |
Git Bash le réécrit : claude -p "/journal-status …" est arrivé en C:/Program Files/Git/journal-status … |
Git Bash sous Windows | MSYS_NO_PATHCONV=1 corrige. Le modèle a ensuite contourné le prompt déformé au lieu de le signaler |
Reproduit ; c’est le shell, pas Claude Code 2026-09-14 |
Un sous-agent qui lit un chemin Windows absolu est autorisé en mode default |
Le Read de /C:/Users/… par un sous-agent Haiku a été refusé comme « a suspicious Windows path pattern that requires manual approval », deux fois, avant qu’il réessaie en relatif |
Claude Code, mode default |
Deux refus, puis un contournement trouvé seul par le sous-agent | Reproduit 2026-09-14 |
| Un agent sait dire d’où vient l’une de ses propres règles | Le parent a affirmé à l’utilisateur que « Key takeaways » ne venait de nulle part, alors que c’était dans la définition du sous-agent — que le parent ne lit jamais | sous-agents de Claude Code | Une attribution fausse et assurée | Reproduit ; une limite qui mérite d’être enseignée 2026-09-14 |
| Les réponses JSON-RPC reviennent dans l’ordre où elles ont été demandées | Cinq lignes envoyées d’un coup sont revenues dans le désordre : l’id 4 avant l’id 3 | session MCP brute du cours | Corrigé en attendant chaque réponse plutôt qu’en enchaînant | Reproduit ; le protocole l’autorise, le premier code du cours non 2026-09-14 |
codex exec accepte encore --full-auto, comme le montrent la plupart des tutoriels |
La 0.154.0 le rejette (unexpected argument '--full-auto') ; la politique d’approbation untrusted est retirée et --approve-for-me est nouvelle |
CLI Codex 0.154.0 | Une option retirée, une politique retirée, une option nouvelle | Reproduit ; codex mcp-server a disparu aussi, sa page de doc étant devenue un avis de retrait 2026-09-14 |
codex mcp list dit si un serveur fonctionne |
Il affiche « enabled » sans vérifier la connexion, à la différence de claude mcp list, qui démarre les serveurs qu’il peut |
CLI Codex 0.154.0 | Un état qui ne peut pas échouer | Reproduit 2026-09-14 |
GetScaleNotes orthographie les notes selon la tonalité demandée |
Il n’écrit qu’avec des dièses, quelle que soit la tonalité | GaMcpServer/Tools/ScaleTool.cs 50-80 |
« F major » donne la♯ là où la♭ … si♭ est juste | Corrigé en amont par #681, fusionnée le 2026-09-23, avec des tests 2026-09-14, 2026-09-24 |
| L’outil accepte les orthographes bémolisées que sa propre documentation donne en exemple | Il les refuse : Unknown root note 'Bb' |
GaMcpServer/Tools/ScaleTool.cs |
L’exemple de la doc est l’entrée qui échoue | Corrigé en amont par #681, fusionnée le 2026-09-23, avec des tests 2026-09-14, 2026-09-24 |
| Un mode qui n’est ni majeur ni mineur rend bien ce mode | Tout ce qui ne commence pas par « minor » est traité comme majeur : D dorian rend donc ré majeur |
GaMcpServer/Tools/ScaleTool.cs |
Capturé en direct pendant la leçon | Corrigé en amont par #681, fusionnée le 2026-09-23, avec des tests 2026-09-14, 2026-09-24 |
| Deux outils d’un même serveur orthographient une note de la même façon | get_key_notes("Key of F") écrit si♭ tandis que GetScaleNotes n’écrit qu’en dièses |
serveur MCP de GA | Deux réponses à une question, depuis un seul serveur | Corrigé en amont par #681, fusionnée le 2026-09-23, avec des tests 2026-09-14, 2026-09-24 |
| Une erreur MCP est rendue comme une erreur | Elle est rendue comme du texte ordinaire | GaMcpServer/Tools/ScaleTool.cs |
Ni isError, ni exception : un client ne peut pas distinguer le succès de l’échec |
Reproduit, non signalé 2026-09-14 |
Le .mcp.json à la racine d’un dépôt est partageable |
Celui de GA contient des chemins absolus propres à une machine | racine du dépôt GA | Des chemins qui ne marchent que sur une machine | Reproduit, non signalé 2026-09-14 |
2026-09-14 — Versions et installation
Section intitulée « 2026-09-14 — Versions et installation »- Claude Code : installeur natif,
~/.local/bin/claude. La session a démarré sur la 2.1.270 ;claude doctora ensuite indiqué « Last update attempt: success → 2.1.271 (2026-09-14) », et les nouvelles sessions lancées à partir d’environ 22:14 UTC tournaient en 2.1.271. La session en cours reste sur sa version jusqu’à son redémarrage, donc les captures d’avant et d’après cette heure diffèrent de version. Chaque capture des leçons nomme la sienne. - CLI Codex : 0.154.0, installée avec
npm install -g @openai/codex(Node.js 24.12.0). L’installeur PowerShell de la documentation n’a pas été essayé. - .NET :
code/agentic-coding/global.jsonfixe le SDK 10.0.100 avecrollForward: latestFeature; en local, cela sélectionne la 10.0.112, alors que la racine du dépôt, sansglobal.json, obtient une préversion 11.0. La CI utiliseactions/setup-dotnetavec le mêmeglobal.json. - ModelContextProtocol 2.2.0 et Microsoft.Extensions.Hosting 10.0.12 pour le serveur ; GuitarAlchemist/ga utilise ModelContextProtocol 1.3.0.
- La documentation déménage :
docs.anthropic.com/en/docs/claude-code/…redirige (301) verscode.claude.com/docs/en/…; la documentation de Codex est surlearn.chatgpt.com/docs/…. Les deux sites servent chaque page en Markdown avec un suffixe.md, et c’est ainsi que les affirmations des leçons ont été vérifiées, page par page. - Aucune
ANTHROPIC_API_KEYsur la machine ni en CI : chaque capture a utilisé l’abonnement.
2026-09-14 — Les captures et leur coût
Section intitulée « 2026-09-14 — Les captures et leur coût »Chaque sortie d’agent dans les leçons est une capture, avec son heure UTC. Ce que claude -p a indiqué :
| Capture | Leçon | Tours | Coût indiqué |
|---|---|---|---|
| Éléments non cochés dans les journaux, 22:10 | 1 | 3 | 0,34 $ |
Serveur MCP, D dorian, Gb major, ladybugdb, 22:11 |
4 | 5 | 0,36 $ |
${CLAUDE_PROJECT_DIR} dans .mcp.json, premier essai, 22:15 |
4 | 4 | 0,39 $ |
Hook bloquant git push --prune, 22:18 |
3 | 2 | |
Écriture refusée en mode default, 22:22 |
1 | 2 | |
| Skill, 22:24 et 22:25 | 3 | 6 et 2 | |
Expérience CLAUDE.md / AGENTS.md, 22:37 |
2 | 1 chacune | |
Sous-agent lesson-checker, 22:48 |
3 | 4 | 0,49 $, dont 0,04 $ pour le sous-agent Haiku |
Trois variantes de .mcp.json, 22:54 |
4 | 4 | 0,34 $ |
Le « coût » est ce qu’indique la sortie JSON ; sur un abonnement, il est décompté des limites d’utilisation plutôt que facturé.
codex exec sur la même question que la première capture s’est arrêté avec l’erreur citée dans la leçon 1 : la limite d’utilisation, jusqu’au « Sep 19th, 2026 9:42 AM ». Les commandes Codex qui n’appellent pas de modèle ont fonctionné : codex --help, codex exec --help, codex mcp add, codex mcp list, codex mcp get, avec un CODEX_HOME temporaire.
2026-09-14 — Surprises dans Claude Code
Section intitulée « 2026-09-14 — Surprises dans Claude Code »claude -psuit ledefaultModedes paramètres utilisateur. Le~/.claude/settings.jsonde cette machine fixe"defaultMode": "auto", donc unclaude -pà qui l’on a demandé de créer un fichier l’a créé sans demander. Le tableau de la documentation dit queclaude -pdémarre endefault, mais les paramètres passent avant dans l’ordre qu’elle donne. La leçon 1 passe--permission-mode defaultpour la capture d’un refus.--allowedToolsne restreint pas la liste des outils, il pré-approuve ;--toolsrestreint. Facile à confondre dans les scripts.- Git Bash réécrit un prompt qui commence par
/.claude -p "/journal-status …"est arrivé sous la formeC:/Program Files/Git/journal-status ….MSYS_NO_PATHCONV=1corrige le problème. Le modèle a ensuite contourné la commande manquante en lisant lui-mêmeSKILL.md. - Un
Readd’un sous-agent Haiku avec le chemin/C:/Users/…a été refusé comme « a suspicious Windows path pattern that requires manual approval », en modedefault, deux fois, avant qu’il ne réessaie avec des chemins relatifs. Les refus apparaissent dans lepermission_denialsdu parent. - L’agent parent a mal attribué une règle : il a dit à l’utilisateur que « Key takeaways » ne venait de nulle part, alors que la règle était dans la propre définition du sous-agent, que le parent ne lit jamais.
- Les hooks d’un dossier non approuvé s’exécutent en mode
-p, alors que ses règles allow sont ignorées avec un avertissement. Documenté sous confiance de l’espace de travail, et cela mérite une ligne dans tout script du genre « cloner et lancer ». ${CLAUDE_PROJECT_DIR}dans les args de.mcp.jsonéchoue sans valeur par défaut (CONNECTION_CLOSED), et c’est documenté : la variable est définie pour le serveur, pas pour Claude Code.${CLAUDE_PROJECT_DIR:-.}fonctionne.claude mcp listaffiche cette entrée comme${CLAUDE_PROJECT_DIR}/server/LearnMcp.dll, sans le:-.: une bizarrerie d’affichage, le serveur s’est bien connecté.- L’AGENTS.md injecté après la compaction était celui du début de la session. La session de ce cours a démarré à 20:56 UTC ; la règle Mermaid a été commitée dans
AGENTS.mdà 22:01 ; la session a compacté à 22:32. La transcription de la session montre les fichiers d’instructions injectés après la compaction sans la règle Mermaid, alors que le fichier sur disque la contenait et que la documentation dit que leCLAUDE.mdà la racine du projet est « réinjecté depuis le disque ». La copie à jour est arrivée à 23:06:49 UTC, attachée au message entrant suivant, sous la forme « Instruction files were re-read after the conversation was compacted; these differ from their earlier copies » : pendant 34 minutes, pendant que les leçons 1 à 4 étaient écrites, les instructions en contexte n’avaient pas la règle (les leçons ont quand même utilisé Mermaid, d’après le résumé de la conversation). Ici,CLAUDE.mdne contient que@AGENTS.md: l’import joue peut-être un rôle. Observé une fois, sur 2.1.270, cause inconnue. - Le hook git de la machine a bloqué mes commandes deux fois : des expressions régulières comme
push .*--deletecorrespondaient à du texte à l’intérieur de here-documents et de données de test JSON. Écrire les fichiers avec un outil d’édition plutôt qu’avec un here-document shell l’a évité. Le même hook laisse passergit push --prune. C’est la motivation du hook de la leçon 3, qui analyse la commande. - La recherche d’outils est activée : les outils MCP ne sont pas dans le contexte du modèle au démarrage ; le premier appel de chaque capture MCP est
ToolSearch.
2026-09-14 — Surprises dans Codex
Section intitulée « 2026-09-14 — Surprises dans Codex »codex mcp-servera disparu ; la page de documentation qui le décrivait est désormais un avis de suppression qui renvoie vers le serveur d’application expérimental.--full-autoest rejeté parcodex exec0.154.0 (unexpected argument '--full-auto'), la politique d’approbationuntrustedest retirée, et--approve-for-meest nouveau. Beaucoup de tutoriels utilisent encore les anciennes options.- Sous Windows, les commandes de hook s’exécutent avec
%COMSPEC%oucmd.exe /C(source) : la forme documentée$(git rev-parse --show-toplevel)a besoin d’un remplacementcommand_windows. - Cette machine a des hooks à la fois dans
~/.codex/hooks.jsonet dans~/.codex/config.toml; chaquecodex execavertit « prefer a single representation for this layer ». codex mcp addavec unCODEX_HOMEsous le dossier temporaire avertit qu’il refuse d’y créer des alias PATH, et continue.codex mcp listaffiche « enabled », sans vérifier la connexion ;claude mcp listvérifie les serveurs qu’il peut démarrer.
2026-09-14 — Le serveur MCP et ses tests
Section intitulée « 2026-09-14 — Le serveur MCP et ses tests »- Le premier test brut envoyait cinq lignes JSON d’un coup dans le pipe : les réponses sont revenues dans le désordre (id 4 avant id 3). Le mode brut attend désormais chaque réponse avant d’envoyer la requête suivante.
server/discoversans_metarépond-32602, « requires per-request metadata declaring a supported protocol version ».- Le SDK renvoie un
string[]sous forme de texte JSON avec"échappé en\u0022, et les caractères non ASCII échappés aussi :course_outlinerenvoie donc une seule chaîne, pour qu’un tiret cadratin dans un titre reste lisible. - La console Windows affichait ce tiret cadratin comme
-jusqu’à ce que le client de vérification règleConsole.OutputEncodingsur UTF-8 ; les fichiers attendus sont identiques sur les trois systèmes d’exploitation. - Un
Console.WriteLineà l’intérieur d’un outil casse les sessions brutes mais pas la sortie du client du SDK, qui a ignoré la ligne non JSON : le client du SDK est un test tolérant. - Premier
dotnet run guard-git-push.cs: environ 13 s de compilation ; les exécutions suivantes, 0,24 s grâce au cache de build. Les enregistrements du hook utilisent un délai d’expiration de 120 s. - L’exécution de CI 34904115148 a réussi dès le premier push sous Linux, Windows et macOS.
2026-09-14 — GuitarAlchemist/ga, au commit a826864
Section intitulée « 2026-09-14 — GuitarAlchemist/ga, au commit a826864 »Constats à l’intention de l’auteur de ga ; ce cours n’écrit pas dans ga, et rien n’a été signalé en amont.
GaMcpServer/Tools/ScaleTool.cs,GetScaleNotes(lignes 50-80) :- n’écrit qu’avec des dièses :
F majordonneA#au lieu deBb; - la description du paramètre donne
'Bb major'en exemple, et l’outil rejetteBb(« Unknown root note ‘Bb’. Use sharps… ») ; - les erreurs sont renvoyées comme des résultats texte ordinaires, pas avec
isError: trueni une exception ; - tout mode qui ne commence pas par « minor » est traité comme majeur :
D dorianrenvoie ré majeur ; get_key_notes("Key of F")écritBb, donc deux outils du même serveur se contredisent. Observé via un build local de ga le 2026-09-14 vers 22:57 UTC ; le code source àa826864a la même logique.
- n’écrit qu’avec des dièses :
- Le
.mcp.jsonà la racine de ga contient des chemins absolus propres à une machine : il ne fonctionne que sur la machine de son auteur. Des chemins relatifs, ou${VAR:-default}, le rendraient partageable. - ModelContextProtocol 1.3.0 dans
GaMcpServer.csproj, passé de 1.1.0 parce que le paquet compagnon de gouvernance dépend de>= 1.3.0; la version stable actuelle est la 2.2.0, qui parle la révision 2026-07-28. Scripts/sync-agents-md.ps1: son aide dit qu’un avertissement « do not edit » est « appended at the top », alors que le code remplace la ligne de note ; sans conséquence, mais le commentaire n’est plus à jour.CLAUDE.mdnomme aussi la version2.1.126de l’extension Claude Code, 145 versions de correctif en retard.
2026-09-20 — Tutoriels de workflow agentique
Section intitulée « 2026-09-20 — Tutoriels de workflow agentique »- Versions épinglées : skills de Matt Pocock
c55ee460, Sandcastlee99f832f(package 0.12.0) et Compound Engineering6be0932b(plugin 3.27.0). - Leçons 5 à 7 ajoutées en anglais, français et espagnol à partir des sources upstream primaires.
- Aucun plugin, identifiant ou fournisseur payant n’a été utilisé. Les exécutions Sandcastle et celles avec modèle restent des expériences manuelles.
- Le conflit upstream entre l’ancienne documentation Sandcastle en
config.jsonet les templates TypeScript actuels est consigné au lieu d’être tranché silencieusement.
2026-09-24 — Correctifs amont
Section intitulée « 2026-09-24 — Correctifs amont »- Les quatre lignes
ScaleToolsont corrigées en amont par #681, fusionnée le 2026-09-23.GetScaleNotesorthographie une lettre par degré :F majordonneF G A Bb C D E, etBb major, l’exemple de sa propre documentation, est accepté et donneBb C D Eb F G A.D doriandonneD E F G A B C. Chaque cas est un test duScaleToolTests.csde GA, que j’ai lu sur la branche main de GA sans l’exécuter. - Les deux outils sont maintenant d’accord. Une session qui corrigeait d’autres constats des cours a appelé
KeyTool.GetKeyNotesetScaleTool.GetScaleNotespour les 30 tonalités deKey.Items, et ils ont orthographié les mêmes notes pour chacune.
2026-09-26 — Un format d’observation pour les modèles, les skills et les sous-agents
Section intitulée « 2026-09-26 — Un format d’observation pour les modèles, les skills et les sous-agents »Les notes sur les exécutions d’agents dérivent vers l’anecdote : « Opus l’a fait plus vite », « le sous-agent s’est perdu ». Une anecdote mélange trois choses : ce que le modèle a raisonné, ce que le harnais l’a laissé faire, et qui possédait le travail. Le format ci-dessous les sépare, pour que deux observations puissent être comparées, ou déclarées non comparables.
La fiche. Une ligne par exécution. Un champ qu’on n’a pas s’écrit inconnu, jamais deviné.
| Champ | Ce qu’on y met |
|---|---|
| Date, identifiant d’exécution | Date et heure locales avec leur décalage ; l’identifiant de corrélation ou de session |
| Dépôt | Le SHA exact auquel chaque dépôt a été lu ou modifié |
| Harnais | CLI ou application et sa version (claude --version), et le système d’exploitation |
| Modèle, demandé et observé | Ce qui a été demandé, et ce que montre un reçu. Un nom de modèle affiché par une interface ou par l’agent lui-même est auto-déclaré, pas un reçu |
| Skill ou sous-agent | Nom et version, ou une empreinte du fichier ; le rôle : parent, sous-agent ou agent pair |
| Tâche et contexte | La tâche en une phrase ; le contexte fourni (fichiers, consignes, mémoire) |
| Permissions | Le mode de permission, et ce qui a été autorisé ou refusé |
| Hypothèse | Écrite avant l’exécution, ou marquée observation rétrospective |
| Preuve | La commande, l’artefact, le journal ou le code de sortie qu’un lecteur peut rouvrir |
| Résultat et état | L’un de : soumis, visible, accepté, terminé, vérifié indépendamment |
| Catégorie d’échec | Raisonnement du modèle ; lanceur, outil, authentification, permission ou environnement ; orchestration ou propriété |
| Jetons et coût | Le chiffre et sa provenance : facture du fournisseur, estimation du harnais, ou inconnu |
| Confiance et limites | Taille d’échantillon, et ce que l’exécution ne peut pas montrer |
| Reproductibilité | Ce qu’il faut pour une seconde exécution : mêmes entrées, graine, versions |
| Suite | La prochaine vérification, avec son responsable |
Les états ne sont pas interchangeables.
- Soumis : la demande est partie.
- Visible : le destinataire l’affiche.
- Accepté : le destinataire en a pris la responsabilité.
- Terminé : il dit avoir fini.
- Vérifié indépendamment : quelqu’un d’autre a revérifié la preuve.
Un wrapper encore en cours, un processeur occupé ou un message « terminé » ne prouve aucun des deux derniers.
Les catégories d’échec non plus.
- Un dépassement de délai dû à un hôte lent est un échec d’environnement, pas un échec du modèle.
- Une affirmation fausse faite alors que tous les outils fonctionnent est un échec de raisonnement.
- Deux agents qui écrivent le même fichier, c’est un échec de propriété, quel que soit le modèle.
Pas de classement tiré d’anecdotes. Des tâches, des budgets et des contextes différents ne se classent pas les uns contre les autres. Une comparaison de modèles équitable demande :
- des tâches appariées aux entrées fixes ;
- des exécutions ou des graines répétées là où les résultats varient ;
- des critères fixés et mis à l’aveugle avant les exécutions ;
- une vérification indépendante de chaque résultat ;
- le coût rapporté à côté de la qualité.
Cette comparaison est proposée, pas réalisée.
Première observation : cette délégation, 2026-09-26. Un coordinateur (Codex) a confié à une session Claude Code quatre consignes de cours et un diagnostic, corrélation test-quality-courses-20260926 et ses voisines. Seule la preuve dont dispose cette session est consignée.
| Champ | Observation |
|---|---|
| Harnais | Claude Code 2.1.282 (claude --version, 13 h 39 EDT). La vérification préalable du coordinateur voyait aussi 2.1.282 installée, alors que le registre npm proposait 2.1.283. Aucune mise à jour ni aucun redémarrage n’a été fait |
| Modèle | Auto-déclaré seulement : l’interface de la session affichait « Opus 5.5 (1M context) », réflexion moyenne, et son prompt système nomme le même modèle. Aucun reçu de fournisseur n’a été vérifié |
| Rôles | Codex comme coordinateur ; cette session comme seul rédacteur dans le worktree de learn ; un sous-agent en lecture seule sur un clone épinglé d’AutoHarness ; un agent pair (Augment) pour un audit statique en lecture seule d’Abide, écrit dans le dossier de passation partagé |
| Bus partagé | Le coordinateur a rapporté que les appels status et inbox du bus de messages partagé renvoyaient « Transport closed ». Rien ne montre que le bus ait accepté une revendication ; la coordination est passée par des fichiers dans un dossier partagé |
| Hypothèses | Écrites avant la mesure pour le seul labo test-quality (leçon 6 du repository-dogfooding) ; tout le reste ici est observation rétrospective |
| Résultats, par état | Labo mesuré et journal écrit : terminé, pas vérifié indépendamment. La note de supervision du coordinateur dit avoir ré-analysé les rapports de mutation et trouvé les mêmes nombres ; c’est une revérification de la preuve consignée, pas une réexécution. Diagnostic des hooks : terminé ; le coordinateur a qualifié sa cause racine d’hypothèse |
| Échecs vus, par catégorie | Raisonnement, attrapé avant la mesure : un générateur d’entrées malformées qui pouvait produire une entrée valide. Usage d’outil, attrapé par un contrôle de hachage : une modification par script a converti en silence un fichier pré-inscrit en CRLF, et elle a été annulée. Lanceur et environnement : un here-document du shell n’a pas pu être analysé, et rien n’a été écrit ; sur l’hôte, lancer un bash nu prenait environ 2,8 s pendant le diagnostic des hooks. Orchestration : rien d’observé ; un seul rédacteur par dépôt a tenu |
| Jetons et coût | Inconnu. Aucune facture ni aucun reçu d’usage n’a été lu. Aucune API payante n’a été appelée |
| Limites | Une session, un jour, un coordinateur ; ce n’est l’échantillon de rien |
À vérifier
Section intitulée « À vérifier »- Appliquer le format d’observation à une seconde délégation indépendante, et faire vérifier une fiche contre sa preuve par quelqu’un d’autre que son auteur.
- Les commandes d’installation de la leçon 1 sous Linux, WSL et macOS, pour les deux agents, et l’installeur PowerShell de Codex.
- Une session Codex qui répond à la première question de la leçon 1, et la même expérience
AGENTS.mdque dans la leçon 2. - Hooks de Codex : si l’exemple
config.tomlde la leçon 3 s’exécute sous Windows aveccommand_windows, et si son chemin relatif fonctionne quand Codex démarre dans un sous-répertoire ; le processus d’approbation dans/hooks. - Skills de Codex : si
$ARGUMENTS,argument-hintetallowed-toolsont un sens pour Codex, et l’invocation de$journal-status. - Agent personnalisé Codex
lesson_checker: le chargement, etsandbox_mode = "read-only"en pratique. - MCP dans Codex : une session qui appelle
scale_notesetcourse_outline; le répertoire de travail par rapport auquel lesargsrelatifs sont résolus sanscwd;default_tools_approval_mode = "approve". - Si
project_doc_fallback_filenamesest accepté dans le.codex/config.tomld’un projet. - Si Codex développe les imports
@pathdansAGENTS.md(sa documentation n’en parle pas). - Si Claude Code et Codex tolèrent une ligne non JSON sur le stdout d’un serveur, comme le fait le client du SDK.
- Pourquoi l’
AGENTS.mdrelu n’a atteint la session qu’avec le message entrant suivant la compaction : recommencer avec unCLAUDE.mdsimple, sans import, sur 2.1.271. codex exec -o: si le fichier est écrit par la CLI hors du bac à sable en moderead-only.- Une capture d’installation jetable pour chaque workflow, sans installer des suites qui se chevauchent dans le même fixture.
- Une exécution Sandcastle avec Docker, branche explicite, une itération, aucun merge et des preuves de test contrôlées par le host.