# Validation alpha.23.1 Cible : Minecraft 26.3-pre-2, Fabric Loader 0.19.5, Fabric API 0.160.0+26.3, Java 25. Branche `codex/natural-secrets-alpha23`, ticket WG-27. **Livraison locale vérifiée le 11 septembre 2026.** Les neuf cas de la matrice initiale, les structures natives et leurs réouvertures, les océans échantillonnés et le cycle réel d’expansion passent. `check build`, `assemblePack` et le MRpack sont vérifiés. **Publication et synchronisation Prism restent bloquées par l’authentification Git indisponible.** Le [contrat de génération](generation-alpha23.1.md) décrit le périmètre ; les limites de chaque preuve sont conservées ci-dessous. ## Environnement et preuves Les essais utilisent un serveur Fabric GameTest sans interface graphique sur Mac, dans des mondes de développement ignorés. Aucun monde personnel n’a été ouvert ou modifié. **Windows n’a pas été testé ; aucune validation visuelle client, avec ou sans shaders, n’a été effectuée.** Les preuves locales sont dans `build/alpha231-evidence/matrix.json` et les rapports `secrets--.json` du même dossier. Pour le Moyen, graine 0, les rapports finaux `final-medium.json` et `final-medium-reload.json` remplacent le résultat intermédiaire de `secrets-0-724.json` ; leurs durées figurent dans `postchecks.json`. Les réouvertures possèdent un rapport `*-reload.json`. Ces fichiers de développement ne sont pas des artefacts publics versionnés. Les journaux correspondants sont indiqués dans la matrice ; les assertions sont dans [Secrets23WorldGameTests](../mods/sanctuary/src/gametest/java/fr/koka/sanctuary/gametest/Secrets23WorldGameTests.java). Les premières exécutions précèdent la dernière optimisation du préfiltre minéral. La distinction est conservée ci-dessous, avec la reprise du Moyen, graine 0, et la réouverture du Petit, graine 42, sur le préfiltre final. ## Créations réellement vérifiées en FULL Les neuf cas ci-dessous ont `passed: true` et un code de sortie nul. Dans ces témoins, aucun quartier Lost City n’est demandé sur l’île initiale ; un observatoire et un hall indépendant sont toujours présents. Le réseau d’atelier caché apparaît dans huit cas sur neuf : il n’est pas retenu dans le Petit, graine 0. Lorsqu’il est présent, il ne contient que son accès, un corridor et l’atelier. Le hall n’inclut aucune piscine. Les structures expérimentales sont activées. | Graine | Taille nominale | Chunks FULL contrôlés | Modules de traversée | Liaisons patrimoniales | Rails natifs vérifiés | Sanctuaire minéral | État | | --- | --- | ---: | ---: | ---: | ---: | --- | --- | | 0 | Petit 512 | 88 | 19 | 2 | 85 | Présent | Réussi avec le préfiltre final ; atelier caché non retenu | | 0 | Moyen 724 | 85 | 23 | 2 | 68 | Présent | Création et réouverture finales réussies (`final-medium*.json`) | | 0 | Grand 1 024 | 105 | 35 | 2 | 73 | Présent | Réussi avec le préfiltre final | | 42 | Petit 512 | 88 | 17 | 1 | 23 | Présent | Création réussie ; réouverture avec le préfiltre final réussie | | 42 | Moyen 724 | 82 | 23 | 3 | 135 | Présent | Réussi avec le préfiltre final | | 42 | Grand 1 024 | 125 | 31 | 1 | 43 | Présent | Réussi avec le préfiltre final | | 2026 | Petit 512 | 85 | 17 | 2 | 36 | Présent | Réussi avec le préfiltre final | | 2026 | Moyen 724 | 79 | 23 | 1 | 54 | Présent | Réussi avec le préfiltre final | | 2026 | Grand 1 024 | 107 | 31 | 2 | 58 | Présent | Réussi avec le préfiltre final | Le nombre de chunks contrôlés correspond aux emprises des structures retenues, pas à toute l’île. Ces neuf témoins ne garantissent pas le même résultat sur toutes les graines. Le nombre de liaisons ne signifie pas que tous les lieux sont reliés : les tronçons ferroviaires locaux peuvent subsister quand un raccord lointain est refusé par le terrain. Les durées du runner consignées pour les neuf créations retenues vont de 68,38 à 148,52 secondes. Elles incluent le lancement de la JVM, la préparation du monde, la génération FULL des emprises et les assertions. | Graine | Petit 512 | Moyen 724 | Grand 1 024 | | --- | ---: | ---: | ---: | | 0 | 78,86 s | 96,19 s | 148,52 s | | 42 | 68,38 s | 79,60 s | 113,23 s | | 2026 | 70,20 s | 89,04 s | 133,05 s | Le Moyen, graine 0, utilise ici la durée de sa création finale dans `postchecks.json`, et non les 99,07 secondes de son ancien essai. Sa réouverture finale prend 57,24 secondes. **Ce ne sont ni des temps de rendu client, ni un benchmark Windows, ni une mesure du gain de performance par rapport à l’alpha.22.** ## Ce que le GameTest contrôle - Chaque emplacement accepté possède un vrai départ de structure natif. Les pièces sauvegardées retrouvent les mêmes données après sérialisation puis lecture ; leurs emprises sont chargées jusqu’au statut FULL. - La traversée est parcourue par un contrôle des collisions natives pour un volume de joueur de 0,6 × 1,8 bloc. Les montées souterraines exigent un escalier orienté ; les abords naturels des portiques peuvent comporter un saut normal d’un bloc. La trappe, les échelles et les ouvertures du hall sont contrôlées. - Toutes les cellules marquées comme portant un rail possèdent réellement un bloc de rail après décoration, avec un ballast solide dessous. Les lacunes prévues restent réparables ; aucun trajet réel en wagon n’a été testé. - Le centre du sanctuaire minéral est contrôlé par échantillonnage dans les chunks FULL : sol solide et deux blocs d’air au-dessus. Le test pur vérifie aussi l’intégralité du centre de 39 × 39 et les quatre orientations. - Les voies de surface préservent le disque naturel d’arrivée de 48 blocs de rayon. Les volumes retenus ne nécessitent aucune ville de surface. Ces contrôles ne constituent pas une appréciation esthétique des ruines ou des cavités. La présence de géométrie et la circulation vérifiée ne valident pas encore l’équilibrage des ressources, l’expérience multijoueur ou les effets visuels de l’eau et de la lumière. ## Repères de visite — graine 42 Ces coordonnées proviennent des géométries des rapports. Elles s’appliquent à un **nouveau monde de génération 23**, avec les structures et les secrets expérimentaux activés, dans la taille correspondante. Ce sont des repères de développement ; aucune téléportation dans un monde personnel n’a été effectuée. | Lieu ou accès, coordonnées X Y Z | Petit 512 | Moyen 724 | Grand 1 024 | | --- | --- | --- | --- | | Entrée de l’observatoire | `54 243 -40` | `186 251 -110` | `204 250 -121` | | Accès de l’atelier caché | `-45 244 -131` | `-116 250 -157` | `-174 251 -128` | | Trappe du hall indépendant | `32 168 -72` | `-97 223 -53` | `46 256 146` | | Premier portique parcouru | `-68 250 -93` | `-170 256 82` | `-272 249 -8` | | Second portique parcouru | `68 250 43` | `170 252 82` | `204 250 -8` | | Point de localisation intérieur du sanctuaire minéral | `-144 165 -61` | `-121 208 -23` | `-103 144 194` | | Coin minimal de son enveloppe | `-183 161 -97` | `-160 204 -59` | `-142 140 158` | L’enveloppe minérale conserve 79 × 73 × 27 blocs — largeur, profondeur, hauteur — et un centre dégagé de 39 × 39. Une ouverture sur un flanc exposé peut donner sur le vide ; les essais ne garantissent pas un chemin extérieur déjà construit jusqu’à elle. Le point de localisation reste dans la salle. ## Réouverture et limites de l’admission minérale Le Petit, graine 42, passe sa réouverture dans une JVM distincte : processus 7581 pour la création et 7664 pour la lecture. Les paramètres du générateur, les plans, les départs natifs et la modification témoin de l’observatoire sont conservés. Le sanctuaire reste présent, avec 23 rails natifs dans le monde. La création précédait le préfiltre final ; sa réouverture, avec ce préfiltre, conserve la même géométrie. Ce cas ne valide pas toutes les sauvegardes. Le Moyen, graine 0, passe sa création et sa réouverture finales dans deux JVM distinctes, processus 8650 puis 8777 (`final-medium.json` et `final-medium-reload.json`). Le sanctuaire est présent, avec 85 chunks FULL contrôlés et 68 rails natifs. Les paramètres du générateur, les géométries, les départs natifs et la modification témoin sauvegardée sont identiques entre les deux rapports. Le point de localisation intérieur du sanctuaire est `-93 143 81`, dans une enveloppe dont le coin minimal est `-132 139 45`. Ce résultat final remplace le refus minéral de la recherche intermédiaire. La recherche du sanctuaire reste bornée : 48 positions, quatre orientations, trois profondeurs, au plus 10 000 colonnes et 1 200 000 sondages. Le préfiltre examine une grille avant la certification détaillée. Celle-ci conserve au moins 60 % de couverture et d’appuis directs sur deux blocs de roche native ; chaque colonne sans appui direct doit être à dix blocs au plus d’un appui. Le volume protégé est vérifié intégralement. Le rendu ne pose aucun pilier hors de son enveloppe pour sauver un mauvais emplacement. Les diagnostics distinguent ouverture obstruée, couverture ou roche insuffisantes, appuis trop éloignés, volumes protégés et budget épuisé. Un refus ne prouve pas qu’aucun emplacement imaginable n’existe ailleurs dans l’île. Les témoins obtenus ne garantissent donc pas la présence du sanctuaire pour toutes les graines. Les règles des autres structures n’ont pas été assouplies pour faire accepter ce lieu. ## Autres vérifications ### Réalisées Le smoke ciblé `secrets23Smoke` a passé ses témoins de géométrie, sauvegarde et refus ; `structureCensusSmoke` possède également une réussite dans le journal local `build/alpha23.1-corrected-smokes.log`. La suite générale réussit ses **24 GameTests obligatoires** dans `build/alpha23.1-general.log` : 51,84 secondes pour l’exécution des tests et 117,75 secondes pour le runner complet. La dernière entrée `general` de `postchecks.json` possède un code de sortie nul. Elle remplace le premier essai interrompu par l’ancienne assertion du nombre de biomes, depuis actualisée. Les suites spécialisées et les commandes finales sont attestées séparément dans les sections suivantes. Les deux modes OFF passent dans les mondes de développement de graine 0, taille Moyen 724. Les reçus et les durées se trouvent dans `build/alpha231-evidence/` et `postchecks.json` : | Option | Preuve | Résultat contrôlé | Durée du runner | | --- | --- | --- | ---: | | `sanctuaryExperimentalStructures=false` | `optional-off.json` | Aucun observatoire, atelier, sanctuaire minéral ni rail patrimonial ; les 23 modules de traversée et le hall indépendant restent présents. 43 chunks FULL contrôlés, parcours de la traversée et accès du hall réussis. | 69,04 s | | `sanctuaryGenerateStructures=false` | `global-off.json` | Aucun départ natif valide dans les trois chunks contrôlés ; 293 376 positions vérifiées sans les rails et blocs manufacturés ciblés par le test. | 30,50 s | Ces essais attestent les comportements observés dans leurs emprises ; le contrôle global OFF n’est pas un inventaire de tous les chunks de l’île. La création puis la réouverture du générateur historique `sanctuary:island_v22` passent également pour la graine 0, taille Moyen 724, avec les structures expérimentales activées. Les rapports `legacy22.json` et `legacy22-reload.json` proviennent de JVM distinctes, processus 9088 puis 9208, en 130,05 et 86,11 secondes. Ils contrôlent 115 chunks FULL et conservent 14 sites patrimoniaux, sept liaisons, 23 modules de traversée, un hall indépendant et la modification témoin sauvegardée. `legacy22-comparison.json` compare ces résultats aux rapports alpha.22 de référence `build/alpha22-evidence/native22-create.json` et `native22-reload.json`. Tous les champs de référence restent identiques, à l’exception des identifiants de processus et chemins de mondes, volontairement exclus. Les seules clés supplémentaires autorisées dans les nouveaux rapports sont `transit_native_walk` et `hall_native_access` : ce sont des diagnostics de parcours ajoutés au test, pas une modification du format de sauvegarde. Ils passent aussi : les deux portiques sont reliés par un parcours de 548 pas de contrôle et le hall dispose d’un accès utilisable avec 22 blocs d’échelle et huit ouvertures libres. Le même reçu atteste que le preset conservé `sanctuary_v22.json` est identique octet par octet à l’ancien preset `sanctuary.json` du commit `e654d56`. Cette comparaison porte sur ce témoin de génération 22 créé et rechargé avec le code actuel ; elle ne constitue ni une migration ni un essai de tous les anciens mondes personnels. ### Réservations réelles d’expansion Quatre appels réels à `ExpansionRuntime.Session.create` passent dans des JVM neuves, sans aperçu d’expansion avant l’appel, sur des mondes de développement de graine 0 et de génération 23. Chaque essai réussit dès le premier identifiant `admission_23_0`, conserve le délai de recherche de production de 30 secondes et termine avec une seule nouvelle île au statut `reserved`. Les preuves sont dans `build/alpha231-evidence/admission-costs.json` et les quatre rapports ci-dessous. La durée d’admission est celle de l’appel à `Session.create` ; la durée du runner inclut le lancement et les contrôles. | Demande | Preuve | Admission | Runner complet | | --- | --- | ---: | ---: | | 512, tempéré, naturel | `reserve-512-temperate-natural.json` | 206 ms | 53,62 s | | 1 024, tempéré, naturel | `reserve-1024-temperate-natural.json` | 698 ms | 52,33 s | | 1 024, tempéré, océan | `reserve-1024-temperate-ocean.json` | 441 ms | 53,40 s | | 1 024, Lost City, naturel | `reserve-1024-lost_city-natural.json` | 12 849 ms | 64,15 s | Le contrôle vérifie la garantie native appliquée par `Session.create`, la relecture du journal durable, la conservation du profil capturé avant l’appel et l’idempotence : répéter le même identifiant ne crée pas une seconde réservation et ne réécrit pas le journal. Le profil initial de priorités est vide dans ces quatre témoins ; ils ne couvrent pas encore son évolution après le recensement d’un continent généré. Pour Lost City, le journal `build/alpha23.1-reserve-1024-lost_city-natural.log` atteste un plan accepté comportant un quartier et un réseau souterrain ; cette planification prend 12 575 ms à l’intérieur de l’appel d’admission. **Ces quatre essais sont des réservations uniquement.** Leurs reçus indiquent `reserve_only: true` et `full_generation_checked: false`. Ils ne valident pas la préparation complète, le passage à `ready`, les blocs posés en FULL ou leur réouverture ; leurs durées ne sont donc pas des temps de génération de continents. Aucune publication ni expansion dans un monde personnel n’est attestée par ces essais. ### Cycle complet d’une expansion réelle `build/alpha231-evidence/admission.json` atteste le passage complet de `Session.create` à `ready`, processus 11335, sur un monde de graine 0 : expansion tempérée naturelle de **256 blocs**, identifiant `admission_23_0`, centre `2096 -160`, graine d’île `-6422943410799146666`. Cette taille est distincte des réservations de 512 et 1 024 blocs mesurées plus haut. La première demande est réservée en 1 034 ms sous le délai de 30 secondes. La préparation prend 94 780 ms ; le journal `build/alpha23.1-admission.log` confirme **418 chunks FULL** lorsque l’expansion devient prête. Le runner complet termine avec un code de sortie nul en 160,01 secondes. Un portail en ruine natif est effectivement généré au départ de chunk `131 -10`. Le contrôle vérifie la couverture complète du recensement, la présence de ce départ natif, le journal durable et l’idempotence avant et après la préparation. Le profil capturé pour cette réservation reste vide ; après génération, le recensement propose douze familles prioritaires pour les recherches suivantes, sans réécrire le profil de l’île déjà créée. Le reçu indique `reserve_only: false`, `census_verified: true`, `idempotent: true` et `passed: true`. Ce terrain distant ne nécessite pas de certificat de réutilisation de chunks du vide. `admission-reload.json` confirme la réouverture réussie dans le processus 11614, distinct du processus 11335 de création, en 56,07 secondes de runner. L’île est immédiatement retrouvée à l’état `ready`, sans nouvel appel de création (`create_called: false`) ni redémarrage de sa préparation. Le test retrouve le journal à l’identique, le descripteur et son profil, le départ natif et ses références, ainsi que le recensement. La preuve reste limitée à ce cycle tempéré naturel de 256 blocs ; les grandes réservations ne deviennent pas pour autant des témoins FULL. ### Catalogue et structures natives en FULL `build/alpha231-evidence/native-create.json` atteste la réussite de la création native, processus 10548 : **206 chunks FULL contrôlés**, sur cinq témoins de structures. La dernière entrée `native-create` de `postchecks.json` possède un code de sortie nul, en 232,40 secondes de runner. Les assertions sont dans [Native23WorldGameTests](../mods/sanctuary/src/gametest/java/fr/koka/sanctuary/gametest/Native23WorldGameTests.java). Les témoins utilisent des îles et des priorités choisies pour exercer ces structures ; ils ne constituent pas une mesure de leur fréquence naturelle. Le catalogue contient exactement les **52 identifiants distincts** du registre Minecraft 26.3-pre-2. Parmi eux, 46 sont classés admissibles dans l’Overworld ; la cité ancienne reste réservée aux Cavernes, quatre entrées au Nether et la cité de l’End à l’End. Cette concordance du catalogue ne signifie pas que les 52 structures ont été générées en FULL dans cet essai. La vérification d’admission est rejouée avec le descripteur Lost City du témoin de réservation précédent : le quartier et le réseau souterrain existent dans le plan avant et après son insertion dans la liste des îles du générateur. Le placement natif reste accepté lorsque leurs volumes de construction sont pris en compte. Ce contrôle porte sur une ville réellement planifiée, pas sur un plan vide ; il ne valide pas encore son quartier entier en FULL. | Témoin FULL | Présences contrôlées après décoration | | --- | --- | | Forteresse (`stronghold`) | Salle de portail native, 12 cadres de portail de l’End, générateur de monstres et coffres. | | Chambres des épreuves (`trial_chambers`) | Générateurs d’épreuves et coffres-forts natifs (`vault`). | | Monument océanique | Salles immergées en prismarine, eau et trois grands gardiens chargés dans le monde ; eau de surface et roche sous le fond vérifiées au centre de l’île témoin. | | Igloo | Neige, coffre du sous-sol natif et échelles de son puits. | | Pyramide du désert | Grès, quatre coffres et neuf TNT du piège natif. | Les compteurs bruts `full_blocks` parcourent les emprises des pièces, qui peuvent se recouvrir : leurs valeurs ne forment pas un inventaire de blocs uniques. Ainsi, la valeur 91 pour `vault` n’atteste pas 91 coffres-forts distincts. Le tableau rapporte surtout les présences requises. Aucun combat, déclenchement d’épreuve, ouverture de butin ou usage du portail n’a été joué. Les départs gardent leur identité dans le registre, leur géométrie admise et leurs données après sérialisation et lecture. Le monument est adapté au fond océanique et son agencement intérieur se reconstruit avec la graine de l’île. Pour les chambres des épreuves, seule la hauteur absolue de départ est adaptée : les pools, processeurs, alias et contenus natifs restent identiques. La localisation par les tags natifs de l’œil de l’Ender et des cartes de monument, de chambres des épreuves et de pyramide trouve les vrais départs. Une sélection mélangeant plusieurs types vanilla réussit également. La recherche en lecture seule conserve les compteurs de références ; avec `skipReferenced`, seul le départ gagnant reçoit une référence supplémentaire. Ces recherches ne changent pas la liste des îles. La présence des trois grands gardiens est vérifiée après chargement effectif des entités des chunks du monument. Elle ne repose pas uniquement sur leur NBT sauvegardé. La réouverture réussit aussi : `native-reload.json`, processus 10722, contrôle de nouveau 206 chunks FULL. Les données `full_tags` des cinq départs, incluant leurs références, et les compteurs `full_blocks` sont identiques entre création et réouverture ; les trois grands gardiens sont présents après rechargement des entités. Cette preuve reste limitée aux cinq témoins retenus. ### Six profils océaniques en FULL `build/alpha231-evidence/ocean.json` atteste la réussite de la matrice océanique, processus 11735, graine de monde 0, génération 23 : **34 chunks échantillons demandés au statut FULL** pour six îles temporaires. Le runner termine en 91,39 secondes, avec un code de sortie nul. Cette sélection couvre un bassin profond, une rive et l’extérieur de chaque profil, ainsi que les chunks voisins nécessaires aux témoins de glace ; elle ne génère pas la totalité des six océans. | Diamètre | Climat | Graine d’île | Eau à Y | Fond au point témoin | Biome profond stocké | | --- | --- | ---: | ---: | ---: | --- | | 512 | Glacial | 23 042 | 220 | 176 | `minecraft:deep_frozen_ocean` | | 512 | Tempéré | 23 143 | 220 | 171 | `minecraft:deep_ocean` | | 512 | Chaud | 23 244 | 220 | 176 | `minecraft:deep_lukewarm_ocean` | | 1 024 | Glacial | 23 345 | 241 | 193 | `minecraft:deep_frozen_ocean` | | 1 024 | Tempéré | 23 446 | 241 | 195 | `minecraft:deep_ocean` | | 1 024 | Chaud | 23 547 | 241 | 198 | `minecraft:deep_lukewarm_ocean` | Chaque profil conserve 16 appuis rocheux sur 16 et 16 échantillons immergés sur 16, après décoration native. Les rives stockent `minecraft:snowy_beach` pour les deux profils glaciaux et `minecraft:beach` pour les autres. Les points extérieurs contrôlés restent entièrement dans l’air et le biome `minecraft:the_void`. Les deux profils glaciaux passent également un placement explicite des features natives d’iceberg et de glace bleue. Avec la graine de feature 23 041, les sommets de glace atteignent respectivement Y 223 et Y 244, au-dessus de leur niveau marin local. Le contexte de décoration de production fournit ce niveau au générateur et à la région, conserve la protection du fond, puis restaure le niveau global à −64. Ces placements explicites contrôlent la compatibilité des features ; ils n’attestent pas une fréquence naturelle d’icebergs dans toutes les graines. L’ancien échec `ocean-ice-failure.json` utilisait un tirage d’iceberg pouvant ne poser aucune glace dans le code vanilla. Le nouveau témoin déterministe remplace ce tirage ; `ocean.json` constitue la preuve finale de cette suite. La liste initiale des îles et les fichiers du journal sont inchangés après les essais (`journal_unchanged: true`). **La réouverture des six profils dans une autre JVM n’a pas été exécutée** ; le monument océanique dispose, lui, de la preuve de réouverture décrite plus haut. ### Fabrication et distribution `./gradlew check build` réussit en 3 min 48 s : 80 tâches, dont 73 exécutées. Ses **24 GameTests** passent en 51,12 s, avec les régressions historiques, le Blocodex, les priorités, le journal, le recensement et les protections. `./gradlew assemblePack` réussit en 3 min 45 s : 81 tâches, dont 70 exécutées. Cette seconde commande relance ses dépendances de vérification ; aucun échec. Journaux : `build/alpha23.1-check-build.log` et `build/alpha23.1-assemble-pack.log`. L’export packwiz produit `build/Sanctuary-0.1.0-alpha.23.1.mrpack`. Le contrôle des artefacts vérifie les versions, le contenu de l’index packwiz, le JAR embarqué identique au JAR construit, l’absence de classes de test dans le JAR et le bootstrap Prism officiel v0.0.3. Reçu : `build/alpha231-evidence/delivery.json`. | Artefact | SHA-256 | | --- | --- | | JAR Sanctuary alpha.23.1 | `906fd2e12be4233676a1a561556508eee7412183698c2cac704dc1191324f136` | | MRpack alpha.23.1 | `d791025721ae52a3bb7b8d385fd5930cd4fc1a2dc9a4fa255ffb72a27a2455ad` | Le MRpack est **local**, pas encore publié. Le gestionnaire d’identifiants Git ne fournit aucun accès à `git.botsu.net` ; aucune release ni mise à jour du canal n’a été effectuée. Le canal public a été relu à `0.1.0-alpha.22`. L’instance Prism existante, ses sauvegardes et ses réglages n’ont pas été modifiés. Les synchronisations réelles de l’installateur et de Prism restent à effectuer après publication. Le ZIP d’amorçage préparé pointe vers ce canal stable ; il ne constitue donc pas une installation de l’alpha.23.1 à ce stade. La matrice océanique ne possède pas de réouverture complète ; le monument océanique a son témoin de réouverture. Windows et le rendu client restent non testés. ## Reproduire les essais de secrets Utiliser uniquement un dossier de monde de développement prévu pour la création correspondante. Chaque nouvelle création doit disposer d’un monde de test neuf ; une réouverture suit sa création avec la même graine, la même taille et les mêmes options. Exécuter les JVM Gradle séquentiellement. ```sh ./gradlew :sanctuary:secrets23Smoke ./gradlew :sanctuary:runGameTest -PsanctuarySecrets23Tests=true -PsanctuaryDensityMaps=false -PsanctuaryTestSeed=42 -PsanctuaryTestDiameter=512 ./gradlew :sanctuary:runGameTest -PsanctuarySecrets23Tests=true -PsanctuaryDensityMaps=false -PsanctuaryTestSeed=42 -PsanctuaryTestDiameter=512 -PsanctuaryExpansionReload=true ``` Les tailles alternatives utilisent `724` et `1024`. Les scénarios OFF ajoutent respectivement `-PsanctuaryExperimentalStructures=false` ou `-PsanctuaryGenerateStructures=false`. Ces commandes décrivent les contrôles à exécuter ; leur présence dans le rapport n’atteste pas leur réussite. Les rapports originaux du runner sont dans `mods/sanctuary/build/run/gameTest/diagnostics/secrets23--/`.