0.0.1-alpha.5.fix.2
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: CHANGELOG.md -->
|
||||
<!-- version: 8 -->
|
||||
<!-- version: 9 -->
|
||||
|
||||
# Changelog SaseDev Knowledge
|
||||
|
||||
@@ -18,6 +18,7 @@ Ce fichier décrit les changements utiles des releases publiées. Les détails d
|
||||
- introduit les premiers contrats provider-neutral de source, Git et synchronisation sans dépendance à une forge ni à PostgreSQL ;
|
||||
- active les audits Rust PGR de structure et de façade au moment où des API publiques réelles apparaissent ;
|
||||
- sélectionne localement `unit_tests/` hors de `src/` pour tous les tests unitaires Rust, avec `tests/` réservé aux tests d'intégration Cargo ;
|
||||
- clôture la migration du layout de tests après normalisation rustfmt des deux `lib.rs` ayant fait échouer le premier `git diff --check` du fix précédent ;
|
||||
- fixe le frontend Web PGR comme laboratoire de validation des templates statiques et des assets avant adaptation du markup runtime en Maud ;
|
||||
- matérialise ce laboratoire sous `Web/knowledge-template-lab/` avec npm, TypeScript strict, Vite, Sass, Bootstrap et manifest Vite ;
|
||||
- retient l’intégration production Actix/Maud via le manifest Vite comme contrat d’asset mapping à réimplémenter proprement, sans copier mécaniquement le corpus historique ;
|
||||
|
||||
14
Cargo.lock
generated
14
Cargo.lock
generated
@@ -475,46 +475,46 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
|
||||
|
||||
[[package]]
|
||||
name = "knowledge-domain-lib"
|
||||
version = "0.0.1-alpha.5.fix.1"
|
||||
version = "0.0.1-alpha.5.fix.2"
|
||||
|
||||
[[package]]
|
||||
name = "knowledge-git-api"
|
||||
version = "0.0.1-alpha.5.fix.1"
|
||||
version = "0.0.1-alpha.5.fix.2"
|
||||
dependencies = [
|
||||
"knowledge-domain-lib",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "knowledge-howtos-server"
|
||||
version = "0.0.1-alpha.5.fix.1"
|
||||
version = "0.0.1-alpha.5.fix.2"
|
||||
dependencies = [
|
||||
"knowledge-web-lib",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "knowledge-pgr-server"
|
||||
version = "0.0.1-alpha.5.fix.1"
|
||||
version = "0.0.1-alpha.5.fix.2"
|
||||
dependencies = [
|
||||
"knowledge-web-lib",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "knowledge-snippets-server"
|
||||
version = "0.0.1-alpha.5.fix.1"
|
||||
version = "0.0.1-alpha.5.fix.2"
|
||||
dependencies = [
|
||||
"knowledge-web-lib",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "knowledge-sync-api"
|
||||
version = "0.0.1-alpha.5.fix.1"
|
||||
version = "0.0.1-alpha.5.fix.2"
|
||||
dependencies = [
|
||||
"knowledge-domain-lib",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "knowledge-web-lib"
|
||||
version = "0.0.1-alpha.5.fix.1"
|
||||
version = "0.0.1-alpha.5.fix.2"
|
||||
dependencies = [
|
||||
"actix-files",
|
||||
"actix-web",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# file: Cargo.toml
|
||||
# version: 10
|
||||
# version: 11
|
||||
|
||||
[workspace]
|
||||
resolver = "3"
|
||||
@@ -14,7 +14,7 @@ members = [
|
||||
]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.0.1-alpha.5.fix.1"
|
||||
version = "0.0.1-alpha.5.fix.2"
|
||||
edition = "2024"
|
||||
publish = false
|
||||
repository = "https://git.sasedev.com/Sasedev/sasedev-knowledge"
|
||||
|
||||
61
deltas/0.0.1/alpha.5.fix.2.md
Normal file
61
deltas/0.0.1/alpha.5.fix.2.md
Normal file
@@ -0,0 +1,61 @@
|
||||
<!-- file: deltas/0.0.1/alpha.5.fix.2.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.0.1-alpha.5.fix.2 — clôture du layout de tests Rust
|
||||
|
||||
## Base requise
|
||||
|
||||
État `0.0.1-alpha.5.fix.1` committé et poussé après application du history :
|
||||
|
||||
```text
|
||||
history/0.0.1/alpha.5.fix.1.md = FAIL
|
||||
```
|
||||
|
||||
La version devient :
|
||||
|
||||
```text
|
||||
0.0.1-alpha.5.fix.2
|
||||
```
|
||||
|
||||
## Cause
|
||||
|
||||
`alpha.5.fix.1` réalise correctement la migration des tests unitaires : quatre anciens `src/unit_tests.rs` supprimés, cinq fichiers sous `unit_tests/` présents, audit de layout `PASS`, Cargo/Clippy/tests `PASS` et baseline Web `PASS`.
|
||||
|
||||
La tranche reste néanmoins `FAIL` car son premier `git diff --check` signale :
|
||||
|
||||
```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.
|
||||
```
|
||||
|
||||
`cargo fmt --all` exécuté ensuite normalise ces fichiers et le `git diff --cached --check` final est propre. Le smoke HTTP demandé pour le fix n'apparaît pas dans le transcript opérateur.
|
||||
|
||||
## Nature du fix
|
||||
|
||||
Le snapshot `alpha.5.fix.1` committé après son history contient déjà la normalisation rustfmt observée pendant la gate. `alpha.5.fix.2` ne remplace donc pas artificiellement les deux `lib.rs`. Il avance la version, documente le statut réel du fix précédent et rejoue toutes les preuves sans formatage mutateur préalable, avec les trois smokes HTTP obligatoires.
|
||||
|
||||
## Fichiers remplacés
|
||||
|
||||
```text
|
||||
VERSION
|
||||
Cargo.toml
|
||||
CHANGELOG.md
|
||||
docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
|
||||
docs/validation/001-VALIDATION_MATRIX.md
|
||||
```
|
||||
|
||||
## Fichier ajouté
|
||||
|
||||
```text
|
||||
deltas/0.0.1/alpha.5.fix.2.md
|
||||
```
|
||||
|
||||
Aucun fichier n'est supprimé. Aucun contrat, route, rendu Maud, comportement Vite, dépendance Web ou layout de tests supplémentaire n'est modifié.
|
||||
|
||||
Le bump Cargo peut mettre à jour `Cargo.lock`; toute modification réelle reste versionnée.
|
||||
|
||||
## Validation attendue
|
||||
|
||||
La gate commence par `git diff --check`, puis `cargo fmt --all -- --check` sans `cargo fmt --all` préalable. Elle rejoue ensuite audits Rust, Cargo/Clippy/tests, baseline Web, manifest et trois smokes HTTP.
|
||||
|
||||
Ne pas committe `alpha.5.fix.2` avant production de son history à partir des résultats opérateur.
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/001-V0_0_1_FOUNDATION_PLAN.md -->
|
||||
<!-- version: 12 -->
|
||||
<!-- version: 13 -->
|
||||
|
||||
# Plan 0.0.1 — fondation SaseDev Knowledge
|
||||
|
||||
@@ -215,6 +215,10 @@ Le défaut existait déjà dans les trois crates antérieures et est également
|
||||
- conserve `tests/` pour les tests d'intégration Cargo uniquement ;
|
||||
- ajoute un audit monotâche empêchant le retour de `#[test]` ou de fichiers `unit_tests.rs` sous `src/`.
|
||||
|
||||
La gate opérateur d'`alpha.5.fix.1` reste **FAIL** : le premier `git diff --check` détecte une ligne vide supplémentaire en fin de `crates/knowledge-domain-lib/src/lib.rs` et de `crates/knowledge-web-lib/src/lib.rs`. `cargo fmt` normalise ensuite ces deux fichiers et la totalité des audits/tests Rust ainsi que la baseline Web passent. Le smoke HTTP demandé n'est pas rejoué dans le transcript du fix.
|
||||
|
||||
Le snapshot `alpha.5.fix.1` committé après history contient donc déjà la normalisation rustfmt observée. `alpha.5.fix.2` ne réécrit pas artificiellement les deux `lib.rs` : il avance la tranche, documente le défaut et rejoue la gate sans exécuter de formatage mutateur avant `cargo fmt --check`. Les trois smokes HTTP sont de nouveau obligatoires.
|
||||
|
||||
### beta.1 — réconciliation de fondation
|
||||
|
||||
Rejouer les gates pertinentes, réconcilier docs/architecture avec ce qui existe réellement, traiter les décisions devenues nécessaires et effectuer la revue d'horizon.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/001-VALIDATION_MATRIX.md -->
|
||||
<!-- version: 12 -->
|
||||
<!-- version: 13 -->
|
||||
|
||||
# Matrice de validation Knowledge
|
||||
|
||||
@@ -363,3 +363,21 @@ Le fix de layout des tests doit prouver :
|
||||
- smoke HTTP production des trois serveurs `PASS` ;
|
||||
- aucune modification fonctionnelle Actix/Maud/Vite au-delà du rattachement des tests ;
|
||||
- `git diff --cached --check` propre.
|
||||
|
||||
## Gate de `0.0.1-alpha.5.fix.2`
|
||||
|
||||
Le second fix de clôture doit prouver :
|
||||
|
||||
- `VERSION = 0.0.1-alpha.5.fix.2` et version workspace identique ;
|
||||
- history `alpha.5.fix.1` `FAIL` committé avant application ;
|
||||
- `git diff --check` `PASS` immédiatement après application, avant toute commande de formatage ;
|
||||
- `cargo fmt --all -- --check` `PASS` sans exécution préalable de `cargo fmt --all`, afin de prouver que le snapshot livré est déjà formaté ;
|
||||
- les quatre anciens `src/unit_tests.rs` restent absents ;
|
||||
- les cinq fichiers sous `unit_tests/` restent présents et rattachés par `#[path = "..."]` ;
|
||||
- `audit_rust_test_layout.py` et les audits Rust PGR existants `PASS` ;
|
||||
- `cargo check`, Clippy strict et `cargo test --workspace --all-targets --all-features` `PASS` ;
|
||||
- `npm ci`, `npm run typecheck` et `npm run build` `PASS` ;
|
||||
- manifest Vite `PASS` ;
|
||||
- smoke HTTP de `knowledge-pgr-server`, `knowledge-howtos-server` et `knowledge-snippets-server` `PASS` ;
|
||||
- aucune modification fonctionnelle du runtime Actix/Maud/Vite ;
|
||||
- `git diff --cached --check` propre.
|
||||
|
||||
168
history/0.0.1/alpha.5.fix.2.md
Normal file
168
history/0.0.1/alpha.5.fix.2.md
Normal file
@@ -0,0 +1,168 @@
|
||||
<!-- file: history/0.0.1/alpha.5.fix.2.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# History 0.0.1-alpha.5.fix.2 — clôture du layout de tests Rust
|
||||
|
||||
## Statut
|
||||
|
||||
PASS
|
||||
|
||||
La gate opérateur de `0.0.1-alpha.5.fix.2` exécutée le `2026-09-28` est propre.
|
||||
|
||||
## Baseline opérateur
|
||||
|
||||
`alpha.5.fix.1` `FAIL` a été historisé, committé et poussé avant application du second fix :
|
||||
|
||||
```text
|
||||
history/0.0.1/alpha.5.fix.1.md = FAIL
|
||||
commit a1b56af
|
||||
message 0.0.1-alpha.5.fix.1
|
||||
branch master
|
||||
push origin/master PASS
|
||||
status clean après push
|
||||
```
|
||||
|
||||
Le push observé a avancé `origin/master` de `c17b706` à `a1b56af`.
|
||||
|
||||
## Snapshot propre avant mutation
|
||||
|
||||
Les premiers contrôles passent immédiatement après application du delta :
|
||||
|
||||
```text
|
||||
VERSION = 0.0.1-alpha.5.fix.2
|
||||
git diff --check PASS
|
||||
cargo fmt --all -- --check PASS
|
||||
```
|
||||
|
||||
Aucun `cargo fmt --all` mutateur n'est exécuté avant cette preuve.
|
||||
|
||||
## Layout des tests
|
||||
|
||||
La vérification structurelle passe :
|
||||
|
||||
```text
|
||||
Knowledge 0.0.1-alpha.5.fix.2 layout audit: clean
|
||||
Rust test-layout audit: clean (7 crate(s))
|
||||
```
|
||||
|
||||
Les quatre anciens `src/unit_tests.rs` restent absents et les cinq fichiers `unit_tests/` restent présents.
|
||||
|
||||
Aucun `#[test]` ni `mod unit_tests;` classique n'est observé sous `src/`.
|
||||
|
||||
## Audits Rust
|
||||
|
||||
Les audits sélectionnés passent :
|
||||
|
||||
```text
|
||||
Rust blank-line audit: clean (18 file(s))
|
||||
Rust item-spacing audit: clean (18 file(s))
|
||||
Rust module-order audit: clean (18 file(s))
|
||||
Rust trait-import-block audit: clean (18 file(s))
|
||||
Rust re-export-block audit: clean (18 file(s))
|
||||
Rust export completeness audit: 0 candidate(s) across 7 package(s)
|
||||
```
|
||||
|
||||
## Cargo, Clippy et tests
|
||||
|
||||
Les sept packages compilent en version `0.0.1-alpha.5.fix.2`.
|
||||
|
||||
```text
|
||||
cargo check --workspace PASS
|
||||
cargo clippy --workspace --all-targets --all-features
|
||||
-- -D warnings PASS
|
||||
cargo test --workspace --all-targets --all-features PASS
|
||||
```
|
||||
|
||||
Tests observés :
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
Les noms de tests confirment les rattachements hors `src/` :
|
||||
|
||||
```text
|
||||
source::tests::...
|
||||
assets::tests::...
|
||||
page::tests::...
|
||||
```
|
||||
|
||||
## Baseline Web
|
||||
|
||||
Les commandes suivantes passent :
|
||||
|
||||
```text
|
||||
npm ci
|
||||
npm run typecheck
|
||||
npm run build
|
||||
```
|
||||
|
||||
npm observe toujours `@parcel/watcher@2.6.0` comme package possédant un script d'installation non approuvé. Aucune approbation automatique n'est effectuée.
|
||||
|
||||
Les warnings Sass issus de Bootstrap restent non bloquants.
|
||||
|
||||
## Manifest Vite
|
||||
|
||||
L'audit passe :
|
||||
|
||||
```text
|
||||
Knowledge 0.0.1-alpha.5.fix.2 Vite manifest audit: clean
|
||||
```
|
||||
|
||||
avec :
|
||||
|
||||
```text
|
||||
JS assets/assets/main-BMHcm6u9.js
|
||||
CSS assets/main-V0IwlRbh.css
|
||||
```
|
||||
|
||||
## Smokes HTTP
|
||||
|
||||
Les trois launchers passent la gate production/manifest :
|
||||
|
||||
```text
|
||||
knowledge-pgr-server smoke PASS
|
||||
knowledge-howtos-server smoke PASS
|
||||
knowledge-snippets-server smoke PASS
|
||||
Knowledge 0.0.1-alpha.5.fix.2 HTTP smoke: clean
|
||||
```
|
||||
|
||||
Chaque smoke vérifie `/healthz`, le rendu de `/`, les références JavaScript/CSS issues du manifest et le service effectif des assets hashés.
|
||||
|
||||
## Hygiène Git
|
||||
|
||||
Le contrôle final passe :
|
||||
|
||||
```text
|
||||
git diff --cached --check = PASS
|
||||
```
|
||||
|
||||
Le staging observé avant ajout du présent history est :
|
||||
|
||||
```text
|
||||
M CHANGELOG.md
|
||||
M Cargo.lock
|
||||
M Cargo.toml
|
||||
M VERSION
|
||||
A deltas/0.0.1/alpha.5.fix.2.md
|
||||
M docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
|
||||
M docs/validation/001-VALIDATION_MATRIX.md
|
||||
```
|
||||
|
||||
## Décision
|
||||
|
||||
`0.0.1-alpha.5.fix.2` est `PASS`.
|
||||
|
||||
La phase alpha de la fondation est close.
|
||||
|
||||
La transition autorisée est :
|
||||
|
||||
```text
|
||||
0.0.1-beta.1
|
||||
```
|
||||
|
||||
`beta.1` est une tranche de réconciliation et de revue d'horizon. Elle ne doit pas introduire de nouvelle grande fonctionnalité.
|
||||
Reference in New Issue
Block a user