Blog
All articles. All pillars. All authors.
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.
Le plafond qui ne s'est jamais déclenché : un correctif mémoire qui n'a rien corrigé
Un plafond sur les logs de build livré, tests au vert, RSS bornée — et pourtant la ligne en base atteignait 14 Mo. Le plafond protégeait une valeur que personne ne conservait.
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.
870 connexions fuitées, 12 semaines, une seule cause racine : un Transport par requête
Douze jours de panne silencieuse remontant à un seul anti-pattern Go : créer un http.Transport par requête. Comment un audit en direct l'a trouvé, plus 3 autres bugs en production.
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.
Le segfault qui n'était pas le nôtre : livrer le tracking du jour de lancement de Déblo la nuit du lancement — analytics conditionnées par l'environnement, attribution native des stores, trois bugs que le compilateur ne pouvait pas voir, et un build à court de mémoire que nous avons diagnostiqué au lieu de le rétablir
Le 1er juillet 2026 — jour de lancement — le risque n'a jamais été le texte. C'était les campagnes payantes qui partaient à l'aveugle. Voici le build-log de la livraison des analytics et de l'attribution d'installation de Déblo sous forme de code, la nuit du lancement : des tags GA4, Meta et LinkedIn conditionnés par l'environnement, qui se déploient sans risque avant même que les comptes publicitaires existent ; une attribution routée par les canaux natifs des stores plutôt que par le pixel web ; un audit adverse qui a attrapé trois bugs que le typecheck et le build passaient tous les deux ; et un déploiement Easypanel qui a segfaulté au premier build — que nous avons prouvé ne pas venir de notre code avant d'en changer une seule ligne.
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.
Les agents qui sont arrivés après le commit
Contrepoint à la session des treize agents. Pendant un refactor UX du portail chauffeur KASSIA, deux sous-agents Explore ont été lancés en mode plan pour explorer la base de code — puis immédiatement oubliés pendant que le travail était fait en ligne par des appels Read directs, le commit poussé, la session clôturée. Les agents ont notifié leur disponibilité au moment où le push atterrissait. Le bilan honnête : pourquoi la reconnaissance pré-implémentation sur des fichiers nommés est le mauvais usage d'un agent Explore, et la règle de décision qui la distingue des deux usages qui sont justes.