Files
sasedev-knowledge/history/0.0.1/alpha.5.fix.1.md

64 lines
2.4 KiB
Markdown

<!-- file: history/0.0.1/alpha.5.fix.1.md -->
<!-- version: 1 -->
# 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.