Mesure d'ouverture : `cargo check --workspace --all-targets` avec les features du
harnais rendait **124 avertissements**. Mesure de fermeture : **0**. Le harnais
honnête passe de 1015 à **1016 tests, 0 échec, 0 skip, 0 doc-test ignoré, 0
diagnostic rustdoc, 0 diagnostic sur les exemples**.
Ce que le bruit cachait, dans l'ordre de coût :
1. **Deux tests n'étaient pas des tests.** `log_depth_helpers_are_identical_across_shaders`
(`lib/tests/wgsl_validate.rs`) et
`f11_gpu_radix_sort_is_unstable_only_when_buckets_collide` (`lib/src/core/particles.rs`)
étaient des fonctions en forme de test **sans `#[test]`** — donc jamais exécutées, alors
qu'`AGENTS.md` cite la première comme garante de l'identité des quatre copies du helper
`log_depth_encode`. Cause mesurée de la première : un doc-comment **détaché** de sa
signature (6.36 rejoué) — le `#[test]` qui le suivait s'était collé sur la fonction
d'à côté. Les deux tests, une fois attribués, **passent** : la garantie est vraie,
mais elle n'était pas tenue.
2. **Et le total comptait un test deux fois.** L'attribut `#[test]` dupliqué faisait
enregistrer `normal_matrix_helpers_are_identical_across_shaders` **deux fois** dans la
liste du harnais (vérifié par `-- --list` : 49 avant, 49 après — un vrai gagné, un
doublon retiré). Un total qui a l'air complet (13.1), version enregistrement du harness.
3. **`state_and_link` n'était pas un fossile : c'est l'auxiliaire partagé que personne
n'appelait.** `roadmap_consistency` refaisait la coupe de la cinquième cellule à la main
(`split(LINK_MARKER).next()`), exactement le gotcha 6.7 qu'`shared/falsifiable.rs` existe
pour empêcher. La coupe est devenue `shared::etat`, câblée sur son unique lecteur.
4. **Six `Result` jetés dans des verrous.** `add_material`, `set_batch_sort_depth`,
`set_material_color` : ignorés, ils laissaient un verrou mesurer une scène amputée de sa
jambe (13.9 — un verrou qui jette une valeur est un décor). Chacun porte désormais un
`expect` qui nomme ce que le refus détruirait de la mesure.
5. **`glam` : remplacement mesuré, pas supposé.** `look_at_rh` ≡
`camera::rh::view::look_at_mat4` à **0 bit près** sur cinq configurations ;
`perspective_rh` vs `camera::rh::proj::directx::perspective` garde la même convention
(`ndc.z(near)=0`, `ndc.z(far)=1`) mais diffère de **1,19e-7** (arrondi, pas formule) —
chiffre consigné au site d'appel plutôt que présenté comme une égalité.
6. **Fossiles retirés** (`luma`, `horizon_row` locaux, variante `PbrDim` jamais construite,
compteur `vus` écrit et jamais lu), **items publics documentés** (`alloc_counter`,
`geometry::count`, `testutil::ground_bands`), **nom de test remis en snake_case** (`D7`
→ `d7`, prose alignée au même endroit), **sonde consommatrice** : le geste du
constructeur est posé dans le **binaire** et confronté à l'écriture par composantes via
`entity_transform` (API relue, pas devinée).
Limite consignée plutôt que cachée : l'assertion ajoutée dans `Sonde::setup` ne s'exécute
que si une fenêtre s'ouvre — la voie fenêtre n'est traversée par aucun test headless
(12.15). Ce qui est exécuté par le harnais reste `le_constructeur_rend_la_meme_matrice_que_les_composantes`.