# TOOL-02 — Clé dorée et clé de Steve — beta.123 Contrat du 17 septembre 2026, branche `codex/wrench-safety-beta123`. Ce ticket remplace le contrat de la clé dorée de beta.120 : l'édition libre reste disponible dans un objet distinct, la **Clé à molette de Steve**. Le créateur précise que la clé de Steve reste utilisable en survie dès qu’un joueur la récupère, sans condition opérateur. Elle n’a pas de recette. ## Clé dorée : orientations natives L'identifiant `sanctuary:golden_wrench`, sa recette et sa texture restent stables. Clic droit parcourt l'orientation native ; Maj parcourt en sens inverse. Clic gauche rappelle les gestes, sans casser le bloc ni sélectionner un état. Les familles de propriétés autorisées sont les orientations horizontales, les six directions, les trois axes, la rotation native des panneaux et l'orientation native des blocs qui la proposent. La règle porte sur les propriétés Minecraft, sans catalogue à maintenir pour chaque type de bloc. L'eau, la moitié d'un escalier, les inventaires, les états de croissance, les quantités, la puissance et les autres propriétés ne sont jamais proposées. Aucune transformation indépendante des textures n'est créée par la clé dorée. Les textures suivent seulement le modèle orienté par Minecraft. Les connexions et formes sont recalculées à partir des voisins réels, avec les mises à jour natives actives. Une orientation privée de support est refusée sans casser le bloc. L'eau déjà contenue dans un bloc est conservée. Les coffres doubles, portes, lits, étagères reliées, pistons sortis et leurs pièces mobiles ne peuvent pas être tournés individuellement. Ils restent dans leur état courant et une indication explique le refus. Il faut replacer les éléments concernés ou rétracter le piston ; ce ticket ne déplace pas un ensemble lié. Les coffres simples conservent leur entité et leur inventaire. L'assemblage, l'ouverture et la dissociation des Métablis, Fûts, Fourneaux et super pistons restent prioritaires avec les deux clés. Les parties techniques d'un multibloc Sanctuary assemblé ne sont pas éditées individuellement. ## Clé de Steve Nouvel identifiant `sanctuary:steve_wrench`, dans la section créative des outils, sans recette de survie. La possession de cet objet donne accès à ses pouvoirs, y compris en survie sans commandes et sans statut opérateur, dans les deux mains. Les restrictions natives de construction, aventure, spectateur, portée, protection et verrouillage restent appliquées côté serveur. Les gestes de beta.120 sont conservés : clic gauche choisit la propriété, clic droit la modifie, Maj inverse le parcours. Tous les états natifs et la rotation indépendante des textures y restent volontairement accessibles. La clé de Steve est donc volontairement capable de produire des états non naturels, y compris pour le joueur qui la récupère en survie. La texture finale est le PNG 16 × 16 bleu fourni par le créateur dans ce ticket, copié sans transformation dans `assets/sanctuary/textures/item/steve_wrench.png`. SHA-256 : `0084c41e1f46958903075e21866facd97d85e03fb8e06742e25b2ab254956fa3`. Le modèle reste un objet Minecraft 2D tenu en main, avec rareté épique et reflet. La proposition imagegen intermédiaire n'est pas livrée. Les noms, messages et indications des deux outils existent en français et en anglais. ## Sauvegardes et ressources Aucune migration, modification de génération ni parcours des mondes existants. Les transformations de texture précédemment sauvegardées sont conservées ; la clé de Steve permet de les modifier. Les états non naturels déjà présents ne sont pas automatiquement réécrits. Les clés dorées existantes reçoivent immédiatement les nouvelles restrictions par leur identifiant inchangé. Le template personnel inclut le nouvel objet à sa prochaine création ; une copie personnelle existante n'est jamais écrasée. ## Vérifications Le parcours `Wrench123ClientChecks` passe en **1 min 12 s**, client macOS et serveur intégré, Minecraft 26.3, dans des mondes plats jetables de graines 123 et 120. Il reprend le parcours avancé de beta.120 sur la clé de Steve : - Vrais clics dorés répétés sur escalier, coffre et terre : pas de nouvelle eau, pas de sélection libre, pas de faux coffre double ni de rotation de texture. - Rotation inverse, eau existante conservée, formes recalculées selon les voisins, trois axes de bûches et six orientations des pistons isolés. - Coffre double avec ses deux inventaires intacts ; portes, lits, pistons sortis et pièces mobiles protégés ; torche murale sans support laissée intacte. - Vrais clics Steve en survie sans commandes : états et textures accessibles, dans les deux mains. Créatif accessible aussi sans commandes ; restrictions aventure/spectateur/portée conservées. - **2 522 propriétés natives** toujours réversibles pour Steve, UV réellement tournés sans déplacer la géométrie, rechargement des ressources, inventaires et sauvegarde/reconnexion conservés. - Assemblage et dissociation des quatre familles avec la clé dorée par vrais clics ; le PNG de Steve apparaît en main et dans la barre rapide. Marqueurs `WRENCH123_SAFE_PASS`, `WRENCH123_PASS`, `WRENCH120_PASS` dans `build/wrench123-client.log`. Captures relues dans `build/wrench123-evidence/`. Pas de validation Windows, de client distant ou de shader tiers. `./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest` passe en **2 min 19 s**, 126 tâches (103 exécutées, 23 à jour). Les sources des JAR correspondent aux sources du dépôt. La comparaison avec beta.122 limite les dix entrées de production modifiées aux classes des clés, aux libellés et aux ressources du nouvel objet. Les autres ressources, notamment les sculptures et la texture dorée, sont identiques. Les packs normal/Test contiennent le même JAR Sanctuary, sans sauvegarde ni fixture de test. Le template ZIP correspond exactement aux ressources du JAR et à ses ressources embarquées, dont le PNG bleu du créateur. - Pack normal : 10 270 954 octets, SHA-256 `a7401dbef1bd1b888da2686368943eddc82d0d43e20449330c4849b4dff93e5f`. - Pack Test : 10 289 877 octets, SHA-256 `c57cc6fc47f887b90850473e51407b610a6c5639c35fc2b78dc9ddb74f795b80`. - JAR Sanctuary : SHA-256 `23e1a81c793a048c6375a0da07eb0bbe1a18f833a9ceb61a3c1dc5f1a3e65a30`. Reçu local : `build/wrench123-artifact.json`. Le GameTest dédié reste exclu conformément au refus antérieur de son EULA. Aucun monde personnel n'est ouvert par les essais. ## Publication et installation La [release beta.123](https://git.botsu.net/koka/sanctuary-beta/releases/tag/beta.123) est publiée depuis `4552cc347b7fded610b1eda7a67ffaad56a5e201`. Le tag exact et les artefacts sont immuables ; les téléchargements publics ont été vérifiés. Canal packwiz : `f988d01b901f2d3eda0b4ab47a48540dc627d1b5`. Le template personnel publié inclut la clé de Steve ; SHA-256 `f84d3c1c0e38232add90fb943dc39fd3e89138576df86024ceaa311478ed5cb9`. Deux synchronisations isolées puis deux dans **Sanctuary Beta** réussissent. Un seul JAR Sanctuary beta.123 est actif, conforme au hash vérifié ; le second passage ne change rien. Les **923 fichiers personnels et réglages suivis** restent inchangés, sans ouverture de monde personnel. Copie préalable dans `sanctuary-backups/before-beta.123/` de l'instance existante. Reçus : `build/wrench123-isolated.json` et `build/wrench123-prism.json`.