2.5 KiB
History 0.0.1-alpha.5 — composition Actix/Maud et manifest Vite
Statut
FAIL
La gate technique de 0.0.1-alpha.5 exécutée le 2026-09-28 est propre, mais la revue opérateur relève avant clôture une non-conformité avec la convention de layout Rust souhaitée pour Knowledge : les tests unitaires sont implémentés sous src/unit_tests.rs au lieu d'une arborescence unit_tests/ séparée.
Baseline
alpha.4.fix.2 PASS a été historisé, committé et poussé avant application d'alpha.5.
history/0.0.1/alpha.4.fix.2.md = PASS
commit 8f6f072
message 0.0.1-alpha.4.fix.2
branch master
push origin/master PASS
Preuves techniques PASS
La structure alpha.5 est propre.
La baseline Web passe :
npm ci PASS
typecheck PASS
vite build PASS
Les audits Rust PGR passent sur 17 fichiers et 7 packages.
Cargo et Clippy strict passent.
Les tests workspace passent :
knowledge-domain-lib : 3 PASS
knowledge-git-api : 1 PASS
knowledge-sync-api : 1 PASS
knowledge-web-lib : 4 PASS
launchers : 0 test chacun
Le manifest Vite est valide.
Les trois smokes HTTP production passent :
knowledge-pgr-server PASS
knowledge-howtos-server PASS
knowledge-snippets-server PASS
git diff --cached --check est propre.
Défaut de gouvernance/layout
Le staging contient notamment :
crates/knowledge-web-lib/src/unit_tests.rs
et les trois crates introduites plus tôt possèdent également leur src/unit_tests.rs.
PGR 0.1.1 ne rend pas ce layout globalement obligatoire : il indique qu'un workspace MAY adopter une arborescence unit_tests/ séparée et miroir de src/.
Knowledge sélectionne maintenant explicitement cette option comme convention locale obligatoire.
La tranche ne peut donc pas être fermée PASS tant que la workspace conserve ses tests unitaires dans src/.
Décision
0.0.1-alpha.5 est FAIL.
La transition autorisée est :
0.0.1-alpha.5.fix.1
Le fix doit être global et non limité à knowledge-web-lib :
- déplacer les tests unitaires existants sous
unit_tests/; - rattacher les fichiers de tests aux modules source avec
#[cfg(test)]+#[path = "..."]; - réserver
tests/aux tests d'intégration Cargo ; - formaliser la convention dans
RULES.md; - automatiser le contrôle du layout ;
- rejouer l'intégralité des gates Rust/Web/HTTP sans changement fonctionnel.