3.2 KiB
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 :
history/0.0.1/alpha.5.md = FAIL
La version devient :
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
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 :
#[cfg(test)]
#[path = "../unit_tests/source.rs"]
mod tests;
ADD
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
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
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 :
manifests/0.0.1/alpha.5.fix.1.delete.txt
Audit ajouté
audit_rust_test_layout.py vérifie :
- absence de
#[test]soussrc/; - absence de fichiers
src/tests.rsetsrc/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 :
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.