0.0.1-alpha.5.fix.1
This commit is contained in:
130
deltas/0.0.1/alpha.5.fix.1.md
Normal file
130
deltas/0.0.1/alpha.5.fix.1.md
Normal file
@@ -0,0 +1,130 @@
|
||||
<!-- file: deltas/0.0.1/alpha.5.fix.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.0.1-alpha.5.fix.1 — layout séparé des tests unitaires Rust
|
||||
|
||||
## Base requise
|
||||
|
||||
État `0.0.1-alpha.5` committé et poussé après application du history :
|
||||
|
||||
```text
|
||||
history/0.0.1/alpha.5.md = FAIL
|
||||
```
|
||||
|
||||
La version devient :
|
||||
|
||||
```text
|
||||
0.0.1-alpha.5.fix.1
|
||||
```
|
||||
|
||||
## Cause
|
||||
|
||||
La gate technique d'`alpha.5` passe, y compris les tests de `knowledge-web-lib` et les smokes HTTP.
|
||||
|
||||
La revue de gouvernance opérateur relève cependant que les tests unitaires restent sous `src/unit_tests.rs`.
|
||||
|
||||
PGR `0.1.1` autorise une arborescence `unit_tests/` séparée avec la modalité `MAY`. Knowledge sélectionne désormais explicitement cette convention comme règle locale `MUST`.
|
||||
|
||||
Le défaut concerne quatre crates et doit être corrigé de manière cohérente.
|
||||
|
||||
## Arborescence cible
|
||||
|
||||
```text
|
||||
crates/<crate>/
|
||||
src/
|
||||
unit_tests/
|
||||
tests/
|
||||
```
|
||||
|
||||
- `unit_tests/` : tests unitaires attachés aux modules source par `#[path = "..."]` ;
|
||||
- `tests/` : tests d'intégration Cargo qui consomment l'API publique.
|
||||
|
||||
Exemple :
|
||||
|
||||
```rust
|
||||
#[cfg(test)]
|
||||
#[path = "../unit_tests/source.rs"]
|
||||
mod tests;
|
||||
```
|
||||
|
||||
## ADD
|
||||
|
||||
```text
|
||||
crates/knowledge-domain-lib/unit_tests/source.rs
|
||||
crates/knowledge-git-api/unit_tests/lib.rs
|
||||
crates/knowledge-sync-api/unit_tests/lib.rs
|
||||
crates/knowledge-web-lib/unit_tests/assets.rs
|
||||
crates/knowledge-web-lib/unit_tests/page.rs
|
||||
scripts/audit_rust_test_layout.py
|
||||
manifests/0.0.1/alpha.5.fix.1.delete.txt
|
||||
deltas/0.0.1/alpha.5.fix.1.md
|
||||
```
|
||||
|
||||
## REPLACE
|
||||
|
||||
```text
|
||||
VERSION
|
||||
Cargo.toml
|
||||
CHANGELOG.md
|
||||
RULES.md
|
||||
crates/knowledge-domain-lib/src/lib.rs
|
||||
crates/knowledge-domain-lib/src/source.rs
|
||||
crates/knowledge-git-api/src/lib.rs
|
||||
crates/knowledge-sync-api/src/lib.rs
|
||||
crates/knowledge-web-lib/src/lib.rs
|
||||
crates/knowledge-web-lib/src/assets.rs
|
||||
crates/knowledge-web-lib/src/page.rs
|
||||
docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
|
||||
docs/validation/001-VALIDATION_MATRIX.md
|
||||
```
|
||||
|
||||
## DELETE
|
||||
|
||||
```text
|
||||
crates/knowledge-domain-lib/src/unit_tests.rs
|
||||
crates/knowledge-git-api/src/unit_tests.rs
|
||||
crates/knowledge-sync-api/src/unit_tests.rs
|
||||
crates/knowledge-web-lib/src/unit_tests.rs
|
||||
```
|
||||
|
||||
Les suppressions sont possédées par :
|
||||
|
||||
```text
|
||||
manifests/0.0.1/alpha.5.fix.1.delete.txt
|
||||
```
|
||||
|
||||
## Audit ajouté
|
||||
|
||||
`audit_rust_test_layout.py` vérifie :
|
||||
|
||||
- absence de `#[test]` sous `src/` ;
|
||||
- absence de fichiers `src/tests.rs` et `src/unit_tests.rs` ;
|
||||
- absence de `mod unit_tests;` classique ;
|
||||
- rattachement effectif de chaque fichier sous `unit_tests/` par un `#[path = "..."]`.
|
||||
|
||||
L'audit ne traite pas `tests/` comme tests internes.
|
||||
|
||||
## Scope fonctionnel
|
||||
|
||||
Aucun comportement métier ou HTTP n'est modifié.
|
||||
|
||||
Les routes, assets, rendu Maud, manifest Vite, binds et trois launchers restent identiques à `alpha.5`.
|
||||
|
||||
## Application des suppressions
|
||||
|
||||
Après extraction du delta, appliquer exactement le manifest :
|
||||
|
||||
```bash
|
||||
while IFS= read -r path; do
|
||||
test -n "$path" || continue
|
||||
rm -f -- "$path"
|
||||
done < manifests/0.0.1/alpha.5.fix.1.delete.txt
|
||||
```
|
||||
|
||||
Ne pas supprimer d'autre chemin.
|
||||
|
||||
## Validation attendue
|
||||
|
||||
La gate doit prouver l'arborescence, les rattachements, les audits Rust, Cargo/Clippy/tests, la baseline Web et les trois smokes HTTP.
|
||||
|
||||
Ne pas committe `alpha.5.fix.1` avant production de son history à partir des résultats opérateur.
|
||||
Reference in New Issue
Block a user