0.0.1-alpha.5

This commit is contained in:
2026-09-28 09:50:20 +02:00
parent 8f6f072e11
commit c17b7068a3
26 changed files with 1952 additions and 23 deletions

95
history/0.0.1/alpha.5.md Normal file
View File

@@ -0,0 +1,95 @@
<!-- file: history/0.0.1/alpha.5.md -->
<!-- version: 1 -->
# 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`.
```text
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 :
```text
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 :
```text
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 :
```text
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 :
```text
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 :
```text
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.