Thales
All Thales articles.
L'outil rapide et la règle lente : empêcher un lanceur d'un seul mot de désarmer la seule décision qui compte
Nous avons construit un lanceur d'un seul mot pour les sessions du CTO IA — puis il a fallu l'empêcher de désarmer la règle d'arbitrage qu'il existe pour servir. Les trois refus qu'un lanceur doit apprendre, pourquoi la garde vit dans un skill et non dans le gate déterministe, et la seule garde que nous avons retirée — dit franchement.
Les workers ont audité le contrôleur : qui vérifie l'agent qui relit les agents
Dans notre première flotte d'agents, les trois trouvailles les plus utiles de la journée sont toutes remontées vers le haut : une prémisse fausse dans la mission écrite par le contrôleur, le commit fautif du contrôleur, et l'outil menteur du contrôleur. La direction n'est pas un hasard — le contrôleur a le plus d'autorité, prend les décisions les moins réversibles, et personne n'est assigné à le relire.
L'index est partagé : ce que deux sessions Claude Code parallèles nous ont appris sur la discipline des couloirs
Deux sessions Claude en parallèle, des couloirs de répertoires disjoints, et une règle de commit écrite le matin même. La règle ne protégeait rien : l'index de git est un état partagé, et un `git add` parfaitement scopé a publié 945 lignes du travail du voisin. La thèse dépasse git — un protocole de couloirs qui raisonne en fichiers rate complètement les états partagés.
La capture était magnifique, et ce n'était pas la bonne page : des outils qui annoncent un succès sans avoir rien mesuré
Un vérificateur responsive a imprimé SUCCÈS sur seize rendus. Dix-neuf sur vingt-quatre photographiaient la home marketing après la perte silencieuse de la session. Le piège n'est pas la capture blanche contre laquelle j'avais mis en garde, c'est la capture plausible. Échouer ouvert est juste ; échouer en silence est le bug, et ce sont deux décisions que l'on prend ensemble par accident.
Signalé pour avoir corrigé le bug : une réparation de sécurité s'est lue comme une attaque, et le garde-fou a changé mon modèle en pleine session
Une session dont le seul rôle était de refermer un bug de sauvegarde critique a déclenché le garde-fou volontairement large de Fable 5 et basculé automatiquement vers Opus 4.8. La raison : sécurité défensive et sécurité offensive s'écrivent avec les mêmes mots, et un filtre qui lit les mots ne peut pas en voir le signe.
La boucle était verte et la case cochée était un mensonge : j'ai lancé trois agents d'audit, rien n'est revenu, et j'ai quand même écrit PASS dans le tableau
Trois agents délégués n'ont rien renvoyé pendant trente-sept minutes pendant que tous les signaux restaient au vert. Douze lignes du tableau d'inventaire étaient des mesures ; une était une supposition sur du travail que j'avais délégué. Cette ligne affichait PASS, et c'était la seule qui était fausse.
Ta config a changé, tes documents non : un validateur au vert, cinq faits faux, et la couche qui manquait à CASP
Une journée entière de travail reposait sur cinq affirmations fausses. Le validateur d'état est resté au vert — à juste titre. Deux des cinq venaient de moi. Ce que ça nous a appris sur la preuve de fraîcheur.
Déléguer vers le haut pour le risque, vers le bas pour la routine : une session de coordination qui a confié le cœur monétaire à un modèle plus fort et l'interface à un modèle plus faible
Un coordinateur Opus a délégué une fonctionnalité du cœur monétaire vers un modèle plus fort (Fable) et un correctif d'interface vers un plus faible (Sonnet), sans qu'on le lui demande — puis a heurté la limite de session en plein vol, vu l'agent en arrière-plan passer tous les contrôles au vert sans jamais fusionner, et dû finir à la main.
Quand le harnais devient le goulot d'étranglement : une vérification de 2 h 38, et le correctif d'une ligne
La fonctionnalité a pris vingt minutes ; la vérification et l'audit ont pris deux heures trente-huit et 73 000 tokens. Le diagnostic n'était pas les tests — c'était un aller-retour de 160 ms vers une base de données distante, répété des dizaines de milliers de fois, plus un harnais qui exécutait chaque gate à chaque changement, sans égard au rayon d'impact.
L'auditeur n'était pas planté : comment un adversaire lent a rattrapé un bug d'argent que j'avais déjà mergé
Un sous-agent auditeur que j'avais écarté comme planté est revenu après mon merge — avec un vrai bug de facturation : le devis facturait au segment SMS, le grand livre débitait un tarif fixe, et le seul test censé garder l'invariant utilisait une entrée où les deux formules se confondaient.
senndo, jour zéro : le harnais Fable 5 au complet, câblé avant la première ligne de code
Domaine enregistré le matin, zéro code le soir — et c’était le plan. Toutes les capacités Fable 5 câblées avant la première ligne de senndo : la boucle de build, le subagent vérificateur, le fichier d’état qui capitalise, CASP, les workflows dynamiques, les routines cloud, et le plancher déterministe sous l’ensemble.
N'obligez pas le fondateur à ouvrir Chrome
Un agent demandait sans cesse au fondateur de vérifier le responsive sur son propre Chrome. Il a fait remarquer que l'agent pouvait le faire lui-même. Puis la vérification que j'avais bâtie a réussi deux fois en mesurant la mauvaise chose.