Mesuré avant d'écrire : sur les 167 fichiers .rs/.md que le paquet emporte,
13 liens relatifs, dont 10 sortaient de la racine du crate et 3 pointaient
`examples/assets/`, un dossier `exclude` du manifeste. Aucun n'était un lien
mort DANS LE DEPOT — cargo test vert, cargo doc vert, et c'est chez le
téléchargeur que la cible manque. Le verrou de liens existant ne marchait que
`docs/user/**` (13.9, septième occurrence : le périmètre est l'endroit où le
défaut a été trouvé la première fois).
Verrou : les_fichiers_expedies_n_ont_aucun_lien_hors_du_paquet
(package_contract, 16 verrous), deux mâchoires — cible hors racine du crate,
et cible sous une entrée `exclude` lue dans le manifeste. Non-vacuité calibrée
sur deux bornes mesurées : 9 liens avant correction, 8 après, 0 si la marche
devient muette ; plancher 4. Limite écrite : les 8 liens restants sont tous
sous examples/, donc une marche src/ muette ne ferait pas bouger le plancher.
C'est la deuxième mâchoire qui a trouvé un énoncé faux plutôt qu'un lien :
examples/README.md présentait assets/textures/ comme « shipped » alors que D9
l'exclut — vert dans le dépôt, faux chez l'appelant. Le texte nomme maintenant
que les médias ne voyagent pas, quelles démos les lisent, et ce que répond le
chargeur (NotFound, pas un placeholder).src/README.md § 4 faisait la même
affirmation pour assets/gltf/.
Corrections : les 10 liens sont nommés plutôt que liés
(Renderer::build_gpu_descriptors plutôt qu'ARCHI_APP.md,
Renderer::record_ssao_passes plutôt qu'un draft), base de résolution =
répertoire du fichier. core/particles.rs pointait ARCHI_PARTICULES.md pour
citer un fait (Particle = 112 o) ; la valeur se relit dans Particle::SIZE.
Frontière de langue (D17) : le tri se fait par visibilité rustdoc, non par
fichier. Cliquet de la surface expédiée reposé à la mesure, chaîne consignée
au draft 16 § 22 : 2375 -> 513. Traduits dans la séance : renderer.rs,
scene.rs, batch.rs, batch_sort_tests.rs, visibility_tests.rs,
pipeline_cache.rs, lib.rs, sky.rs, texture/gpu.rs, uniform.rs, viewport.rs,
frame.rs, alloc_counter.rs, particles.rs, context.rs, geometry.rs, conf.rs,
line_point.rs, shared/sources.rs, examples/cameras/README.md — plus 21 lignes
réellement affichées par les exemples (le seul endroit où l'utilisateur voyait
du français sans le savoir) et valeur_bloom -> bloom_value.
Campagne mutate-langue.py : L1 rouge, L2 fixture rouge / cliquet vert, L3 et
L4 verts par la frontière (privé, module #[cfg(test)]). L5 (bandeau d'exemple)
est consigné NON JOUÉ : trois constructions ont échoué, la quatrième rendait
VERT sans avoir muté — la famille 13.4 / 9.4, pas un succès.
Ce qui reste ouvert, écrit : les mentions en prose d'un chemin docs/... dans
un fichier expédié ne sont pas verrouillées ; docs/user/** (31 fichiers) reste
à traduire, hors paquet donc hors cliquet.
Harnais honnête : 1020 tests, 0 échec, 0 skip, 0 doc-test ignoré, 0 diagnostic
rustdoc, 0 diagnostic sur cargo check --examples.