# History 0.0.1-alpha.5.fix.1 — layout séparé des tests unitaires Rust ## Statut FAIL La gate opérateur de `0.0.1-alpha.5.fix.1` exécutée le `2026-09-28` confirme la migration fonctionnelle des tests unitaires hors de `src/`, mais le premier contrôle d'hygiène Git échoue sur deux lignes vides terminales. ## Baseline opérateur `alpha.5` `FAIL` a été historisé, committé et poussé avant application du fix : ```text history/0.0.1/alpha.5.md = FAIL commit c17b706 message 0.0.1-alpha.5 branch master push origin/master PASS status clean après push ``` Le push observé a avancé `origin/master` de `8f6f072` à `c17b706`. ## Layout des tests Le manifest de suppression contient exactement les quatre anciens `src/unit_tests.rs`, qui sont supprimés avant la gate. La preuve structurelle passe : ```text Knowledge 0.0.1-alpha.5.fix.1 test layout: clean Rust test-layout audit: clean (7 crate(s)) ``` Les cinq fichiers unitaires résident désormais sous `unit_tests/` et leurs tests apparaissent sous les modules propriétaires (`source::tests`, `assets::tests`, `page::tests`). ## Défaut bloquant initial Le premier `git diff --check` échoue avec : ```text crates/knowledge-domain-lib/src/lib.rs:14: new blank line at EOF. crates/knowledge-web-lib/src/lib.rs:25: new blank line at EOF. ``` La tranche reste donc `FAIL`. ## Normalisation et preuves suivantes `cargo fmt --all` puis `cargo fmt --all -- --check` passent et normalisent les fins de fichiers. Les audits Rust passent sur 18 fichiers et 7 crates/packages. `cargo check`, Clippy strict et tous les tests workspace passent : 3 + 1 + 1 + 4 tests, launchers à 0 test. La baseline Web passe également : `npm ci`, typecheck et build Vite. Les warnings Sass Bootstrap et `@parcel/watcher@2.6.0` restent des observations non bloquantes déjà connues. Le transcript du fix ne contient pas le rejeu demandé des trois smokes HTTP. La preuve historique d'`alpha.5` ne remplace pas cette preuve de fix. Le `git diff --cached --check` final est propre et le staging reflète les renommages/suppressions gouvernés ainsi que les cinq fichiers `unit_tests/`. ## Décision `0.0.1-alpha.5.fix.1` est `FAIL`. La transition autorisée est `0.0.1-alpha.5.fix.2`, depuis le snapshot FAIL déjà normalisé, avec gate sans formatage mutateur préalable et trois smokes HTTP explicitement rejoués.