0.0.1-alpha.5.fix.2
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: CHANGELOG.md -->
|
<!-- file: CHANGELOG.md -->
|
||||||
<!-- version: 8 -->
|
<!-- version: 9 -->
|
||||||
|
|
||||||
# Changelog SaseDev Knowledge
|
# 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 ;
|
- 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 ;
|
- 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 ;
|
- 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 ;
|
- 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 ;
|
- 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 ;
|
- 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]]
|
[[package]]
|
||||||
name = "knowledge-domain-lib"
|
name = "knowledge-domain-lib"
|
||||||
version = "0.0.1-alpha.5.fix.1"
|
version = "0.0.1-alpha.5.fix.2"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-git-api"
|
name = "knowledge-git-api"
|
||||||
version = "0.0.1-alpha.5.fix.1"
|
version = "0.0.1-alpha.5.fix.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"knowledge-domain-lib",
|
"knowledge-domain-lib",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-howtos-server"
|
name = "knowledge-howtos-server"
|
||||||
version = "0.0.1-alpha.5.fix.1"
|
version = "0.0.1-alpha.5.fix.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"knowledge-web-lib",
|
"knowledge-web-lib",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-pgr-server"
|
name = "knowledge-pgr-server"
|
||||||
version = "0.0.1-alpha.5.fix.1"
|
version = "0.0.1-alpha.5.fix.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"knowledge-web-lib",
|
"knowledge-web-lib",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-snippets-server"
|
name = "knowledge-snippets-server"
|
||||||
version = "0.0.1-alpha.5.fix.1"
|
version = "0.0.1-alpha.5.fix.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"knowledge-web-lib",
|
"knowledge-web-lib",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-sync-api"
|
name = "knowledge-sync-api"
|
||||||
version = "0.0.1-alpha.5.fix.1"
|
version = "0.0.1-alpha.5.fix.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"knowledge-domain-lib",
|
"knowledge-domain-lib",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "knowledge-web-lib"
|
name = "knowledge-web-lib"
|
||||||
version = "0.0.1-alpha.5.fix.1"
|
version = "0.0.1-alpha.5.fix.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"actix-files",
|
"actix-files",
|
||||||
"actix-web",
|
"actix-web",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# file: Cargo.toml
|
# file: Cargo.toml
|
||||||
# version: 10
|
# version: 11
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "3"
|
resolver = "3"
|
||||||
@@ -14,7 +14,7 @@ members = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.0.1-alpha.5.fix.1"
|
version = "0.0.1-alpha.5.fix.2"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
publish = false
|
publish = false
|
||||||
repository = "https://git.sasedev.com/Sasedev/sasedev-knowledge"
|
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 -->
|
<!-- file: docs/plans/001-V0_0_1_FOUNDATION_PLAN.md -->
|
||||||
<!-- version: 12 -->
|
<!-- version: 13 -->
|
||||||
|
|
||||||
# Plan 0.0.1 — fondation SaseDev Knowledge
|
# 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 ;
|
- 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/`.
|
- 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
|
### 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.
|
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 -->
|
<!-- file: docs/validation/001-VALIDATION_MATRIX.md -->
|
||||||
<!-- version: 12 -->
|
<!-- version: 13 -->
|
||||||
|
|
||||||
# Matrice de validation Knowledge
|
# Matrice de validation Knowledge
|
||||||
|
|
||||||
@@ -363,3 +363,21 @@ Le fix de layout des tests doit prouver :
|
|||||||
- smoke HTTP production des trois serveurs `PASS` ;
|
- smoke HTTP production des trois serveurs `PASS` ;
|
||||||
- aucune modification fonctionnelle Actix/Maud/Vite au-delà du rattachement des tests ;
|
- aucune modification fonctionnelle Actix/Maud/Vite au-delà du rattachement des tests ;
|
||||||
- `git diff --cached --check` propre.
|
- `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