Jarred Sumner, créateur de Bun (runtime JS/TS, >22 M téléchargements/mois, racheté par Anthropic en décembre 2025), raconte la réécriture complète de Bun de Zig vers Rust en 11 jours (3→14 mai 2026), pilotée par Claude. La motivation est une classe de bugs récurrente — use-after-free, double-free, fuites — née du mélange mémoire gérée par GC (JavaScriptCore) et mémoire manuelle (Zig). En safe Rust, ces bugs deviennent des erreurs de compilation avec nettoyage automatique (Drop/RAII) : « une meilleure boucle de feedback qu'un guide de style ».

Contre le dogme « une réécriture est toujours une mauvaise idée » (un an de gel des correctifs pour 3 ingénieurs sur 535 496 lignes de Zig), Sumner opte pour un portage mécanique : préserver l'architecture, minimiser les changements de comportement, valider par la suite de tests existante — écrite en TypeScript, donc indépendante du langage (60 624 tests, 1,39 M assertions, 0 test supprimé, 6 plateformes).

corriger le processus qui génère le code, pas le code à la main

Jarred Sumner , bun.com

Le harnais : ~50 dynamic workflows dans Claude Code, en boucles écrire → relire → appliquer, tournant en continu. La brique de fiabilité est la revue adversariale : un second Claude, dans un contexte séparé, qui ne voit que le diff et doit « trouver pourquoi c'est faux ». Ratio 1 implémenteur / 2+ relecteurs / 1 fixer ; l'implémenteur ne relit pas. Elle capte des bugs subtils, syntaxiquement identiques mais sémantiquement différents (un Box droppé avant un uv_close asynchrone ; unwrap_or eager qui panique). Principe cardinal : « corriger le processus qui génère le code, pas le code à la main » — quand un anti-pattern apparaît, on édite le prompt/workflow.

Préparation soignée : PORTING.md (mapping Zig→Rust) et LIFETIMES.tsv (lifetime de chaque champ de struct), essai sur 3 fichiers avant les 1 448. Puis 4 worktrees × 16 = ~64 Claude en parallèle, après avoir interdit tout git non-atomique. Pic : 1 300 lignes/min, 695 commits/h ; 6 502 commits, diff +1 009 272 lignes, ~16 000 erreurs de compilation traitées comme file d'attente (découpage en ~100 crates, résolution des dépendances cycliques).

Coût assumé : 5,9 Md tokens d'entrée non cachés + 690 M en sortie ≈ 165 000 $, contre ~3 ingénieurs pendant un an — « qu'on n'aurait jamais fait ». Modèle : pré-version de Claude Fable 5 (classe Mythos). Depuis le merge : 11 rounds de revue de sécurité Claude Code, fuzzing 24/7 (100 Md exécutions → ~15 PRs), 4 % de code unsafe, 19 régressions corrigées. Premier release : Claude Code v2.1.181, +10 % de démarrage sur Linux. « This is the bleeding edge of what's possible today. »