# Exécution d'outils sandboxée V1 **État : CURRENT local pour la frontière et ses tests `SPECIMEN`; disponibilité d'exécution dépendante de `bwrap` et de la Policy.** `ToolRegistry` porte une identité stable explicite, distincte du nom du binaire, ses contrats d'entrée/sortie, sa classe de risque, disponibilité documentaire, disponibilité détectée et admission Policy. La détection utilise uniquement `argv` bornés (`--version`, puis `--help`); elle n'installe rien. `sandbox.exec` n'accepte pas un shell ni une chaîne de commande. Les arguments sont une liste structurée, l'exécutable est choisi dans le registre et les artefacts sont fournis via un identifiant opaque, matérialisés en lecture seule sous `/input`. Les sorties déclarées restent sous `/output` avec une provenance bornée. NUL, chemins hôte, `~`, traversées, outil inconnu et sortie non déclarée sont refusés. L'exécution exige Bubblewrap rootless avec réseau isolé, environnement nettoyé, répertoires système en lecture seule, `/proc` isolé, `/dev` minimal, timeout et limite combinée de sortie. L'absence ou l'échec de `bwrap` retourne `UNAVAILABLE`; il n'existe jamais de fallback en subprocess hôte libre. Les documents locaux sont mis en cache XDG privé et borné comme `UNTRUSTED_DATA`. Les lire, y compris pour un outil dual-use, ne le rend pas exécutable et ne transforme aucune instruction documentée en permission.