Les garde-fous : la qualité comme condition de la vitesse
Le paradoxe apparent
L'équipe étudiée est probablement l'une des plus « agentifiées » qu'on puisse observer (skills, agents, hooks, agent en CI) — et c'est AUSSI l'une des plus strictes : mypy --strict, ruff 13 rulesets, import-linter, deptry, vulture, squawk, gitleaks, Sonar Quality Gate bloquant, tests d'intégration sur vraie base (testcontainers), filterwarnings=error. Ce n'est pas un paradoxe : c'est une équation.
L'équation de la délégation
vitesse de production (agents) × taux d'erreur non détectée = dette qui explose
vitesse de production (agents) × vérification mécanique = vélocité durable
Chaque garde-fou attrape une classe d'erreur typique des agents :
| Garde-fou | La faute d'agent qu'il attrape |
|---|---|
| mypy strict | le type approximatif qui « marche » sur le happy path |
| import-linter | le raccourci d'import qui viole l'architecture (l'agent ne « sent » pas les frontières) |
| tests sur vraie DB | le mock complaisant qui valide un code faux (la RLS ne se mocke pas !) |
| Sonar new-code gate | la couverture qui régresse MR par MR, invisiblement |
| hooks pre-commit | l'invariant métier (WHERE tenant_id…) qu'aucun linter générique ne connaît |
| gitleaks | le secret collé dans un exemple généré |
Le principe de conception : rendre le correct facile, l'incorrect impossible
La stratégie n'est pas de « surveiller les agents » mais de façonner l'espace dans lequel ils travaillent : les Protocols et l'architecture modulaire font qu'un agent qui imite le code voisin produit du code juste (le chemin heureux est le chemin facile) ; les vérifications mécaniques font que le code faux ne peut pas entrer (le chemin faux est fermé). Entre les deux, la revue humaine se concentre sur ce que les machines ne jugent pas : le sens, le périmètre, le design.
C'est la maturité finale du dispositif : quand quelqu'un demande « peut-on faire confiance au code des agents ? », la réponse de l'équipe est « on ne fait confiance à AUCUN code — humain ou agent — on fait confiance au pipeline qui le vérifie ». L'agent n'a pas abaissé le standard : il a forcé à le rendre exécutable.
Pourquoi l'équipe la plus agentifiée est-elle aussi la plus stricte ?